MULTIMEDIA

Introducing WPF

7/25/2010 5:11:04 PM
I_section1_d1e427.html
WPF

Some time ago, the folks at Microsoft sat down and designed the next generation of UI technology for the Vista operating system. The system would be vector-based and use XML. The final system is called Windows Presentation Foundation (WPF).

WPF is an integral part of all .NET Framework versions beginning with version 3.0, which is installed by default on Windows Vista and is an additional download for Windows XP and Windows 2003. Other parts of .NET 3.0 include:


WCF (Windows Communication Foundation)

Communication subsystem


WCS (Windows CardSpace)

Digital identity subsystem


WF (Windows Workflow Foundation)

Workflow subsystem

WPF applications either run in the browser or as standalone desktop applications. Both scenarios require that .NET Framework 3.0 or higher is available. Currently, most WPF applications are standalone because Vista does not have a high market penetration, limiting the number of PCs on which WPF can run, and because .NET 3.0 is a sizeable download. This is a key reason for why Microsoft created Silverlight, a similar technology targeted at the browser world. Let's take a closer look at WP more background information.

The main focus of WPF is in vector graphics, but pixelated graphics are supported as well. WPF also supports multimedia content in forms of audio and video data. One of the highlight features is the support for text, which includes some typographical specialties such as justified text, kerning, and ligatures.

It is certainly no surprise that most WPF coding is done using .NET languages such as C# and Visual Basic. The .NET Framework—or to be exact, the CLR (Common Language Runtime)—defines every possible type of element in a WPF application and enables a good development experience in Visual Studio (think IntelliSense) and rapid prototyping.

Already, several WPF prototype applications, including several "virtual newspapers," are available that showcase text flow, such as the Forbes.com reader (see Figure 1; download it at http://www.forbes.com/partners/microsoft/newsreader/). The next version of Yahoo! Messenger will also feature a slick WPF interface.

Vector Graphics and XML

There were (and still are) several other projects trying to create vector graphics (and maybe some animation or business logic support) using XML. One of the oldest is the World Wide Web Consortium's (W3C) Scalable Vector Graphics (SVG). SVG graphics are created using XML, support scripting, and are supported by most modern browsers except Internet Explorer. However, SVG has not reached mainstream market penetration yet, so it is successful only in some niche markets, including mobile phones and cartography.

Another related approach comes from Adobe. Flex uses yet another XML dialect (called MXML) to dynamically create Flash content.


Figure 1. The Forbes newsreader uses WPF


Other  
 
Top 10
-  Microsoft ASP.NET 4 : Using the SqlProfileProvider (part 4) - The Profile API, Anonymous Profiles
-  Microsoft ASP.NET 4 : Using the SqlProfileProvider (part 3) - Profiles and Custom Data Types
-  Microsoft ASP.NET 4 : Using the SqlProfileProvider (part 2) - Using Profile Properties,Profile Serialization
-  Microsoft ASP.NET 4 : Using the SqlProfileProvider (part 1) - The Profile Databases, Defining Profile Properties
-  Microsoft ASP.NET 4 : Profiles - Understanding Profiles
-  Using SQL Server 2005 Integration Services : Programming Integration Services (part 4) - Connecting the Source and Destination Adapters with a Path
-  Using SQL Server 2005 Integration Services : Programming Integration Services (part 3) - Setting Up Column Information
-  Using SQL Server 2005 Integration Services : Programming Integration Services (part 2)
-  Using SQL Server 2005 Integration Services : Programming Integration Services (part 1) - Creating Packages Programmatically - Data Flow
-  Silverlight Recipes : Creating Application Services
Most View
-  Managing and Administering SharePoint 2010 Infrastructure : Using Additional Administration Tools for SharePoint
-  Binding Application Data to the UI objects in Silverlight
-  iPhone Application Development : Getting the User’s Attention - Generating Alerts
-  Understanding and Using Windows Server 2008 R2 UNIX Integration Components (part 2)
-  iPhone Application Development : Creating and Managing Image Animations and Sliders (part 3) - Finishing the Interface
-  Cisco Linksys X3000 - The Link to Connectivity
-  HP LaserJet Pro CM1415fnw - Print from The Clouds
-  Building Your First Windows Phone 7 Application (part 2) - Using Your First Windows Phone Silverlight Controls
-  Determine Your Need for Server Core
-  Mobile Application Security : Bluetooth Security - Overview of the Technology
-  Using System Support Tools in Vista
-  Windows 7 : Using Windows Live Calendar (part 3) - Scheduling Appointments and Meetings & Viewing Agendas and Creating To-Do Lists
-  Advanced ASP.NET : The Entity Framework (part 3) - Handling Errors & Navigating Relationships
-  Graham Barlow: the Apple view
-  Ipad : Presentations with Keynote - Adding Transitions (part 2) - Object Transitions
-  Windows Server 2003 : Troubleshooting Group Policy
-  Microsoft XNA Game Studio 3.0 : Controlling Color (part 2)
-  Building the WinPE Image
-  Programming the Mobile Web : HTML 5 (part 3) - Offline Operation
-  Windows Phone 7 Development : Using Culture Settings with ToString to Display Dates, Times, and Text