Redmond Review

Andrew Brust: Lauding LightSwitch

I've said it before: the Microsoft .NET Framework is too complex.

There are too many ways to build client applications in the .NET Framework, too many ways to build Web applications and too many data-access technologies to choose from. Even worse, there's too much code to write, and the tooling for newer technologies, such as Windows Presentation Foundation (WPF) and Silverlight, represents a step backward in productivity, compared to the Windows Forms designer that debuted a little more than eight years ago and the Visual Basic 6 forms designer before it.

A new product from Microsoft called Visual Studio LightSwitch could help reverse this regressive tide. Now in beta, it's a development environment totally focused on data and data-centric applications. The apps consist of useful data query and maintenance screens, and building them in LightSwitch requires little or no code. LightSwitch can create SQL Server databases or work with existing databases, be they in SQL Server or just about any other database product.


LightSwitch caters to business developers who need to get apps done. It understands the typical line-of-business app paradigms of search screens, record-creation screens and record-edit screens, and it supports typical business data types such as phone numbers and e-mail addresses, rather than just the primitive data types in databases and the CLR, such as integers and strings. LightSwitch generates modern UIs, which are configurable through a code-free design interface. As you change the layout of your screens, LightSwitch lets you preview them, with data loaded, in real time.

And the UI help keeps coming: LightSwitch apps are skin-able and third parties can offer custom themes that make this capability extremely valuable. Extensibility is core to the product, as third parties can also offer custom controls, custom business data types and custom screen layouts. With custom controls and a largely code-free design environment, LightSwitch seems a lot like pre-.NET Framework Visual Basic. Sounds good to me: Visual Basic was a productive environment for business apps built by business developers.

Honoring the Old, Enhancing the New
LightSwitch gives us back that old productivity, but no one wants to go back to old technology and specialized runtimes. The good news: No one has to. LightSwitch projects are .NET Framework projects, and the code-behind can be written in VB.NET or C#. The LightSwitch IDE comprises special designers within Visual Studio, and LightSwitch solutions are manifested as Silverlight applications that can run in or out of browser. Applications built in LightSwitch use the Entity Framework and WCF RIA Services, and they can read from and write to SharePoint lists. The apps can be deployed to the desktop and use SQL Server, and can be easily redeployed to the cloud, running on Windows Azure and SQL Azure.

Unifying these Microsoft technologies and lowering their barrier to entry is the LightSwitch value proposition, and I think it's compelling. LightSwitch is not meant to displace conventional .NET Framework development, but rather to extend it to audiences that might otherwise go elsewhere. Microsoft is serving enterprise developers with an enterprise dev environment -- and renewing its support for the productivity programmer market that made Redmond a dev tool leader in the first place. LightSwitch transcends the false choice between serving one constituency or the other. I should ask Microsoft, "What took you so long?" But at the moment I'll just say, "Bravo!"

Is LightSwitch a slam dunk? I may hope so, but there are people who don't want the barrier to entry lowered, and they won't like LightSwitch. Some people might be more receptive, but will regard LightSwitch as just a suite of screen-generating wizards inside Visual Studio. Others may complain that Microsoft is trying to streamline its development stack by adding yet more ways to build apps for it. And some may say all this is too little too late, and that PHP and Adobe AIR have already won the hearts and minds of productivity programmers.

Those people may have a point, but LightSwitch does something PHP and AIR cannot -- leverage the .NET Framework platform. PHP and AIR rely on runtimes that are less rich and, frankly, less robust than the .NET Framework. If Microsoft can wed streamlined productivity with the strong foundation of the .NET Framework, the results will be impressive.

More importantly, LightSwitch could be part of a long-overdue turnaround for Redmond. Microsoft has spent the last decade courting complexity, shaping the .NET Framework into an enterprise-scale edifice; yet today we're seeing a return to roots. As a developer who got his start on Visual Basic 17 years ago, I'd like to be the first to say, welcome back, Microsoft.


About the Author

Andrew Brust is Founder and CEO of Blue Badge Insights, an analysis, strategy and advisory firm serving Microsoft customers and partners. Brust is also a Microsoft Regional Director and MVP; an advisor to the New York Technology Council; and co-author of "Programming Microsoft SQL Server 2008" (Microsoft Press, 2008). A frequent speaker at industry events, Brust is co-chair of the Visual Studio Live! family of conferences and a contributing editor to Visual Studio Magazine. Brust has been a participant in the Microsoft ecosystem for over 15 years, and has worked closely with both Microsoft's Redmond-based corporate team and its field organization for much of the last 10. He is a member of several "insiders" groups that supply him with insight around important technologies out of Redmond. Follow Brust on Twitter @andrewbrust.

Reader Comments:

Tue, Oct 19, 2010 JOE

I did a test drive of Light Switch. I would agree with MARC comments. If the performace can be improved. Great product.

Thu, Sep 30, 2010 Jake

"I've said it before: the Microsoft .NET Framework is too complex." - perhaps for those who are less capable engineers.

Thu, Sep 16, 2010 Michael Washington Los Angeles

I wrote an article about LightSwitch called LightSwitch is “The One” http://openlightgroup.net/Blog/tabid/58/EntryId/126/LightSwitch-is-ldquo-The-One-rdquo.aspx in it I point out that the main point about LightSwitch is that it is "The application that will allow non-programmers to make business programs that don’t suck."

Sun, Sep 12, 2010 Eduard Duijvestijn Voorburg, Netherlands

I tried the Lightswitch beta and was pleasantly surprised with the ease of developing a database driven application. On the other hand the slow performance and the lack of a visual form editor was a little disappointing. The possibility of editing the screen at runtime mitigated this shortcoming a lot. If they succeed to increase the performance and build speed, I will be glad to exchange Access for this great tool.

Thu, Sep 9, 2010 Jigga KC, MO

Isn't LightSwitch just a web-based version of Access? That's what it seems to me like.

Thu, Sep 2, 2010 Andrew Brust New York City

Martin's performance findings are not anomalous/unique and are very important. I will convey them to the LightSwitch team.

Wed, Sep 1, 2010 Jayaram Krishnaswamy Plainsboro, NJ

It's so easy to use. Really a nice RAD tool although Microsoft has been assiduously cultivating RAD tools one after another but this one is RAD with a capital R. I did a test drive. Here is an article I wrote about using it to view data on my SQL Azure. http://hodentek.blogspot.com/2010/08/getting-sql-azure-data-on-lightswitch.html I did feel that the build and run were painfully slow.

Tue, Aug 31, 2010 Martin Z Dallas, TX

I tried the Lightswitch Beta with a small 100 record database and the results were horribly slow. The screen would load but the foreign key columns would slowly pop in to the grid/details page they give you the option of using. Also, the Click Once deployment requirements seem to be a bear, much more than just generating a few websites and allowing you to move folders around on your own (they don't give you the option). I also did not like the client server install option on a friends machine (with VS2010/.Net4 already installed) taking > 5 minutes to download the extra required items on a 3mbps connection. If it's plain Silverlight as a client why would the Client-Server install require so much extra crap? Yes it was easy to get a nicer UI than the Dynamic data site generates with much easier customization but the performance is not worth it. Some of you will say "It's a Beta, what did you expect" but I would say "it's based on technology we've had for years (inc. WPF and/or Silverlight) and yet it's much slower than classic ASP"... The Gold/RTM version is a ways away.

Tue, Aug 31, 2010 Marc

Thank you for embracing this new technology so wholeheartedly. Many applications are not built today because they seem not economically feasible. Use of LightSwitch will increase end-users productivity without much investment in development, just like the use of MS Access did. Unlike Access, however, LightSwitch does not limit one's options due to its extensibility.

Add Your Comments Now:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above