St. Louis Day of .NET was the debutante ball for Microsoft's LightSwitch--LightSwitch was released just the prior week, and Jay Schmelzer was on hand to deliver the keynote address. There has been some as to why Microsoft developed LightSwitch, and what LightSwitch's place in the world. Jay did a great job addressing those questions before developing an application on stage. Below are my paraphrased notes from introductory material; the scenarios Jay discussed were quite familiar to me from my previous roles in enterprise, and LightSwitch's role is becoming much more clear to me. From the keynote:
In today's enterprises, developers aren't the only one developing applications. Central IT departments often have more requests than they can handle. End users are taking matters into their own hands, using tools like Access and Excel, or hiring external personnel to develop a solution. IT finds out about these solutions only when there are problems. According to Gartner, by 2014, 25% of all business applications will be built by "citizen developers". Gartner also estimates there are 6 million information workers in the US and UK who are latent application developers. Millenials, who are used to a higher degree of interaction and automation, will swell the ranks of business developers as they enter the workforce. These statistics indicate a great potential for applications to be developed outside of the IT department; corporate IT can fight this trend, or embrace it. LightSwitch is focused on three main points:
- a simplified development environment, sending users down the path to success with defaults which enforce best practices.
- speed to solution
- flexibility for today and tomorrow, where we devs can fix and maintain applications in our tools
LightSwitch is intended to be the simplest way to develop line of business applications for the desktop or the cloud. The business user can focus more on their task than the plumbing. LightSwitch is a developer product, and its users need to be comfortable with the idea they may encounter some code. LightSwitch is extensible, and developers can their own screen patterns. Users are not coding an application; they are creating an application model. Code does not exist until the application is compiled. From the application model, LightSwitch produces Entity Framework data models, WCF RIA Services and MVVM classes.
Personally, if I were still a corporate developer, I'm still not sure I'd hand a tool like this over to the end users who don't understand data normalization, deployment patterns, authentication/authorization and so on, but I would be inclined to clean out some backlog using LightSwitch. To me, the next logical steps for LightSwitch v.next would be some very brief and non-technical P&P for "citizen developers", and the ability to deploy an application as a SharePoint web part. I know corporate IT is probably a little reluctant to provide web hosting space for just whatever, but they might be a little more open to deploying LightSwitch apps to a user's SharePoint My Site as a web part.