Although it wasn't supposed to be released yet, the LightSwitch beta has shipped early (Thursday 19th August) to MSDN subscribers and will go out to end users on Monday 23rd. It is not often a project, even a beta, ships early and this is probably a reflection of how long the project has been under wraps at Microsoft. We take a first look

Installation is easy - from a DVD or via the web. As an add-on to Visual Studio it offers two new project types which differ by language - C# or Visual Basic. How will the innocent cope with this early technical choice?

From here the steps follow what you might expect from this sort of application generator - first define or import your database table. If you do opt to define a new table you are expected to understand technical terms such as Int32 and String. You also have access to more practical data types - telephone number, email and so on and these come with validation built in.

Once you have a data table you can move to define a screen, i.e. a form, using one of the standard templates. The Screen can be associated with a data table and you can then edit the layout using a tree diagram giving the relationship between components.

You can add custom controls and write code to provide actions. You can also customise the screen in live mode, i.e. while the application is running.

The problem is that as soon as you click the Write Code tab you are presented with full C# or VB - if you are trying to avoid such horror there isn't much you can do with LightSwitch. It isn't even particularly pretty code in the sense that the generated portions haven't been hidden of simplified.

Once you have your screen and custom code you can deploy it as a local application, client server application (which needs IIS etc) or a web application.

After spending a few hours working with LightSwitch the effect is unimpressive to anyone who has used an application generator before. In fact there is little that can be thought of as revolutionary or even innovative. Even BizTalk managed to allow the user to build processes using a graphical editor and so does Scratch, which may be aimed at children but is easy to use and forms a gentle introduction to programming. LightSwitch could do a lot more than it does to provide access to application creation for non-programmers.

So is LightSwitch a flop?

No not really. As a RAD application generator it could save a lot of time. You can create a database and form complete with queries, computed fields and so on in no time at all. This means you can get to the interesting bits so much quicker and start coding the unique part of the application. Given that the entire project is in C# or VB you can even take your RAD prototype and extend it into the real application.

But "LightSwitch is for non-programmers" is just silly.

Further Reading

Microsoft Virtual Academy has provided a challenge to devs for the month of February with Know it Prove it. The idea is that you engage in one or more of eight learning challenges, each with 28 days o [ ... ]