It's no coincidence that the team at Microsoft responsible for Visual Studio LightSwitch is the same team that produced the shiny SharePoint 2010 and Office 2010 developer tools. That's because these products address some similar needs and requirements, albeit in a very different manner. Let's look at what LightSwitch is and why it could be important to us in SharePoint land.
What Is LightSwitch?
In a nutshell, LightSwitch is a development platform designed for rapidly building line-of-business applications. The market space for such applications is highly contested, but LightSwitch has two features that make it quite compelling: its architecture and its tool set.LightSwitch provides a strongly defined, sandboxed architecture—it's a Silverlight 4.0 application built around Entity Framework, ASP.Net, LINQ, WCF RIA Services, and SQL Server. Limiting? Perhaps, but many frameworks fail simply in trying to be all things to all people. LightSwitch solves some pretty specific business needs but in a way that removes the complexity and overhead of designing, integrating, and maintaining a whole series of components at the data, service, and presentation layers—a serious challenge these days with the plethora of options that exist.
The product does have some pretty solid foundations—it's inherently n-tier and it uses Model-View-ViewModel, OData, and similar design patterns and practices. Importantly, LightSwitch also provides a broad range of extensibility points in the form of themes, "shells" (i.e., UI templates, one common example being a touch option), controls, data services, and more, making it a robust and durable development option. (Incidentally, LightSwitch also employs a model-driven architecture, so its entire presentation tier could theoretically become an HTML 5 solution in future.)
On the tools side, LightSwitch is a full-fledged version of Visual Studio that you can add to an existing installation, but you can also purchase and install it as a standalone product. Being part of Visual Studio means that LightSwitch includes all the features you've come to expect in Visual Studio, like a rich project structure, navigation, source control integration, intellisense, and more. These two features—the defined architecture and the tool set—mean LightSwitch could potentially become the WYSIWYG of application development.
The burning question is how LightSwitch compares, on one side, with Access, InfoPath, Visual Basic, SharePoint, and other products that embody principles of rapidly providing applications with little or no developer involvement, and on the other side with the professional edition of Visual Studio. LightSwitch aims to live in that murky place in the middle, so let's try to understand it from the perspectives of three different stakeholders.
I'm a business user/analyst. Why is LightSwitch important for me? LightSwitch differs from the other tools in the rapid-application camp in that it offers an actual development foundation—there's a real development project and a real executable that can be feasibly managed by IT. The extensibility options outlined above also mean it can take you a lot further, while at the same time governance, customizability, and scalability are more manageable.
I'm a developer. Why is LightSwitch important for me? LightSwitch is an actual Visual Studio project, which means you get Application Lifecycle Management (ALM), source control, and referencing other projects in the same solution for extensibility and functionality. LightSwitch aims to help the enterprise (business, developers, and IT) better handle what Microsoft calls "the multi-year application request backlog" ("The MOSS Show SharePoint Podcast, Episode 38," http://tinyurl.com/422x8ou). With LightSwitch, you might reach only 80 percent of an application's requirements, but you can do so a lot more quickly and in a way that makes the remaining 20 percent of custom development very feasible. It's similar to using SharePoint in that way, but it's a client-side, cross-platform application that only Silverlight can provide. It's also built for cross-data source federation in a more lightweight, simple, transaction-based approach than Business Connectivity Services (BCS), for example.
I'm an IT pro. Why is LightSwitch important for me? IT pros also want those "multi-year requests" answered, but they have the added concerns of manageability of hardware and software, and visibility of what's running on the network ("We have an app doing what, and sitting where?!?"). Being inherently n-tier and built around Microsoft's web and SQL Server stacks, LightSwitch is far more lightweight than a SharePoint/Excel Services/BCS combination, for instance. IT departments simply need to provision SQL Server and IIS environments (either on premises or by using LightSwitch's Azure deployment option), and then watch what applications pop up.
What's the Catch?
Like any tool, LightSwitch has boundaries. For instance, it has some specific SharePoint limitations, such as not supporting attachments or external lists (it uses the vanilla SharePoint 2010 OData service, so the same limitations that apply to other consumers of this service apply to LightSwitch as well). It's also got a price tag, which will deter those on a tight budget. The greatest challenge facing the product, however, is likely to be the positioning—stuck in the middle ground, it's squeezed from both sides and faces competition externally and even internally from other Microsoft product teams.
LightSwitch is a very new player—it's currently in beta 2, but it's certainly an exciting product. (Note that this beta includes a Go-Live license, meaning that you can already deploy applications to production with limited support from Microsoft.) Many tools, frameworks, code generators, and more, within and outside of Microsoft, claim to do what LightSwitch does, but for what it's worth, I feel LightSwitch offers a pretty unique combination of solid foundation, capabilities, tools, and extensibility that give it some real potential. We're going see a lot more from this product in the next few years.With special thanks to Jay Schmelzer for assistance on this article.