Platform Guidance
for Microsoft .NET

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

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

INTRODUCTION

Microsoft Platform Guidance

Last Updated: January 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.

NOTE: This guidance does not include Windows 8, currently in a pre-beta preview. After Windows 8 reaches beta, we will update this guidance to reflect it.

CONTRIBUTORS & REVIEWERS

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

  • 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

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

BROUGHT TO YOU BY

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

Today's Application Types

.NET

Line-of-Business Applications

Line-of-Business application, for the purposes of this guidance, represents the “standard” information worker application. These applications typically involve heavy data input, richly interactive interfaces, and they are primarily built for internal users. LOB applications often support critical business processes, and the apps are regularly updated as the needs of the business evolve.

Ideal .NET platform: Silverlight

Silverlight provides the ideal platform for building LOB apps. With mature, rich tooling provided in Visual Studio and Expression Blend, readily available components that address the full range of LOB app requirements, and simple, browser-based deployment, Silverlight gives the .NET developer all of the power of building “native” Windows software with a highly simplified deployment model. Silverlight additionally supports both in- and out-of-browser operation, and in many cases can also be used on Mac OS X computers, too.

Microsoft will officially support the Silverlight 5 plug-in through 2021 , making it useful for any project with an expected 5- to 10-year lifecycle. Silverlight is fully supported on a wide range of Windows versions, including XP, Vista, 7, and in the future, Windows 8.

Key advantages of Silverlight:

  • Mature platform with 1st-class support for rich media and data visualization
  • Excellent tooling and an active developer community
  • Rich desktop-like Windows software with a simple Web-like deployment
  • Good availability of complete 3rd-party toolsets (ex: RadControls for Silverlight)

Special Silverlight Guidance Note: With the pending arrival of Windows 8, Microsoft has slowed its investment in evolving the Silverlight platform. When evaluating Silverlight, extra care should be made to ensure the platform as it exists today meets the requirements of a project. Silverlight remains an outstanding choice for building Windows LOB apps today, but this guidance will be updated if a superior Microsoft solution becomes available.

Back to top

Dashboard/Reporting

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: Silverlight or ASP.NET MVC and HTML5

Silverlight’s support for rich data visualizations that can be easily deployed through a browser again make it an ideal choice for dashboard-style applications. With tools like Telerik’s ChartingKit for Silverlight, developers have an unmatched capability to visualize a wide range of data types, complete with smooth animations. If the target audience for an application is Windows users, Silverlight is the ideal choice.

When a dashboard or reporting application needs to maximize reach, a combination of ASP.NET MVC and HTML5 is the better 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. 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 Silverlight

  • More mature tooling and data visualization libraries
  • Fewer concerns with browser versions and multiple browser testing
  • .NET on the client (less need to learn and use JavaScript)

Key advantages of ASP.NET MVC and HTML5:

  • Broad reach, capable of running on mobile devices and desktops
  • Data visualizations that do not require any plug-in support
  • More familiar to developers comfortable with HTML and JavaScript (vs. XAML)
Back to top

Custom Windows Applications

Custom Windows Applications are those that have unique or extreme requirements, above and beyond the typical line of business application. This category captures both applications that require highly customized interfaces (such as blogging software or medical imaging software) and applications that require access to the full power of a Windows PC (such as scientific software that requires access to multi-core processors).

Ideal .NET platform: WPF

WPF unlocks the full power of a Windows PC for building rich desktop software. There is no Windows software requirement that WPF cannot satisfy. Major software applications like Visual Studio are built with WPF, proving its capability for even the biggest projects. WPF gives you maximum power and control over your Windows software, but also provides the narrowest reach (only available for users of Windows XP and greater).

Key advantages of WPF:

  • Maximum power and control when building .NET software
  • Shareable/Transferable skillset with Silverlight (.NET/XAML)
  • Mature tooling and 3rd-party tool support (ex: RadControls for WPF)
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

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.

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
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 and tooling
  • Rich visual tooling with support for drag-and-drop development
  • Fastest way to build a 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. Please refer to supplemental guidance from Telerik for more discussion on other mobile development options.

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 screensizes, these sites are also typically streamlined, simpler versions of “full” desktop website or Web Applications.

Ideal .NET platform: ASP.NET MVC and 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 and HTML5:

  • Custom, lightweight views make it easy to deliver mobile-friendly HTML5
  • MVC pattern provides an efficient base for creating JSON web services
  • Business logic stays on the 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

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