samedi 5 mai 2012

HTML5/JS/CSS or WPF for LOB?

If you have a chance to build a new LOB (Line of Business) application, what client technology you should choose? I have some thoughts recently.

There are many options, but only two come to the final: HTML5/JS/CSS and WPF. HTML5/JS/CSS is the standard technology today to build web applications. It is supported by all modern web browsers and as a result, you can run HTML5 apps in devices including desktops, laptops, tablets and smart phones. WPF is the successor of Windows Forms, and it is the standard technology to build Windows desktop applications. WPF applications can only run in Windows desktops and laptops. They are supported in Windows 8 slates as well (in desktop mode).

In my comparison, only two factors will impact the decision: platform support and development cost. In platform support, HTML5 is a win. But if you are developing business applications, you do not have to worry about WPF too much either, as long as your customers run Windows OS. When comes to development cost, it is a little surprise to me that WPF is a win. I have been using WPF for a while and it has a learning curve. So I thought HTML5 might be easier since it is easier to get into. But talking with a friend who has extensive development experience in both languages, I was convinced with different result. HTML5/JS/CSS is easier to get into, but when you develop more complicated scenarios, it gets harder. WPF is the other way. It's hard to get into, but when you master it, you are really productive and you can work out any hard problem with nice solutions. His estimate is that developing in HTML5/JS/CSS takes 30%-50% longer than developing in WPF. My other co-worker confirmed that this estimate was very accurate.

So the question really depends on your business needs. If all you need are simple screens and wide reach to different devices, HTML5/JS is the way to go. If you need rich-client experience, WPF would be the right choice.

Would WPF die soon as Silverlight? I really don't think we have to worry about it today -- Silverlight is a web technology. Microsoft gets rid of Silverlight because of HTML5/JS. But WPF has no such competitor. WPF is the one chosen by Microsoft as rich-client technology in desktop applications.

Aucun commentaire:

Enregistrer un commentaire