How to Pick Your Platform: Silverlight, Metro, or HTML5

by Todd Anglin | Comments 11


 

While Windows 8 is ushering in an exciting new model for Windows development called "Metro style apps" that run a new "unified" Windows Runtime (WinRT), it's not necessarily the right choice for all new Windows software development. In fact, there are a lot scenarios where it's not a good choice.


In this over-simplified decision tree, I try to provide some crude logic for how to pick between your platform options. Clearly, there are many nuances not covered in this tree, but I'll work on expanding the "logic" to make it more bullet proof in the coming weeks.

The first decision is the most important, though: Do you need to continue building apps that work in Windows 7?

If your answer to this question is "Yes," Metro style apps and WinRT should not be on your radar. These are Windows 8 only technologies, and there will be no backport layer that will let you run Metro apps on Windows 7.

That means any project that has as a requirement "Support Windows 7 clients," should only be considering WPF, Silverlight, WinForms, and "web" technologies (HTML/JavaScript + their server-side counterparts, like ASP.NET). It's that simple.

IF, however, you want to put apps on the Windows Tablets that will start shipping late next year, and IF you accept that these apps will only run in that Windows 8 Metro environment, then you should start digging-in to and learning WinRT.

For everyone else, don't lose sight of reality. And reality in a Windows 7 world (that will still work in a Windows 8 world) means Silverlight, WPF, and HTML5. (And, of course, Telerik is already armed with all of the tools you need for today's reality, and we're preparing tools for tomorrow's Metro option.)

About the author

Todd Anglin

Todd Anglin

is an avid HTML5, CSS3, and JavaScript advocate, and geek about all things web development. He is an active speaker and author, helping developers around the world learn and adopt HTML5. Todd works for Telerik as VP of HTML5 Web & Mobile Tools, where his current technical focus is on Kendo UI. Todd is @toddanglin on Twitter

Posted in: silverlight metro html5

11 Comments

dyowee
Will LOB SL apps won't work in Win8 tablets?
dyowee
Sorry, I meant "Will LOB SL apps work in Win8 tablets?"           
dyowee
Sorry, I meant "Will LOB SL apps work in Win8 tablets?"           
DTC
Yes, SL apps work the same as they always have on Win7. Win8 tablets run a full version of windows and IE still has silverlight support. You could even style your silverlight to be "Metro" if you want.
There is WAY too much being read into the release of Win8, WinRT, and Metro. People need to stand back and look at what Microsoft is really doing. They are NOT saying everyone will eventually develop in HTML and javascript.
Ed
Just wondering if you could explain your rationale is for choosing Silverlight over ASP.NET/HTML5 for LOB applications.
Lee
Same here, why not HTML5 for LOB applications?
Evan
The rationale behind Silverlight for LOB is that today Silverlight is a mature technology with a complete set of tooling for creating robust applications... and pretty quickly too.  If you go the HTML5 route, you still have a lack of proper tooling, cross browser issues, lack of a complete specification, etc., so attempting to build the same degree of application in HTML5 and Silverlight today will take significantly longer in HTML5. 
Really it comes down to need.  I met with an enterprise customer of ours last week and right now most of their development is still in Winforms (they're running lots of XP/Win7, no plans to upgrade to Win8 until at least 2014), with sights set on WPF and Silverlight for some of the new projects they are just starting on now.  When asked why, the answer was based entirely on need (Winforms works, for other projects enhancements found in SL/WPF provide the proper platform) and available tooling.  All three of these platforms are mature today and when they eventually move to Win8 the applications they create in these applications will continue to work, albeit with performance improvements from moving to Win8.
Some people tend to forget that just because WinRT will power the Win8 generation of machines for touch/Metro style apps, people need to create applications today for their needs today and with hopes that the applications will continue to work in the future.  Windows 8 provides that with the Desktop mode, ensuring Winforms / Silverlight / WPF are just as viable today as they will be in the future. 
All that said, we're developers.  If you develop a really good service layer for a SL/WPF application you should be able to just as easily create a HTML5 front-end for folks who wish to view the data outside of the core application- say on an iPad- that provides a more consumption based experience.
Alan M
Well said, Evan.
Craig
guys,
this graphic is reallllly weird.  Windows applications are not web applications.  This graphics makes a lot of "leaps" and is misleading.  I'd retitle it or something.
Todd
@Craig- Sorry for the confusion. In this case, we think a comparison of HTML5, Silverlight, and "traditional" Windows technologies is appropriate. Microsoft has started to "mix" these technologies in Windows 8, so developers are being forced to make this comparison. If you'd like to see a more detailed, updated version of this flow chat, visit:
http://www.telerikwatch.com/2011/09/when-should-you-use-metro-version-2.html 
Hope that helps.

Comments

  1.    
      
      
       
  2. (optional, emails won't be shown on public pages)
  3. (optional)
Read more articles by Todd Anglin - or - read latest articles in Developer Tools