Microsoft has introduced LightSwitch—that’s Visual Studio LightSwitch, a point-and-click, template-driven development environment that outputs C# or Visual Basic code through a wizard-driven deployment process. The project is currently in beta form, and no release date has been set yet.
Doug Seven, group product manager of Visual Studio at Microsoft, said that LightSwitch will be a standalone product. “LightSwitch is part of the Visual Studio family of products, and can be installed as an integrated component of Visual Studio Pro and above,” he said.
Developers using the software can choose from templates to start their projects. From then on, pointing and clicking can be used to set up the database connection and lay out the on-screen forms and interface.
LightSwitch will generate either C# or Visual Basic code, a choice developers make at the outset of project creation. When asked how maintainable the automatically generated code will be, Seven replied that the generated code is done following best practices and patterns for three-tier architecture, including separation of concerns, client- and server-side validation, and proper data access practices.
A completed LightSwitch application can be deployed (via a wizard) as a desktop client or a Silverlight-based Web client. Additionally, Seven said that LightSwitch will offer publish-to-cloud functionality, although this capability is not implemented in the initial beta.
LightSwitch is targeted at building data-backed applications, said Seven. “LightSwitch enables developers to easily aggregate data from multiple sources by creating Entity models of the data. This enables developers to associate different data sources using patterns similar to foreign-key relationships. Essentially, the working of the various data stores is abstracted, enabling the developer to think about the data model, not the data source.”
Seven also said that LightSwitch is heavily focused on business users, because adding custom business logic and rules is core to line-of-business applications. “LightSwitch makes it easy to add custom logic to models and screens (either as validation rules on models, or control execution events in screens). Ultimately, because LightSwitch is just a .NET implementation, the possibilities are wide open,” he said.
The main goal, said Seven, is saving developers time. “We have been working on the idea of LightSwitch for a while. The idea was born from our developer division as we looked at the common problems faced in both small/mid-size businesses who have limited IT capabilities and resources, and in enterprises where the needs of the IT resources exceed their capacity. We wanted to provide tools that would enable developers to quickly build professional quality line-of-business applications with the flexibility to grow and scale as the needs of the application grow.”