Greetings! I'm writing this commentary from Microsoft's TechEd 2012 conference in Orlando. As crazy as it sounds, this is the 15th straight year that I've had the honor to speak at TechEd. I love the TechEd conference for several reasons. I love it because I've worked with Microsoft for more than 20 years, so TechEd is like a college reunion for me. But I also love TechEd because Microsoft always uses this time to make significant announcements. And Microsoft's TechEd 2012 conference has been no different.
Although the announcement of cloud improvements to Microsoft's Team Foundation Service (TFS) is significant, it shouldn't be a surprise to anyone. The only perceived downside to this announcement is that TFS should have been completely cloud enabled years ago. Microsoft announced a preview of TFS, which can be accessed from Microsoft's TFS web page. I'm looking forward to getting servers and maintenance out of the InterKnowlogy office.
The big and surprising announcement at TechEd was the upcoming HTML5-based client for Visual Studio LightSwitch. In case you're not up-to-date on Visual Studio LightSwitch 2011, it's a tool designed to help you build Silverlight applications. Although it's not wildly popular yet, its mission, according to the blog post that announces the new version, is to make "business application development much easier by abstracting the technology decisions and interactions that make building rich, secure, and relevant business applications so difficult." In principal, this mission sounds great. Silverlight is elegant and beloved, but the .NET Framework code can get nasty and complex pretty quickly. In reality, LightSwitch has done a good job in the developer tools space. LightSwitch 1.0 produces n-tier Silverlight applications that are composed of a rich desktop, data-centric client, and cloud-ready middle-tier that contains the application's core business logic.
LightSwitch 2.0, which will ship with Visual Studio 2012 very soon, includes an updated middle tier to use the Open Data (OData) Protocol. This change lets application data be published and consumed using a standards-based medium.
Back to the big announcement: In an upcoming Community Technology Preview (CTP), you'll see a LightSwitch product that's capable of producing HTML5 applications, in addition to its current functionality to produce Silverlight applications. Figure 1 shows how to add an HTML5 client to your existing LightSwitch Silverlight project.
In all honesty, I got wind of Microsoft's HTML5 support for LightSwitch over a year ago and kept a strict nondisclosure agreement (NDA) for all the obvious reasons. I'm glad the word didn't get out until the official announcement was made because of the politically misconstrued message that it might have sent about the future of Silverlight. I'm not going to draw conclusions now that the messaging for the HTML5-based client has been made public because you're more than capable of drawing your own conclusions.
Unlike the messaging in the keynote announcements that were made at TechEd, the LightSwitch team is very clear in positioning the product in this way, as stated on the Visual Studio LightSwitch Team Blog: "[T]he Silverlight client will remain the go-to choice for building rich desktop applications; the user experience focus for the HTML client will be touch-first and optimized for mobile devices." The ability to build HTML5 applications is badly needed, and these apps will now be easy to build with LightSwitch. I also love the emphasis on touch, partly because of natural user interfaces (NUIs), which are a technical passion for me. I'll admit that I'm pretty excited to get my hands on the client and start hacking up HTML5 apps.
The development experience looks pretty good from the screenshots that I saw. In your Visual Studio 2012 LightSwitch project, you can have Silverlight and HTML5 clients side-by-side. You simply add an HTML5 client to your existing LightSwitch project. Both the Silverlight and HTML5 client can share the same data and metadata defined for the application's middle-tier.
LightSwitch uses an application model and end-user experience that's based on the jQuery Mobile framework. jQuery Mobile does a fantastic job of abstracting browser idiosyncrasies into a simple and unified framework. This situation means you can easily use any JQuery Mobile control or plug-in inside LightSwitch as is. Figure 2 shows how to create a style list in jQuery Mobile for a LightSwitch HTML5 client.
Make sure and check out Joe Binder's blog post on the LightSwitch development experience for more details. Binder is the senior program manager on Microsoft's LightSwitch team.
If you doubted Microsoft's commitment to HTML5, then forget it. To me, Microsoft's announcement of HTML5 support for LightSwitch sends a very clear message: HTML5 is a legitimate enterprise application development platform. Microsoft intends to support it not only across the stack but also to support the platform with the best toolsets.