Saturday, September 24, 2011

Windows 8 Announcement and Microsoft Platforms for LOB Apps


It may seem that Microsoft is complicating things for enterprise developers with the announcement of Windows 8 and it's new

development platform. After analyzing a lot of articles on Windows 8 and Metro features, here are my conclusions:

If you are starting a new enterprise project (LOB or Line Of Business application), first decide whether it should be a web based app or client based app.

Web apps are the new norms for LOBs as it provides maximum reach. Go for ASP.NET Web Forms if your application is heavily data driven and development time is very limited. Web Forms is also suitable if your developers are more familiar with Windows Forms than model-view-control architecture based development. Go for ASP.NET MVC if you have enough skilled developers and you want full control of the rendered HTML. MVC also provides other benefits like better testability and extensibility. If you have already not invested in Silverlight, forget about it. It is gonna be useful only to develop Windows Phone applications post Windows 8 release.

If your application demand the full resources of a client computer, go for the stand-alone windows client option. If you have already invested in WPF, go for it, as your XAML skills will still be useful to develop Metro Style apps in Windows 8. If your investement is limited to Silverlight, you can still use it to develop out of browser desktop application. But if your developers have still not mastered WPF/Silverlight, better use Windows Forms to develop your next LOB application. This technology is already well matured, has enough controls for LOB scenarios and can use all latest .NET features like LINQ and MEF. It would be easy and faster for developers to build a Win Forms app than a WPF app if they are new to XAML. More over, your win Forms app will run on Windows 8, Windows 7/Vista and Windows XP.