As the Microsoft developer world turns: Guidance for the perplexed
Summary: Looking for .Net platform guidance in developing apps for Windows 8, Windows Phone 8, Windows Server 2012 and other Microsoft platforms? Here's a starting point.
Microsoft is in the midst of launching a host of new operating systems and tools this summer/fall. So what's a developer to choose to build apps and services for Windows 8, Windows Phone 8, Windows Server 2012 and/or Windows Azure?
There are familiar, legacy .NET tools and frameworks available, like Silverlight and Windows Presentation Foundation. There are newer and less familiar (to many Microsoft developers) options including XAML and HTML5/JavaScript. And on the server side, there's ASP.Net for building server-based Web applications.
Microsoft tools vendor Telerik has delivered a new version of its Platform Guidance document that aims to help developers sort through the myriad choices, based on the type of application they are developing. The eight-page Platform Guidance PDF is a free download, available as of September 18.
The document doesn't advocate abandonning tried but true platforms like Silverlight, even though Microsoft seems to be trying to wean developers from that platform by downplaying it and declining to comment on its future, beyond committing to support Silverlight 5 through 2021. (Ditto with WinForms, which Telerik notes isn't the best choice for "greenfield" development, but which still has its place.)
Here's the Cliff Notes version of what the Telerik principals are recommending for development of each type of app:
Desktop Applications – WPF
Dashboard/Reporting Applications – ASP.NET MVC (Model View Controller) with HTML5
Data-Driven Websites – ASP.NET MVC and Web API
Interactive Web Applications (Forms over Data) – ASP.NET WebForms
Mobile Website – ASP.NET MVC HTML5
Tablet Applications – XAML and .NET
The Platform Guidance document includes a chart to help developers evaluate whether XAML or HTML is a better choice for building a Metro-Style -- now know officially as "Windows Store" -- application:

At only eight pages, the Guidance document isn't meant to be a be-all/end-all work. But it's a starting point, which offers some much-needed suggestions for those attempting to navigate the rapidly changing Microsoft development waters.
Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.
Talkback
Who Cares What Teleirk Thinks?
First of all, Telerik is not exactly a neutral player in this. They have a vested interest (their own company) in how this plays out. I would much rather see what YOU thought. There is all kinds of "white paper" guidance out there that you can download for free from every company known to man, and do you think their not in it for themselves? Truly surprised at this post.
Curious if you disagree with their guidance
As you know, I think, I am not a developer. I am a journalist (who happens to know and talk to a lot of developers).
My guidance would be worthless on this topic. I know Telerik sells tools. But they don't sell just one type of tool. That's why I think their opinions are interesting on this topic.
Is there something they are recommending you disagree with? I'd like to hear what it is, if so... Thanks. MJ
Telerik is selling tools for .net only
Since win8, .net is not the only programming platform recommended by Microsoft anymore.
Telerik sells a variety of tools
You haven't read the PDF
Just skim it even.
I don't see any pushing of Telerik tools at all in there. Looks to me that they're trying to provide legitimately helpful information for programmers and managers. I'll grant, it's not especially useful (being such a light document), but there's a lot of change happening right now and this might just help orient some people who aren't sure where things are headed. I guess they've done it because there could be some sort of halo effect, and it might help people move towards Telerik products in the future. That doesn't seem like such a bad thing to me but then, what do I know?
Where's Azure in that list?
Azure is dead end!
What Version ASP.NET?
To anyone out there, in the Telerik document they make the following statement,
"Further, the ASP.NET Web API is the next evolution of the Windows Communication Foundation (WCF), integrating the flexibility and scalability of WCF with the ASP.NET ease of development for exposing REST-style APIs on the web."
I assume they are referring to version 4.5 of ASP.NET?? Thanks.
Have to disagree with you there
I am somewhat surprised they still have asp.net up for web forms. I kinda expected then to fully push MVC for all things web.
The fact that telerik makes tools for .Net does not even come into play. As the article does not promote their tools, but the platforms, and does an accurate job doing so. And even then telerik has tools for all the Microsoft platforms so I am really struggling to find your objection.
If you are objecting to the fact they are promoting .Net platforms then I am still confused as this is the All About Microsoft Blog/Series, so I would be surprised if it was not about the dominate Microsoft based platforms.
Just one question...?
Yes there are lots of white papers out there. But I have absolutely zero desire to write for Windows 8, WP8, RT, etc. I'm an Android dev and am preparing to write for Blackberry. Because at least Blackberry themselves has made it clear what direction devs should move to write for Blackberry 10.
More clarification
Vendor Neutral
As one of the authors and reviewers of the paper, l'd encourage you to read (or at least skim) it before dismissing out-of-hand. I think you'll find that we were very careful to focus on a discussion of the platforms, not the tools.
More importantly, our goal is to provide "prescriptive guidance." That is, if you need to start a new project on the Microsoft stack today, what platform should you use?
This is guidance we see Microsoft unwilling to provide, so we aim to fill a gap by providing black-and-white answers. As with anything concrete, there may be disagreement with some of our positions, but that's okay. The guidance is meant simply to highlight the strengths of specific platforms for specific kinds of development.
We hope developers find this useful when facing the myriad of Microsoft technologies available for building apps today!
-Todd
I'm sure less people care about your thoughts
if you don't like it, don't read it and move on
WPF advice is questionable
WPF for desktop development? Not if I was starting a new project today. Based on the bugs Microsoft is and isn't fixing and the flight of Microsoft WPF evangelists away from it, WPF seems to be nearing end-of-life. Also, for anything other than kiosk apps, line-of-business apps and database forms apps, WPF was never a good choice and still isn't.
What we need is guidance from Microsoft on the future of the Desktop. There is nothing that is both new and interesting for desktop application developers in Windows 8/VS 2012. Supposedly we are in a "native revolution", with C++ being the new black, but the only framework Microsoft has for C++ is still the older-than-the-internet MFC. Is Microsoft really going to let the desktop die on the vine and expect everybody to be happy using one full-screen Metro application at a time on our 27 inch monitors? Or are they going to replace WPF with a general purpose desktop application development environment? How about XAML/C++ for desktop developers like the Metro app developers have? Microsoft's silence on this front is extremely harmful to the application developers who made Windows the success that it is.
If not WPF then what?
Even if I were starting a desktop app today or even in the next few months, and hey I am, I would still choose WPF or maybe Silverlight. The simple reason being it works on XP, Vista, 7, and 8. That alone makes the choice pretty easy as the end users more then likely will not only have windows 8 so you have to make something that will support all of the above.
For new treat WinRT, the same as you would treat making software for the iPad, a one off your main software platform.
There is no good answer
Microsoft has a fundamental problem on the desktop: There are just too many things that WPF is not good at that it really couldn't fully replace MFC. There are classes of applications that are fine for WPF (the same classes of app that Visual Basic used to be the answer for), but for other classes of applications (data-driven visualization), WPF does not work well and you have to resort to tricks like HWnd hosting. So there is a large hole in Microsoft's desktop strategy that they seem too in love with tablet apps to be interested in filling right now.
Totally agree
They will probably bring WinRT to the desktop over time (next iteration of Windows) but again it is irrelevant for us now, since that will take 3 years to happen and another 5 to 10 years for the company I am working on to upgrade to Windows 9.
ASP.net MVC3 etc it is a good effort but not a substitute for the desktop apps and if anybody disagrees I would advice them to learn programming first. Knowing HTML does not make you a programmer and knowing JavaScript it makes you a bad programmer :P
So funnily enough Telerik is a toolset we want to evaluate. I would rather have chosen it as an option to improve my applications’ appearance and features instead of “nothing works in WPF so let’s find some toolsets that they do work and mask all the WPF inefficiencies if possible”, type of decision.
Silverlight is nice/better too and I would agree that it is the right medium between desktop and web applications, pity it is not going anywhere in the future.
Microsoft should stop chasing unicorns and improve their strong points first, i.e. the business space. If they continue like that they are going to lose the last cash cow they have.
WinForms doesn't cut it?
I guess I must be way behind the times but I find WinForms to be a competent and consistent platform to develop with. What kinds of things are you trying to do that you can't present using it?
No easy answers
I am referring to the recent developments in customizing the UI controls and MVVM type of programming front WPF is better at. WinForms are a bit cumbersome to do a few things that are quite easy with MVVM type of programming. Having said that I love WinForms and I do think they are still the best (and most cost efficient solution) for a lot of applications.
Personally I cannot think of any rational way of comparing WPF and WinForms. They are two different paradigms, retained rendering mode in WPF vs. immediate (message driven) for WinForms. Model based for WPF, control based for WinForms, when you program in one you miss the other depending on the scenario.
If I had to choose between the two, going forward I would choose WinForms. The way XAML is used in WPF is as f.ed up as HTML+CSS+JavaScript. Neither of these paradigms is suited for any big scale projects unless you have very deep pockets and you do not mind programming in a nonsensical way.
Are they fixing things around XAML with WinRT? I don’t really know and I don’t really care because there is no way I would ever program on a system running a Metro UI. I would be programming for a tablet OS with a Metro UI emulator but never on my desktop PC. So at this point I don’t really care what MS does with their UI. I am sticking with WPF and WinForms in the workplace as there is no alternative and for private projects I am using MFC anyway. In the meantime I am keeping an eye on developments on the Linux world. I have no clue about Unix and no respect for the developers using it (at least the ones I came into contact with so far in my career), so it is going to be a huge leap for me (knowledge and faith wise). But if MS doesn’t pull their finger I rather join the blind people than stay with the crazy ones.
Winforms is limited
So if you have a simple user interface, composed of standard controls like TabControl, DataGridView, etc, then WinForms isn't bad, but in that case, you might as well build those simple pages using ASP.NET MVC, which can be easier to deploy and update.