As the Microsoft developer world turns: Guidance for the perplexed

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.

SHARE:

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:

XAMLvHTMLforMetro

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.

Topics: Software Development, Microsoft, Mobile OS, Tablets, Windows

About

Mary Jo has covered the tech industry for 30 years for a variety of publications and Web sites, and is a frequent guest on radio, TV and podcasts, speaking about all things Microsoft-related. She is the author of Microsoft 2.0: How Microsoft plans to stay relevant in the post-Gates era (John Wiley & Sons, 2008).

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

38 comments
Log in or register to join the discussion
  • Who Cares What Teleirk Thinks?

    Mary Jo I have been following you for many years and this is the worst post I believe you have ever made.

    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.
    ntman2011
    • Curious if you disagree with their guidance

      Hi.

      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
      Mary Jo Foley
      • Telerik is selling tools for .net only

        Imho, their advice is : 'here is what product you should choose in our catalog (of .net programming tools)'
        Since win8, .net is not the only programming platform recommended by Microsoft anymore.
        Dazzibao
        • Telerik sells a variety of tools

          Not sure why the opinion here is that Telerik is pushing .NET development - the PDF I read included discussion of web applications and Windows Store application using HTML/JavaScript. To say Telerik only sells .NET tools is wildly inaccurate - they make some really nice (my opinion - others may vary) web development tools across several different strata, including situations where .NET isn't present at all on either the client or the server side (their Kendo UI tools come to mind.)
          avidgator
        • You haven't read the PDF

          You aren't really entitled to an opinion, humble or otherwise, unless you read the PDF. It's only 8 pages for chrissakes.

          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?
          ajo1979
      • Where's Azure in that list?

        Barely much mentioning of Azure stuff such as AppFrabic and so on.
        LBiege
        • Azure is dead end!

          Enough of the mud in the cloud already.
          tetraclit
      • What Version ASP.NET?

        Hi Mary Jo, I don't disagree with their guidance. I think I'm just frustrated because Microsoft has made it so hard to GET guidance this time around, especially on the desktop side. (Either that or I'm not looking in the right place.) I apologize to Telerik.

        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.
        ntman2011
    • Have to disagree with you there

      I think it is pretty obvious that you did not read the attached PDF. While it offers nothing ground breaking, it does offer some good guidance on development near term/mid ranged term futures. Particularly the implication that unless you are specifically targeting say Win8RT tablets you should be developing WPF for desktop apps. Using RT for general desktop is a bad bad plan, as the adoption rates especially in the corporate world will be very low for a few years.

      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.
      AceOfClubs
      • Just one question...?

        Shouldn't *Microsoft* be providing this since it's *their* product?

        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.
        tallbruva
        • More clarification

          When I say I have zero desire to write for the new Windows family, what I mean is that MS hasn't given me as good a reason as some of the competition to invest my time, energy and money to figure out which direction to go in (as this document is attempting to help with).
          tallbruva
    • Vendor Neutral

      Hey @ntman et al-

      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
      toddanglin
    • I'm sure less people care about your thoughts

      Telerik's approach to selling their products is great. They're creating whitepapers and some free tools to help developers hoping developers will appreciate it and try out their products.

      if you don't like it, don't read it and move on
      @...
  • WPF advice is questionable

    What Telerik has to say on this topics is backward-looking and non-objective. They have products they want you to use, so they are going to suggest you develop using paradigms that they can sell you a product for.

    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.
    FDanconia
    • If not WPF then what?

      Are you suggesting people use WinRT for Desktop Apps?

      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.
      AceOfClubs
      • There is no good answer

        You can't use WinRT for desktop apps. If the app you are developing is not involved, doesn't require immediate-mode graphics, and wouldn't be too big a commitment to the technology, then WPF is probably best. But if I were starting a new app that was going to be an 18-month development cycle and a major technology commitment, it would be very hard to commit to WPF, given how little investment Microsoft is making in it.

        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.
        FDanconia
        • Totally agree

          There is a massive hole in MS’s UI offering for the past X years. WPF is a buggy, badly designed and badly implemented solution that we are forced to use as there is no other alternative. Windows Forms doesn’t cut it and of course MFC is still the king, but I wouldn’t be using that in my workplace as line of business applications do not have the budget or the right people to be messing with C++ (although I personally would love to write everything in C++).

          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.
          mil7
          • WinForms doesn't cut it?

            Really? What's wrong with 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?
            Max Peck
          • No easy answers

            I would love to disagree with you and say you are not right, WPF is the only way. But I am not, you are also right and this is the main problem with MS UI direction.

            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.
            mil7
          • Winforms is limited

            The problem with WinForms is that you're going to have a hard time creating a unique and rich UI. You use a set of built-in controls, or controls from a vendor like Telerik. Those built-in controls are hard to extend and creating your own controls is even harder.

            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.
            Samuel Langlois