Microsoft LightSwitch is a rapid application development tool for creating three-tier cloud-based applications. We are going to examine the process of creating a simple application in LightSwitch and then answer the question of how this development tool can be used in your organization.
When a new project is created, LightSwitch initially invites the user to “start with data” and either create a new table or attack to an existing data source. (The external data sources can be a SQL Server or other database connection, SharePoint, or a WCF service.)
The table editor is fairly easy to use and allows the user to choose some predefined formatted types such as “phone number” and “email address”.
Now that we have created a table, we look over to the solution explorer and see that we can create screens.
The editor presents several pre-defined screen types. For our sample, we are going to create a “List and Details” screen, which will give the user a list of records and allow them to edit those records.
Next, we can click on “Add Data Item” and add a new query for our address_books table.
Now, we can click the “add” button and choose the “address books” table.
With no additional work, the application we have created can now be run. In less than five minutes, we have created this application.
So what have we actually created?
First off, we have a three-tier application. The application above is the front end. It uses a web service to post and retrieve its data. The third tier is the SQL Server database. LightSwitch contains a publishing wizard that can be used to publish the application to an IIS web server.
Like other Silverlight applications, the application itself is contained within a .xap file. This file is actually a plain old zip file – you can rename it to have a .zip extension and then open it with Windows explorer.
LightSwitch is clearly not versatile enough to replace .NET for Enterprise-level software, but for a light-weight data-driven application, say, something that you would have created with Microsoft Access in years gone by, LightSwitch provides a useful tool. It is important, though, to understand that rapid development tools are not a replacement for the software engineering process – application should still be properly and thoughtfully designed.
image credit: Paul Cutler