How to Pick a Platform for My Project?

Platform Guidance for Microsoft .NET

Telerik senior leadership
advise you on the .NET
options available to you

Telerik's Platform Guide to Microsoft .NET
Skip Navigation LinksPlatform Guidance

Telerik's Microsoft Platform Guidance 2012

Last Updated: AUGUST 2012

The Microsoft .NET platform, originally introduced in 2002, is mature and it provides developers with great options for creating software that can meet the requirements of any project. With many options, though, it can be difficult for today's .NET developer to choose the correct .NET technologies for a project.

Addressing this problem, Telerik has assembled its senior technical leaders to produce the Microsoft Platform Guidance 2012. This document attempts to provide prescriptive guidance for .NET developers trying to determine the best .NET technologies to use for specific software challenges.

Download Telerik Platform Guidance for .NET PDF PDF 4.5MB

A typical .NET developer
today will be building one
of the following types
of applications

}

The following information elaborates on each application type and provides direct guidance on what .NET technologies to use in each scenario.

Desktop Application

Desktop applications represent the range of applications from those supporting internal information workers to those delighting consumers. These applications typically involve richly interactive interfaces, either for heavy-duty data management or entertainment. They key characteristic of desktop apps is the need to take advantage of the full range of native capabilities of the platform.

Ideal .NET Platform: WPF

WPF provides the ideal platform for building desktop apps. With mature, rich tooling provided in Visual Studio and Expression Blend, readily available components that address the full range of app styles, a large developer community and ClickOnce deployment, WPF gives the .NET developer all of the power of building "native" Windows software with a simple deployment model.

Key advantages of WPF:

  • Mature platform with 1st class support for rich media and data visualization
  • Excellent tooling and an active developer community
  • Rich, deep access to the native Windows platform
  • Simple deployment and updates with ClickOnce
  • Good availability of complete 3rd party toolsets

Special Silverlight Guidance Note: Silverlight is also a good candidate for building desktop apps, sharing many of the same characteristics of WPF. While it seems clear that Microsoft will not release a major version beyond the recently released Silverlight 5, their commitment to 10 more years of support as well as continued 3rd party vendor support means that it’s a viable alternative for WPF development for new or existing Silverlight projects.

Back to top

Dashboard/Reporting Applications

Dashboard and Reporting applications are those that primarily focus on presenting existing data to users. These applications do not focus heavily on data input, but rather on giving users tools to quickly visualize and analyze data. Applications of this type often include data visualizations (charts, gauges, graphs) and interactive data grids (sorting, filtering, grouping, etc.).

Ideal .NET Platform: ASP.NET MVC with HTML5

When a dashboard or reporting application needs to maximize reach, a combination of ASP.NET MVC and HTML5 is a good choice. By leveraging technologies that work across desktop browsers and mobile platforms (like iOS and Android), ASP.NET MVC with HTML5 can give developers the power to build applications that are usable on any PC or mobile device. Further, with the recent trend for much more powerful data visualization libraries for HTML5, you don't have to sacrifice capability for ease of deployment. If the target audience for an application may be using iPads, iPhones, or other devices to consume the app, ASP.NET MVC with HTML5 is the ideal choice.

Key advantages of ASP.NET MVC and HTML5:

  • Broad reach, capable of running on mobile devices and desktops
  • Maturing data visualizations that do not require any plug-in support
  • More familiar to developers comfortable with HTML and JavaScript (vs. XAML)
Special WinForms Guidance Note: While we do not advise new "greenfield" development on WinForms, it remains a capable platform for applications that do not need the power and richness of HTML5 or XAML. If your team is not familiar with HTML or XAML and has strong WinForms skills, there is no reason to avoid development with the WinForms platform Back to top

Data-Driven Website

Data-Driven Websites, whether public or internal, are primarily focused on displaying data and communicating information. These are not static websites, but they also do not aim to simulate rich "desktop-like" software in a web browser. Instead, these sites typically present data and information with simple HTML rendering, and any data input is relatively simple. These projects are also typically composed of many different pages.

Ideal .NET Platform: ASP.NET MVC and Web API

ASP.NET MVC provides developers with maximum control over website rendering, and its simpler page lifecycle make it ideal for data-driven websites. Unlike ASP.NET WebForms, which goes to great lengths to simulate stateful applications in the browser, ASP.NET MVC is stripped-down to the essentials, helping developers maximize performance and quickly build websites that are easy to test. 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.

Key advantages of ASP.NET MVC:

  • Simplified page lifecycle and no viewstate help produce faster performance
  • Complete control over HTML rendering
  • Improved testability for easier maintenance

Key advantages of ASP.NET Web API:

  • The same flexibility and scalability as WCF
  • Integrates well with ASP.NET MVC
  • Where Microsoft is putting their REST API resources
Back to top

Interactive Web Application (Forms Over Data)

Interactive Web Applications differ from Websites in that they do aim to deliver "desktop-like" (stateful) richness using standard web technologies (HTML, CSS, JavaScript). Applications of this type very often address the same problems as line of business apps, but they are not intended for installation or desktop use. These apps provide highly interactive, rich views in a single page, and they frequently deal with data input and manipulation.

Ideal .NET Platform: ASP.NET WebForms

ASP.NET WebForms highly abstracts the underlying core technologies (and challenges) of developing for the stateless web environment, giving developers a productive way to build "desktop-like" web applications. WebForms automatically handles challenges associated with preserving the state of rich UI controls across user actions, and it uses an event-driven programming model familiar to many desktop developers. ASP.NET WebForms is the original, and therefore most mature ASP.NET variant, with extensive 3rd party support.

Key Advantages of ASP.NET WebForms:

  • Very mature platform, with superior community and 3rd party support/tooling
  • Rich, visual tooling with support for drag-and-drop development
  • Fastest way to build "desktop-like" rich application with web technologies
  • Abstracts the need for developers to master JavaScript, HTML (compared to MVC)
Back to top

Mobile Website

With the proliferation of mobile devices, .NET developers must increasingly build software for mobile devices. While there are several approaches to mobile software, including Native SDK Apps, HTML5 Installed Apps, and Proxy SDK Apps (such as MonoTouch), this guidance limits focus to delivering browser-based experiences to mobile users. Supplemental guidance from Telerik for more discussion on other mobile development options will be published shortly.

Mobile Websites are unique experiences built primarily for users of modern smartphones, such is the iPhone and Android, delivered through the browser. These sites continue to rely on a persistent Internet connection and backend server processing to build and deliver views to a device. Due to limited bandwidth and screen sizes, these sites are also typically streamlined, simpler versions of "full" desktop website or Web Applications.

Ideal .NET Platform: ASP.NET MVC with HTML5

ASP.NET MVC with HTML5 helps developers create a tailored experience that is optimized for mobile devices. The richness provided by HTML5 helps mobile websites deliver more functionality in a single view, reducing the need for frequent communication with the server (which is often slow due to mobile Internet latency). ASP.NET MVC, with its highly configurable views, provides the simplest path for delivering HTML5 to devices. Further, ASP.NET MVC provides a simple, yet powerful platform for building and delivering JSON web services, a common pattern for moving data in and out of a mobile website.

Key Advantages of ASP.NET MVC with HTML5:

  • Custom, lightweight views make it easy to deliver mobile-friendly HTML5
  • MVC pattern provides efficient base for creating JSON webservices
  • Business logic stays on server in .NET; view logic moves to device with JavaScript
Special Installable HTML5 Guidance Note: With the addition of tools like PhoneGap, HTML5 can be "wrapped" so that it can be deployed and installed on devices (similar to "native" apps). This approach to mobile moves all view logic and rendering to the client and relies on the server only for data persistence (via web services). This is an advanced approach for mobile, and developers considering building rich apps with HTML5 should refer to www.kendoui.com for additional guidance. Back to top

Tablet Application

The use of tablets and touch-centric apps within companies is on the rise, and tablet sales are expected to double in 2012 (Gartner). Unlike their mobile smartphone counterparts, which frequently complement existing desktop apps, analysts see the potential for tablets to be more disruptive, replacing certain types of desktop apps in the enterprise. For .NET developers, it is important to address this trend and pick a Microsoft platform that will deliver the best tablet experience. Many platforms available from Microsoft can be used to build touch-enabled apps, even WinForms, but Microsoft is providing clear guidance for modern, touch-first apps with the arrival of Windows 8.

Guidance Note: This document assumes a desire to build apps using .NET developer skills on Microsoft platforms, and as such does not address the options of building native apps for the iPad or other devices. Supplemental guidance from Telerik with more discussion on other mobile development options will be published shortly.

Microsoft's Windows 8 introduces a new model for building touch-enabled, tablet friendly apps that are meant to be content-focused, easy to use with no documentation, touch-centric and tailored to the device. These apps will run in a new dedicated environment only available in Windows 8.

Since Microsoft is making it clear that Windows 8 is their ideal platform for tablet apps, the bigger question developers must answer is how to develop tablet apps. Tablet apps can be built with either XAML/.NET or HTML/JavaScript. Both approaches have access to the full capabilities of the device and share a common Windows Runtime API.

Ideal Tablet Platform: XAML and .NET

When building Windows 8 tablet apps, choosing between XAML/.NET and HTML/JS largely depends on the kinds of existing assets within an organization and the skills of the developers, but we recommend XAML and .NET for most tablet app development. Tablet apps built with XAML and .NET not only offer the familiar .NET programming paradigms (and tools) that have been popularized over years of .NET and XAML development, but a large amount of the code, assets and skills carry over to Windows Phone 8 (WP8) app development. In contrast, it is not possible to leverage HTML/JS assets if you're also building apps for WP8.

If supporting WP8 is not a key consideration for your tablet development, then it is important to know that Microsoft has worked to ensure the capabilities, tooling and run-time performance for both XAML and HTML tablet apps is as close to identical as possible. At that point, your choice between the two options is about the past and future technology strategy of your organization, not the capabilities of the platform.

So while we primarily recommend XAML and .NET for tablet app development, here are key advantages to both approaches that should be considered:

Key Advantages of XAML for building Metro-style apps:

  • Based on the same core tools, assets and techniques of WPF and Silverlight.
  • Comprehensive access to the underlying Windows Runtime (WinRT).
  • Extensible with native C++ components for performance-intensive activities or complete access to the underlying WinRT.
  • The same XAML tooling and techniques are available to native C++ programmers, if you feel the need to write your complete XAML-based tablet app in native code.
  • App code, assets and skills reusable between Windows 8 and Windows Phone 8

Key Advantages of HTML for building Metro-style apps:

  • Based on the same core HTML, JavaScript and CSS engines that power IE10.
  • Built to support 3rd party libraries, e.g. jQuery, as much as possible (although the sandbox security model can introduce challenges for certain libraries).
  • Comprehensive access to the underlying Windows Runtime (WinRT).
  • Extensible with native C++ components for performance-intensive activities or complete access to the underlying WinRT.
  • Lower learning curve for developers more familiar and comfortable with HTML, JavaScript, and CSS than XAML.
Game support note: Both Windows Phone and Windows 8 provide access to DirectX for building high-performance "twitch" games. This access is provided via .NET XNA in Windows Phone 7 and via native DirectX in Windows 8. If you are planning on building high-performance games for these Microsoft platforms, we suggest this third option. Back to top Download Telerik Platform Guidance for .NET PDF PDF 4.5MB

Meet the minds behind it all

Meet the senior technical leaders and influencers behind this prescriptive guidance. Check out their blogs for more insight and commentary!

Back to top
  • Hristo Kosev

    Hristo Kosev

    Hristo is Telerik's CTO and the creator of Telerik's first products. He is currently responsible for the evolution of the technical organization at Telerik and its never-ending quest for innovative new products that serve unaddressed market needs.

  • Chris Sells

    Chris Sells

    Chris Sells is the VP of the Developer Tools Division at Telerik. He's written several books, including Programming WPF, Windows Forms 2.0 Programming and ATL Internals. In his free time, Chris makes a pest of himself on Microsoft forums and mailing lists.

  • Stephen Forte

    Stephen Forte

    Stephen Forte is the Chief Strategy Officer at Telerik and sits on the board of several start-ups including Triton Works. Previously, he was the Chief Technology Officer (CTO) and co-founder of Corzen, Inc., a New York based provider of online market research data for Wall Street Firms.

  • Doug Seven

    Doug Seven

    After seven years with Microsoft, Doug Seven joined Telerik in July 2011 as Executive Vice President. His proven experience developing products people love and reaching millions of customers, plays a key role in Telerik's neverending quest to deliver cutting-edge products.

  • Todd Anglin

    Todd Anglin

    Todd joined Telerik in 2007 and is now responsible for Telerik's growing line of HTML5, including Kendo UI Web, DataViz, and Mobile. He is a well-respected HTML5 industry leader and frequent speaker at some of the world's largest developer conferences.

  • Andrew Brust

    Andrew Brust

    Andrew Brust is CEO at Blue Badge Insights. He has worked with Microsoft technologies for two decades, been an influencer in the Microsoft tech community for 15 years, and has worked closely with both Microsoft's Redmond-based corporate team and its field organization for over 10.

  • Atanas Korchev

    Atanas Korchev is one of Telerik first employees and initially led Telerik's ASP.NET MVC team. Currently, Atanas leads the Telerik Kendo UI division as Director of Engineering.

  • hristo
    kosev
  • chris
    sells
  • stephen
    forte
  • doug
    seven
  • todd
    anglin
  • andrew
    brust
  • atanas
    korchev

Additional Guidance Considerations

The goal of this document is to provide clear, direct guidance when trying to pick a .NET platform for specific types of projects. Platforms are suggested based on their ability to provide the most benefit for specific application scenarios relative to other .NET options.

Clearly, in many cases, multiple .NET platforms can be used to successfully complete a project. Any team using this guidance should always consider the strengths and skillsets of its team members when evaluating .NET platforms. With the exception of rich Windows software that requires the power of WPF, almost any .NET platform in the hands of the right team can be used to tackle the common application scenarios listed in this document.

Back to top