Visual Studio 11 Beta Includes LightSwitch v.Next

Microsoft released the next version of Visual Studio LightSwitch as a part of their Visual Studio 11 Beta preview. That doesn't necessarily mean that LightSwitch will no longer be available as a stand-alone product, as the current released version is also available as an add-in to Visual Studio. It does, however, give LightSwitch developers access to the full range of Visual Studio tools as they evaluate this new version.

There have been quite a few enhancements to Visual Studio focused primarily on programmer productivity. The first thing you may notice when you launch Visual Studio 11 is the Light color scheme and icons. Gray is the new default background color along with basic black icons. You could also choose the Dark color scheme, which is essentially inverted from the Light scheme. The idea here was to reduce distractions caused by the multitude of colors and icons in previous versions.

You'll find lots of support on the testing front in the beta release. There's built-in support for unit testing and a whole host of third-party framework support including MbUnit, NUnit, and xUnit. The native testing support includes a new Unit Test Explorer for quickly assessing test results. Other support includes a new test isolation and stubbing framework called the Visual Studio Fakes Framework. Code Coverage is another feature shown some love with this release.

New Data Option

The biggest and most obvious new feature in this release is native support for OData (see Figure 1). This brings a whole new world of possibilities for connecting LightSwitch applications to external data sources. OData defines a protocol for the querying and updating of data utilizing existing Web protocols including HTTP, AtomPub and JSON. LightSwitch can both consume and publish data via an OData connection. OData support also gives you an alternative choice for connecting to currently supported sources including SharePoint.

Connecting to an OData source is relatively straightforward, requiring you to know the URL for the OData source (see Figure 2). You'll find the familiar Northwind data source on the OData site available as a Read-Only service. After entering the URL you'll have the opportunity to choose the entities you wish to use in your application (see Figure 3). Once that's done you should have a list of all available tables in the Solution Explorer window. From this window you can right-click on a table to add a query, view code associated with the table or open the table in the design tool.

More of the Same

If you want to use a Visual Studio LightSwitch created with a previous version, you'll have to upgrade it first. The process is exactly like what you'd expect when upgrading any Visual Studio project from a previous version (see Figure 4). We were able to upgrade several smallish demo projects with no issues. There aren't any radical changes or deletions in this release so upgrading should not pose a big issue.

There really is nothing new in the way of screen templates with the beta release. You still have the same five templates - Details, Editable Grid, List and Details, New Data and Search. There are a few new options on the right-click menu including 'Scope to This' and 'New View'. The 'New View' option opens a new Solution Explorer view with your target item as the parent option. This could help manage really big solutions as this window can be separated from the main IDE window and relocated to another monitor. 'Scope to This' will do essentially the same thing in the existing Solution Explorer window.

Bottom Line

Microsoft has provided a 'Go Live' license with the beta version of Visual Studio 11, so you can actually build and deploy solutions based on this release. You definitely won't get the most optimized code, but it will let you take advantage of new features like OData. You'll also have to put up with bugs and missing features should you choose to build 'real' code with beta software. It's definitely worth a look, especially if you have any OData sources you want to use.