LightSwitch 2011: Truly "Coding Optional"?
Visual Studio LightSwitch 2011, the development tool intended to help non-developers produce business applications, was released earlier this month. Ever since the beta release last year, it has been the subject of some debate over the intended audience for the product — specifically, whether it is actually meant for people with no programming background, or if it would be better targeted toward developers with junior or entry-level experience.
InfoQ recently spoke to Steve Goguen, a developer who has been working with Visual Studio Lightswitch, to get his opinions on the product and its usage.
InfoQ: How long have you been working with the product, and how many LightSwitch applications do you have currently in use?
We started using LightSwitch a few months back and have since pushed out two applications. One is an early phase of our new product database and the other is a back-end interface for some customer facing applications.
InfoQ: What are your impressions of LightSwitch so far?
As a developer, I have a mixed opinions. I love how easy it is to build a new database application and I love how designing forms doesn't mean you're counting pixels and laying out labels and textboxes by hand. Most of all, I love how quickly you can start with a concept and push out a Silverlight Application on the intranet quickly. I like getting feedback early. On the other hand, I wish the support for using existing databases was better. I would love to build some front-ends to some poorly designed databases but LightSwitch has made it a little too time consuming at this point. I like the Business Rules / Validation model they use because it's designed to be straightforward to a junior developer, not an abstraction geek like me. While the rule model might not be ideal for very large applications, it's flexible enough for many small applications.
InfoQ: Microsoft advertises that LightSwitch is meant for users of all skill levels, and that applications are "coding optional". Do you think it’s possible for someone with no development expertise to create a fully-functioning application this way?
How many applications are really "coding optional"? As much as the marketing guys love playing up "the development tool for the business guy" angle, the fact of that matter is LightSwitch will force the end-user-developer to use C# or VB.NET at some point. Even if you're just using VB or C# for calculated fields and validation, end-user-developers will struggle with it sooner than you think, because they've always struggled with imperative programming languages. End users like declarative languages which mimic the Excel model, because Excel solves the problem of when and how things are calculated for you. LightSwitch solves these problems by giving you events to handle and class methods to implement and you have to be careful how you handle these events or else you can make a mess of things.
InfoQ: We’ve seen a few articles positing that LightSwitch is a pretty good Rapid Application Development platform, but that it’s being targeted to the wrong people. Do you agree?
While I agree there is always an opportunity for an end-user LOB app builder, it would be a mistake to portray LightSwitch as being that solution. Besides, I think [some] of these articles fail to recognize a real opportunity to make LOB app development easier for average developers, particularly Microsoft developers who are typically attached to their tools.
While it remains debatable if LightSwitch is truly "coding optional," Goguen does see it as a useful application in some cases. As he sums up, "Adding a presto-instant-app tool to their belt makes sense, especially if that tool can be extended with custom controls, data providers, and other .NET libraries."
Have you worked with Visual Studio LightSwitch? If so, what has your experience been?