Feeds

Microsoft trips on Visual Studio Lightswitch

Latter-day Access needs less code

The essential guide to IT transformation

Review Microsoft's Visual Studio LightSwitch, just released to beta, is a new edition of Visual Studio 2010 and will become the next step up from the free Express.

In other words, it will be paid-for but cost less than the existing Professional version. Do not be fooled though: although this is a low-end tool it is one with high ambitions.

Some two years in the making, it aims to simplify the building of business database applications, particularly at the departmental or small business level, but to do so in a way that respects Microsoft's current ideas about best-practice software architecture.

You can think of it as a modern-day Access or FoxPro, except that this is 2010 and LightSwitch builds Silverlight applications, both desktop and browser-hosted, that retrieve data over the internet or intranet and which might even run on a Mac.

LightSwitch is a departure from a model of visual programming that Microsoft has used since the first Visual Basic in 1991. This old model involves building a form with drag-and-drop visual components, then writing code to make it work. LightSwitch has no visual form designer, at least not in that sense.

Screen designer

Screen designer is where ease of use begins to break down

Screens are defined as a list of components bound to data, and you can only find out how a screen will look by actually running it. The size and position of components is set by LightSwitch. It is an implementation of Model/View/ViewModel (MVVM), which is a variant of the Model-View-Controller (MVC) pattern currently fashionable in Microsoft circles. While the merits of NVVM are arguable - some find it over-complex - Microsoft deserves credit for creating an easy to use tool that at least attempts to follow a sound architectural pattern.

Database connectivity and user authentication in LightSwitch uses WCF RIA Services, Microsoft's web service framework for Silverlight, though developers are shielded from the details. This means there is a middle tier running on Microsoft's IIS web server.

The middle tier connects to data via Microsoft's Entity Data Model, and out of the box LightSwitch supports SQL Server, SharePoint, or any generic WCF RIA Service. Azure support for both data and deployment is promised in the final release, as is Microsoft Access databases, but neither is present in the beta.

So how does this look to the developer? LightSwitch is firmly data-centric, and after choosing between Visual Basic or C#, the first thing you have to do is either to create a new table, or attach to an existing database. If you are starting from scratch, LightSwitch uses SQL Server 2008 Express. The table designer is a good effort, simplified but still powerful, with common-sense business data types like EmailAddress, Money and PhoneNumber as well as the usual Ints and Doubles.

Plumber required

LightSwitch aims to handle as much of the plumbing as possible, leaving you to concentrate on the business decisions. For example, ID fields are there by default, and when you create screens, client-side validation based on data type is automatic.

The table designer also handles queries, relationships and computed fields. When you create a relationship, a diagram and plain English description explains your choices, such as: "An invoice can have many InvoiceDetail instances." You can also specify delete behaviour, and LightSwitch will either implement cascading deletes, or prevent deletes that would leave orphaned rows.

Once you have defined the data, you can add screens using templates such as search forms, editable grids, or list and details. LightSwitch then builds a screen and displays it for modification. The screen designer is where LightSwitch's ease of use begins to disappear, though in simple cases you may not need to make many modifications. This is also where you can add custom code for events such as screens loading, controls changing their values, or data saving. It is not too bad; but one can imagine occasional developers used to Access or Visual Basic finding this designer perplexing.

Runtime customization mode

Runtime customization mode is the nearest thing to a visual form designer

An intriguing feature is that you can customize a form in the debugger. This helps to mitigate the lack of any visual designer. In customization mode, you get access to the component list and property editor along with a preview of your screen, all implemented in Silverlight.

LightSwitch is impressive, even in its beta state, which is by no means fully stable or complete. But does it succeed in its aims? As an effort to simplify database design, it is Microsoft's best effort yet, but as an application building tool I am not so sure.

LightSwitch creates large amounts of code: I followed through the tutorial for a simple application and the generated files included 4,500 lines in a file called DataRuntime.cs, for example, though you are not meant to care about this. This may be why performance seems disappointing; but this is an early beta so that may change.

Another issue is that moving from the pre-built screens to something more fully customized is a challenge: you have to create data-aware Silverlight custom controls and hook them into the screens. Finally, there is the question of whether the target developers are ready to abandon the comforts of Excel and Access for the mysteries of Silverlight, LINQ, MVVM, and no visual form designer.

This is a brave effort though, tackles a real need, and shows Microsoft's continuing commitment to the Silverlight platform. ®

Secure remote control for conventional and virtual desktops

More from The Register

next story
Microsoft boots 1,500 dodgy apps from the Windows Store
DEVELOPERS! DEVELOPERS! DEVELOPERS! Naughty, misleading developers!
Apple promises to lift Curse of the Drained iPhone 5 Battery
Have you tried turning it off and...? Never mind, here's a replacement
Mozilla's 'Tiles' ads debut in new Firefox nightlies
You can try turning them off and on again
Linux turns 23 and Linus Torvalds celebrates as only he can
No, not with swearing, but by controlling the release cycle
Scratched PC-dispatch patch patched, hatched in batch rematch
Windows security update fixed after triggering blue screens (and screams) of death
prev story

Whitepapers

Endpoint data privacy in the cloud is easier than you think
Innovations in encryption and storage resolve issues of data privacy and key requirements for companies to look for in a solution.
Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Advanced data protection for your virtualized environments
Find a natural fit for optimizing protection for the often resource-constrained data protection process found in virtual environments.
Boost IT visibility and business value
How building a great service catalog relieves pressure points and demonstrates the value of IT service management.
Next gen security for virtualised datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.