Difference between winforms,WPF and metro?

Some Body picture Some Body · Jun 14, 2012 · Viewed 8.8k times · Source

How is Metro different from WPF and WinForms?

Are only metro style apps allowed to be sold on the Windows App Store?

Answer

Jason De Oliveira picture Jason De Oliveira · Jun 14, 2012

Metro Apps are applications that are specifically written for Windows 8 using all the advantages that Windows 8 has to offer. They can be put on the Windows 8 app store. http://devcomponents.com/blog/?p=1061

WinForms is the old Windows format that was somewhat replaced by WPF. WPF is much more optimized and contains for example vector graphics. WPF provides much better performance when compared to WinForms applications. It provides a much richer UI experience. It uses XAML for development purposes (XML description of your UI). WinForms and WPF give you the existing Windows Look & Feel.

Metro Apps look much more like Windows Phone 7 applications but with much more functionality (but I think in the future both will converge). They are mainly addressed for the tablet market and touch screens (and hybrid devices in the future). Metro apps can be compared to IPad apps but much richer and with the full power of the Windows operation system.

If you want to write standard Windows applications that use a mouse interface and that work like current Windows application I recommend using WPF.

If you want to specifically address the Windows 8 market and create applications that are touch friendly you have to use Metro application.

I would not recommend using WinForms for new projects anymore. Only for old existing projects where the migration to WPF is too expensive in time and money.

You can look into this architecture guide published by MS patterns & practices for WPF and WinForms architectures for further advice (it doesn't contain Metro Apps yet). http://apparchguide.codeplex.com/

Hope that helps.