In December, I reviewed the new Visual Studio 2012, and I briefly mentioned that it includes a new version of Microsoft LightSwitch.
LightSwitch first came on the scene two years ago, and although I felt it had a certain amount of promise, I had serious reservations about suggesting it would take off in sales. Essentially it’s a rapid application development (RAD) tool for building database applications quickly and easily with no programming, while allowing advanced developers to actually go in and write C# code.
But there was a problem with it that I, personally, felt was a serious flaw: The final programs ran under the Silverlight runtime. But now they’ve changed that, with a new “HTML5 Client” version.
This makes sense. Since the first LightSwitch came out, Microsoft seems to have, on one hand, backed off a bit from Silverlight, instead focusing on the HTML5 features of Internet Explorer, but at the same time including Silverlight support in Windows 8.
However, that doesn’t mean I develop for Flash. I don’t. But it is available and it makes more sense for somebody to choose something as ubiquitous as Flash over Silverlight to develop browser plug-ins.
Creating the Project
LightSwitch is built right into Visual Studio 2012 as a project type. In the New Project dialog box, there’s a section called “LightSwitch” and it has four types: LightSwitch Application for Visual Basic, LightSwitch Application for C#, LightSwitch HTML Application for Visual Basic and LightSwitch HTML Application for C#.
The first two are Silverlight applications, and the second two are HTML5 applications. For these tests I’m using the HTML5 C# project.
After creating the initial project, you get to set up the data. This is where the tool is supposed to be easy for non-technical people. You can either attach the application to an existing database or use a simple modeling tool to create your tables. You still have to have a basic understanding of what tables and relationships are. However, I’m not sure how easily a non-technical person could handle it (or even be willing to).
If you create the tables, you choose the names for the fields. The tables automatically get an ID field that’s an integer and a unique key, which as far as I could determine in this project, you can neither change nor remove.
For the rest of your fields, you can choose between a large set of data types, such as numbers, dates and strings, but also higher-level fields such as Money, Percent, Email Address, Phone Number and Web Address.