Author: Alessandro Del Sole
Publisher: Sams, 2012
Aimed at: Programmers who know VBA or some other language
Pros: A good guide to LightSwitch
Cons: Still doesn't really come up with a good reason to program in LightSwitch
Reviewed by: Kay Ewbank
Is Visual Studio Light Switch for users or developers, and does this book help you decide?
Another day, another development option that claims to offer a breakthrough, this time in business applications development for Windows clients, the Web and the cloud. Or as Mike James put it in his discussion of LightSwitch, a Visual Studio based tool that in theory allows non-programmers to create the applications they need, but that in reality is a tool that allows Office type applications to be wired together. He suggests we think of it as a super macro generator where the macro language is either C# or Visual Basic .NET.
Described like that, it sounds as though it might be useful, though given Microsoft's track record for inventing better mousetraps then deciding to throw them in the bin, it's difficult to know how long it will remain in the Visual Studio mix. This comes to mind particularly as LightSwitch is described as having been invented for the creation of business applications based on the .NET framework, which given the way Windows 8 is going, doesn't look particularly futureproof. That caveat in place, the book is fairly well written.
Alessandro Del Sole has been best known as a Visual Basic MVP, but in this book he turns his attention to LightSwitch. The book starts with a basic introduction to LightSwitch and the IDE. This is where the story already starts to get complicated. If LightSwitch is really meant to be for non-programmers, will they really feel at ease encountering an Entity Designer rather than some point and click wizard?
You then move to the screen designer, which unlike the rest of Visual Studio, doesn't show you a visual representation of the forms you're designing; instead, you work with a hierarchical representation of the controls that will make up your forms. For a programmer, that's sort of OK, but will non-programmers really be comfortable? The descriptions are all clear and understandable though, and as developers you'll be quite happy.
The book then moves on to working with and manipulating data. This really forms the heart of the book, with four chapters covering data validation; querying, filtering and sorting; using buttons, COM automation and extensions; and aggregating data from different sources. This latter chapter covers SQL Server, SQL Azure, and working with SharePoint.
There's a section on securing and deploying applications before Del Sole moves on to advanced LightSwitch - event handling, and how LightSwitch apps are put together in terms of the three tier architecture. The final part of the book looks at 'extensibility' topics such as customizing the IDE; creating your own custom controls; themes and shells; and extending the data handling with custom data types for business apps and custom data sources.
The examples are all in Visual Basic, though they can also be seen in Visual C# on the associated website. Overall, I found the book to be well written and understandable. I could imagine someone who had learned to program by developing macros in VBA would be able to use it to move on to LightSwitch, and certainly anyone who already programs in VB.NET or the other Visual Studio environments would have no problems.
The message I've taken away from this is that LightSwitch isn't going to mean your business users can create their own apps, but if you're asked to develop in it you'll be fine. In fact, having read this book, I shudder to think of the messes a non-programmer would get into trying to create apps with LightSwitch, because it is powerful and you need to know what you're doing. On the other hand, I suppose that's just more work for developers who then have to sort the mess out and make things work.