A couple weeks ago, Microsoft announced a tool called Lightswitch, and the response in the development community has been almost universally tepid. One of these responses really caught my eye, though. It was from Bill Vaughn, who's been the patron saint of Microsoft data access for as long as there's been Microsoft data access. This guy knows a thing or two about what works, and he was dumping all over Lightswitch.
I left a comment on his post, and I thought it had been swallowed up by the great spam filter in the sky, but Bill just resurrected it (thanks, Bill!) and responded. It looks like the biggest fear with Lightswitch is that this tool is going to be used to create a bunch of garbage apps that "pros" have to come and clean up later. This sentiment is echoed across many of the lukewarm comments I've seen elsewhere, too.
- We already have developers cranking out lousy prototypes, but with today's tools, they take longer. In fact, they take long enough that an awful lot of developers look to platforms like Ruby-on-Rails to do prototyping, and that's not helping the MS developer tool position a whole lot.
- If a tool like this were positioned specifically as a "non-production use" tool, you'd have at least a chance of setting proper expectations about would need to happen in order to scale apps up for production deployment.
- There are very few shortcomings in Lightswitch that couldn't be substantially addressed via some sort of code generation. A modern-day "upsizing wizard" could solidify a database schema, generate an Entity Framework model, even generate stored procedures if you want them. The work I've done recently with the Code-First functionality in Entity Framework's recent CTP convinced me that the concrete constraints we're used to between DB and data access code might go away soon. I've also seen some really great schema transformation capabilities in Visual Studio's Database Projects. When this stuff comes together, I can absolutely envision a "pro" developer sitting down with a Lightswitch application and refactoring it into a high-quality application.
All good developers would rather see an application start out with a proper foundation and high-quality architecture. We hate seeing messy apps, and we hate cleaning up after junior developers, or worse -- amateur developer wannabes.
But there's a business problem that we can't ignore: we're expensive - especially when we sit down to "do something right." There is a need need for business owners and managers to produce prototype applications at a reasonable cost. If Microsoft doesn't provide that capability, someone else will. You may not like that, but it's a fact.
And here' s another fact: If applications are being prototyped on someone else's application development stack, guess which stack is going to get first crack at upsizing those apps when they need to be scaled?
Lightswitch might not be the prototyping tool we'd all like to see in its current form, but don't let that distract you from the fact that Microsoft needs to be present in this part of the market. It's important for them, and it's important for you, too.
Related articles by Zemanta
- Visual Studio LightSwitch brings development to business managers (infoworld.com)
- Microsoft turns on Visual Studio LightSwitch (arstechnica.com)
- Microsoft Simplifies Visual Studio (pcworld.com)
- A schizophrenic development platform (componentoriented.com)