Wednesday, March 24, 2010

Fundamentals of WPF -1

User Interface is evolved from dos based interface to windows based and now microsoft has introduced the new user interface developement methodology which is called as WPF.

Until introduction of WPF, We have application in which we primarily considered the functional aspect while the user experience takes the backseat, but now with the invention of WPF we can create rich user experience in our application. Rich user experience does not mean you load lot of bulky graphics on the user interface but it does mean that user interface you design should be user friendly so that user should be more than satisfied interacting with user interface. With the help of WPF separation of designing and developing of user interface can be easily achieved. WPF integrates application UIs, 2D graphics, 3D graphics, documents and multimedia into one single unit. Its vector based rendering engine uses hardware acceleration of modern graphic cards. This makes the UI faster, scalable and resolution independent.

There are four tools available for designer to develop the UI. These tools does have more graphics development support than Microsoft visual studio.

This tool suite is called Microsoft Expression. It consists of the four products:

Expression Blend is built to create user interfaces in WPF and Silverlight. It builds the bridge between designer and developers. VisualStudio solutions can be open from this.
Expression Design is a lightweight version of Adobe Illustrator to create and edit vector graphics.
Expression Media is built to encode, cut and enrich video files and optimize them for silverlight streaming
Expression Web is Microsoft next generation of HTML and Javascript editor.

Development method of WPF consist of following steps


1)Requirement Analysis
In this step business analyst takes the requirement and does the analysis to prepare use case and scenarios it is the iterative process between analyst and user which will clear exact need of the user.
2)Creation of prototype
From the use cases and scenarios one can develop raw prototype again this is also iterative process as designer , analyst and user is involved in this. Prototypes can be developed on paper, with MS Visio , with expression blend – sketch flow , or real application with dummy data
3)Implementation of business logic
In this step business logic implementation has been done by the developers
4)Integration
In this step integration of business logic with the user interface has been done.
5)Test
This step is a final testing phase in which testers will do testing to test all aspect of the application.

WPF separates appearance of application with its behavior. Appearance is completely defined in the XAML(Extendable markup language) and behaviors implemented using various languages like C# and visual basic. Appearance and behavior relates each other by events and command. Like HTML Graphical design tool can be managed with simple XAML instead of compiling a code. WPF controls are highly composable. It is XAML file so we can compose it easily. We can define almost any type of controls as content of another.