This post will be covering a new tool from Microsoft, Visual Studio LightSwitch, currently in Beta.
[UPDATE: Added links to The Anatomy of a LightSwitch Application post series at the end of this post]
We will be talking specifically about:
- What it is
- Why it is a very significant development
- Why you as an Independent Software Vendor should care
Windows Azure LightSwitch is one of the most significant development products to come out of Microsoft in a long time.
The .NET platform is an extremely rich, powerful and deep development platform. The very richness of the platform has created criticism in some areas. Many developers new to .NET have been faced with a steep learning curve. Many developers creating new applications (such as simple forms over data applications) have also felt strongly that developing these applications should be a lot simpler than it is.
LightSwitch combines the ease reminiscent of Access development with the sophistication of being able to customize those applications using standard .NET tools and techniques if those applications need to do things not directly supported by LightSwitch.
Via a wizard driven process you can create a forms over data application with a two or three tier architecture, choosing a user interface selected from one of several pre-defined UI templates. When you do that a standard .NET Solution is generated such that it can be enhanced via normal .NET development techniques if the generated solution does not do exactly what you want.
When you use LightSwitch to generate an application it automatically bakes in the use of proven design patterns (such as MVVM) and the use of proven .NET components such as Silverlight and RIA Services. Because it is base on a data provider model it also supports easy connection to a myriad of data sources including SQL Server, SQL Azure, web services as well as other data sources. In fact we expect a rich ecosystem of 3rd party add-ins to be developed to extend the product. As one example Infragistics provides a touch-enabled UI template to easily touch-enable a generated application.
Two very impressive features of LightSwitch are:
1. The ability to change your mind after development and generate a solution for a different deployment platform. For instance you can generate and deploy a desktop applications and then,by changing a parameter, regenerate it as a browser or Windows Azure application. Yes, even the cloud has been incorporated and baked into its design.
2. The ability to let you customize the user interface of the application while it is still running and see the results of the change immediately. In a way this is like Visual Studio Edit and Continue on steroids!
Currently the tool is in beta so download it, try it out, give the development team your feedback and help us to shape the product.
Continuing the story on Visual Studio LightSwitch, here is an interesting series of articles on The Anatomy of a LightSwitch Application. It is a fairly in-depth 4 part Series on the subject.