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.
Andrew Brust is Research Director for Big Data and Analytics at Gigaom Research. Andrew is co-author of "Programming Microsoft SQL Server 2012" (Microsoft Press); an advisor to NYTECH, the New York Technology Council; co-moderator of Big On Data - New York's Data Intelligence Meetup; serves as Microsoft Regional Director and MVP; and is conference co-chair of Visual Studio Live!