Introduction to WinFx (.NET Framework 3.0)
I am writing this article to give you almost all the needed information about the WinFx (.Net framework 3.0). I inspired to write this article is just because I feel that on the internet all the information are scattered every where and it was quite tough for me to collect the information and tools to proceed with the new era of software development. And I am also sure that now it won’t that much easy for us to move from .net2 to WinFx as we could move from .0 to .1 to .2 frameworks. I tried to write this article by my own words so that it would be easy to understand and addressing the proper direction as all the developers is needed. I am sure that once you gone through this document, you will have much comfort to learn and start up for .net 3.0.
Addressing the Needs of Technology
Before you go through this article, I would like to ask you some of the questions that were arising in my mind when i was exploring the WinFx. Please keep all this questions in your mind and then proceed further in this article.
- The first thing I would like to ask you is about How many time you feel that the windows application development and Web development is totally different in terms of creating the UI for both.
- Have you ever thought that the Windows application can have same look and feel that we can give with the help of Html in web sites. How much flexibility your designer could have to prepare the GUI in Photoshop for the Windows Form.
- How many communication methods you know and how many of them you had tried to implement by analyzing the requirements of software. Let me say that you might know XML web services, Remorting, MSMQ... and hardly tried to implement all this of them and hardly analyze the requirement to choose the right one from those methods.
- How many times you had to deal with the very very complex Business logic in your application and how many time you need to debug your code to ensure that the data manipulated by your code is the right one. This could be the case when you are implementing the ERP system. Whenever you had tried to implement that complex code, how dose your code looks likeJ, and how many of your team members can understand without your help.
- How do you represent your code to your customer, your team members, and your Project leader with 99% of identical documents so all of them can easily understand whatever you have done in that? I am sure, that could never be possible, can be?
- How many types of Software application you know? Let me say that you might be knowing, Standard Windows application, Web sites, Smart client application and Windows CE. Is there any new type of application that customer can or even already demand?
Once you find out the answer of all this questions, you will find nothing but the new technology from Microsoft named WinFx which is nothing but the code name of .NET Framework
Ok, so now we have a vision that why we need some evolution for better intelligent and automated development environment. Let me explain in very very brief about the WinFx technology just as an introductory part of it. I have given a link from where you can find detail information for those particular topics
You can find interesting White paper on WinFx from
Evolution and Introduction
There are so many basic needs which inspire Microsoft to release .net frameworks. But let me point one direction so that I can better explain you framework 3.0.
.NET Frameworks are running as an intermediate Layer between your applications developed using .net and Operating system. And so it’s of course considered as a Managed Code and that reduce the Risk for crashing an application. CLR is taking the responsibility to manage your code and manage the resource your application is using. And if we move to the future, .net Framework 3.0 is waiting for us
Just in brief, .NET 3 (WinFx) is wrapper on .net 2.0 with some unbelievable features that make me to jump on my deskJ. The wrappers are again divided into four corner of Boxes.
1. WPF (Windows Presentation Foundation).
New era for Windows Desktop Application UI designing. Following are some of the main features
- Now onwards there are no WinForm Controls that we are using till .NET 2.0. Everything is XML. Whatever you write will be the XML for the desigining. Officially Microsoft gives its name XAML
- Because of this XML everything you can do in Html pages will now possible in Winform design also
- Cascading Style like web is possible in Winform also
- Designer draw the screen in Photoshop just like they where doing for web page. And then you can do the same step as you were doing to convert that layout in html
- Provides new type of application known as "WPF Browser based application", which can run in Internet Explorer just like the ActiveX and Applets are running
- 3D modeling.
- Animation like GIF file can be possible for the windows form.
WPF Architecures and functionality
WPF for beginners
Find the features in detail for WPF
First Hands on lab
2. WCF (Windows Communication Foundation)
New era for Communication methods for the Distributed application development and Grid Computing with much flexibility that we never have before. This is something they are calling Service Oriented Application Architecture.
- Web service, WSE, Remorting, MSMQ... all of this is now a mapped in single API
- Easy to deploy and integration with Application.
- XML web service access speed will no more issue with the help of WCF.
Learning WCF (Architecture and Foundation)
Introduction of Developing WCF
3. WF (Windows Workflow Foundation)
This is really really very cool features that Microsoft comes up with .net 3.0. With the help of this foundation you can implement any complex Business logic which you could not even think for it. Just within a few hours you can implement few weeks of work. The features are
- Draw the Flow chart and the coding part will be written automatically. Of course you have to feed some line of code
- Represent your logic on document which is actually the code you implement
- No more syntax and commenting for Code, because your logic is in form of Flow charts
- Maintain the State of Object (Application Objects) with the Help of State Chart. Draw the state diagram for your Object and it will reach exactly in the state as per you have drawn with in IDE
- I could not believe on my eyes when I saw the demonstration of Parallel Computing and Multi threading application development. Just to draw the flow chart with some parallel Flow in sequence, that’s all to do. Not to think anything for the thread and multi process management
Understanding Components in WF
4.Windows Info Card: I didn’t understand anything about this. If any one of you can understand please inform me
How to Start for WinFx (Tools and Resources
I researched and find the proper tools so that you don’t have to research again to start up with ,net 3.0. It was hard time for me to organized all this information in proper direction
1. Visual Studio 2005 is the tool for WinFx development. So nothing to worry about new tool
2. Install and download, net 3.0 frameworks. But with this installation, your 2005 IDE will not allow you to create the WinFx applications
3. For the WPF development (Windows Form Design based on WinFx) install the "Microsoft Visual Studio Extension for WPF". Once you install this you can create the WPF form, WPF windows application, WPF pages, WPF controls, WPF browser application (This is not web app). Also these extensions allow you to create WCF services
4. For the Workflow development, Install the "Microsoft Visual Studio Extension for Workflow Foundation". Once you install this you can Create Sequence, Sequence Services, Sequence State Diagram.
That’s all to Do. And now you can be an expert for .NET 3.0
Now there so many tools they have given for the XAML editing and WPF designing. Just like we have so many tools for the Html. Although we can do everything in VS IDE for the Html, designer will still prefer Dreamweaver for the Complex Html design. same way even though VS IDE gives everything for XAML creating and editing for the windows forms, Microsoft IDE is not proper tool for complex WinForm design like 3D modeling. Because of that Microsoft has given two tools
Using this tools you can create better XAML documents without writing any XAML syntax by your own. Create Style Sheets for Windows Form in form of Resouce Dictionary. This is exactly you can do in Dreamweaver for Html documents and Css file in form of Class Dictionary
Using this tools you can create much much complext XAML document with 3D modeling also. This can be compare as ADODB photoshope where you can craete the layout and export it as html document
There are also some third party tools are available for this designing, but i used to play with these two tools only and really amazing tools that we could not even realize before for the web application
Some of the features in Microsoft Design and Blend can only be possible in Windows Vista Environment like Glass Windows, 3D animation of windows control. Microsoft is on the way to produce number of more and more controls for the WinFx, and they will release mostly each year. There are number of Microsoft Partner Company has started to build third party control based on WinFx but none of them has released even beta version
OK, so now I think you have better startup for windows framework 3.0. So for what you are waiting for. Lets make glory that in ahmedabad we could be the first company who has started to develop the Commercial application based on WinFx. And As far as I know, hardly 10% of people in Gujarat has even started to look in this era May be 10% of overall software company in the world. (let me assume that) And so I did!!!
Of course its not that much easy that I explained in this document but its very very interesting to work on. You have to learn all new tools, all new API and all new concept to work with WPF, WCF and WF. We need to learn so many new things as i mention that it wont possible to move directly from .net 2 to .net 3 as we could in .net 1.1 to .net 2.0. We need to spend some time to learn the strategy for WinFx development. Theyhave given new event modeling, new property concept, New Container Concepts and the list is very long. Even for the web application we can use Workflow foundation and so that is also to be learn and of course totally new concept for all the software professionals. And its always good to make a lot of mistake in the beginning so that we can learn lot of things in the beginning
Whatever I have written here is all about what I understood and learnt. I might be wrong in some of the cases and so if you find any further and correct information pleasesend me an email so that i can correct the information and others can use this information. Iwish we started to learn as early as possible in this technology because I feel that within a 1 year, people will demand this and needs expert. SO better lets become beginning in begging of this unpredictable race of computer technology
I have collected number videos learning session for WinFx, and in those videos they have explore 80% of new terms with the programming demonstration
So, let’s begin our new journey for the future that we may have to face especially the person who worked on Microsoft Technology
http://wpf.netfx3.com/ (Contains Videos, Sample Application, Codes, Tricks for WPF, WCF, WF and CardSpace)
http://www.netfxguide.com/guide/_net_framework_3_0.aspx (Complete Guide for WinFx, Almost Everything you needed to start with .net 3)