Flipping on LightSwitch
April 23, 2012 —
(Page 1 of 4)
Related Search Term(s): LightSwitch, Microsoft, Visual Studio
Everyone’s aiming for the “citizen developer,” but lately that elusive customer has led Microsoft on a snipe hunt. With LightSwitch, the company has a rapid application development (RAD) tool, that no one—not even Redmond or its partners—seems to know quite what to do with.
When Microsoft announced the Visual Studio LightSwitch beta in August 2010, the target audience was Access users. The developer community response was predictably negative, envisioning monstrosities similar to what corporate users often created with Microsoft Access, which grew until they “became self-aware and literally devoured the entire office,” blogged Kevin Hoffman, “The .NET Addict,” in July 2010.
“Finally, as this story always ends the same way, someone from IT was tasked with converting this Access DB/Excel sheet/pile of sticky notes into a legitimate, supportable, maintainable application.”
In February, Microsoft announced exciting changes for LightSwitch in the Visual Studio 11 beta, which comes with a Go Live license, meaning projects built with the beta can be deployed to production. With major enhancements such as OData support, the IDE is poised for greatness, according to its small but vocal fan club. Amid all the obfuscation, will LightSwitch finally shine?
Doing the right thing
“There’s a lot of misinformation around LightSwitch,” said Beth Massi, Microsoft’s senior program manager for the Visual Studio community. “This is definitely a developer tool. It is in Visual Studio. We’re targeting an end-user developer. It is RAD, not a code generator. You are describing an app, and it is making technology choices for you under the hood. Basically, the only code you write is the only code you could write, which is the business logic.”
Like dBase, Visual FoxPro and Visual Basic before it, LightSwitch is designed for quickly building data-centric apps. Unlike these earlier dev tools, however, it abstracts today’s .NET stack for three-tier applications with:
• Presentation in Silverlight
• Logic in C# or VB .NET, and data via OData and the Entity Framework, both hosted in ASP.NET
• Data storage in SQL Server Express (included in LightSwitch), SQL Server or, in the cloud, SQL Azure
“It’s designed to launch users down a path of success,” praised Rich Dudley, developer evangelist for ComponentOne, a maker of Windows and .NET controls. “If you start your app in LightSwitch, later you can deploy it to a Web server where the department can consume it, and you can scale and maintain it,” he said.
Unlike Access, he said, “Here’s a tool that will get you 80 to 90% of what you need and lighten the load off your developers. Microsoft always likes to highlight that it’s forcing the Model View ViewModel pattern...plus the Entity Framework, OData services for the communication layer, and Silverlight for the UI.” His colleague, product manager Dan Beall, concurred: “It’s actually forcing you to do something right.”
Productive, portable and scalable
The promise of LightSwitch, then, is for quickly building line-of-business applications that manipulate structured data, such as customers and orders, while being portable and scalable.
From a UI standpoint, LightSwitch screen design is hierarchical and declarative, replacing the typical WYSIWYG form designer with a process whereby the detail in the data model itself allows a UI to be interpreted and generated (not to mention easily re-skinned or updated without altering a line of code).
From a data standpoint, the ADO.NET Entity Framework lets you program against a conceptual application model instead of a specific relational storage schema, which avoids hard-coded dependencies. LightSwitch is designed to sidestep the typical context shifting that slows citizen developers down when they must switch from specifying application behavior to defining regular expressions. Business Types, such as Email or PhoneNumber, come with appropriate input masks and UI behavior.
Authentication, permissions and security are also built into LightSwitch’s underlying technologies, including IIS and ASP.NET, and developers have the opportunity to make important access control decisions at each application layer.
Finally, when it comes to deployment, LightSwitch applications, which are generated in Silverlight, can run on desktops, inside the browser, or in the cloud. A SQL Server Express database is included in LightSwitch. Scalability is built-in, unlike those Access or shared Excel files business users are so fond of. And the MVVM pattern at the heart of the LightSwitch application is contained in an ApplicationDefinition.lsml (XML-compliant LightSwitch Markup Language) file, detaching it somewhat from platform specifics.