Microsoft Aims Its Latest Tool, LightSwitch, at Professionals. Is it a Tool for Pros?
Microsoft has announced a new product, Visual Studio LightSwitch, during VSLive! keynote in Redmond. LightSwitch is a VS product tailored for easy creation of Line of Business (LoB) applications. Some developers wonder if LightSwitch is truly for professionals, comparing it with Access.
LightSwitch is currently in beta, and will be made available to MSDN subscribers as part of VS Professional, Premium and Ultimate on August 23rd, but its main features have been disclosed:
- LightSwitch generates Silverlight applications
- It has a number of pre-built templates
- Programming languages supported: C# and VB.NET
- Supports SQL Server, SQL Azure, SharePoint and Office
- Applications run in the browser, out of the browser or in the cloud
- LightSwitch does most of the plumbing work, including lots of drag and drop features, but it allows the developer to access the .NET Framework if necessary
LightSwitch offers a number of templates, guiding the developer through several steps, allowing him to choose the data sources he wants to use, offering wizard dialogs to create business entities and relationships between tables, letting him use Office Tools to carry out some operations, customizing the application screens to reflect the specs, then generating a Silverlight application containing a number of forms that can run in a supporting browser, out of the browser or it can be deployed on Windows Azure. The resulting project can be opened in Visual Studio to add extra code in order to extend the application.
Microsoft targets LightSwitch to professional developers, but a number of developers have expressed their concerns on that. Frans Bouma, creator of the LLBLGen Pro, thinks LightSwitch is for amateurs:
What puzzles me with LightSwitch is: what's the target audience? Who is supposed to use this tool instead of another tool? Is this a tool to sell more SharePoint licenses, more Azure licenses? I have no idea. The main problem is that there's some friction in the image of LightSwitch. Microsoft says LightSwitch is aimed at the tech-savvy non-developer who wants to create a LoB application without needing to hire a truck full of professional developers. In short: a tool for an amateur who wants to 'Do It Him/Herself'. The friction is in the level of knowledge a person apparently has to have: what's a database, what's a table, what's an entity, what's a screen, what's validation etc.. So is it really an amateur tool for amateurs or is it an amateur tool for professionals? …
Microsoft LightSwitch is a tool for amateurs to produce stuff amateurs will produce. It's a mistake to think the stuff produced with LightSwitch will be usable by professional developers later on to extend it / maintain it or will appeal to professionals.
Neil Robbins considers Microsoft should create a hobbyist division where apps like LightSwitch should belong to:
I keep trying to persuade myself that MS are serious about professional developers, but it's getting hard. From TFS to Microsoft.Data and WebMatrix the crap grows, & now MS adds to the problems with this. No wonder MS and its dev community have a poor reputation beyond its own shores. You do a good thing like ASP.NET MVC, Linq, or F# and then let it all down with this. If MS is going to produce this sort of stuff it needs to firmly distance it from the professional developer tools & make clear that it is not fit for professional use. Create a separate hobbyists division, but don't blur the lines like this.
Jason Zander, Corporate VP for Visual Studio at Microsoft, replied to Neil Robbins:
LightSwitch is not meant to replace Visual Studio Professional or the kinds of apps you can build there. It is good for rapidly producing an application. The app the tool produces does target a 3-tier architecture, it is built directly on .NET features (many you'd be writing yourself anyway), and you can use advanced language features like LINQ in the code you write. As I mentioned in the post it won't be for every developer or every application, but for some apps it's great.
Joe Feser hopes LightSwitch will not create the same problems as Access in the past:
I have been fighting that for 13 years on an existing access application. When a non technical person puts together a screen in 4 hours they wonder why it takes a week to do otherwise.
Hopefully this does not create server side cursors like access. At least that will be a step in the right direction.
Sadly enough I will most likely use it to convert 50-100 forms over from Access just to get it off Access and get some source control in place.
LightSwitch comes shortly after WebMatrix, another Microsoft solution aimed to simplify web apps creation. There are some differences between the two solutions: WebMatrix is for HTML/ASP.NET web apps with an HTML UI. LightSwitch generates Silverlight LoB applications.
In the past I was a contract developer for grant-sponsored health clinics. They needed basic CRUD applications to assist in gathering data related to whatever grant they were working on. These applications had a very short lifespan, often 6 months or less. Based on the screen shots, this would be a perfect replacement for the Access-style apps I would give them.
Great for certain scenarios
Many IT specialists don't understand that many business people actively avoid IT departments because of the what they see as their obstructionist frameworks, controls, polices, etc. Developers need to understand that applications are built to solve or improve business processes not to perfect application design.
Re: Great for certain scenarios
Businesses also need to realise that good application design is necessary to build stable/reliable and maintainable business applications. A buggy application that crashes all the time WON'T solve or improve business processes.
I'm dreading the day a LightSwitch app gets handed over to me that was put together by an amateur and no understanding of good software design principles. You'll never catch me building a house or performing open heart surgery, for that you need a trained professional.
As for the simple apps argument, I've seen too many so called 'simple' apps that ballooned in complexity as the client requested more and more features. Technologies like Access and LightSwitch might work if the app remains simple, though that's rarely the case.