Preview: Visual Studio LightSwitch beta casts shadow of a doubt

Microsoft Visual Studio LightSwitch 2010 beta 1 shows promise as an easy-to-use development tool, but doesn't seem to know its audience

One of the Holy Grails of application development has been to allow a businessperson to build his or her own application without needing a professional programmer. Over the years, numerous attempts at this goal have achieved varied levels of success. A few have survived; most have sunk into oblivion.

Microsoft's latest attempt at this is Visual Studio LightSwitch, now in its first beta test. LightSwitch uses several technologies to generate applications that connect with databases. It can run on a desktop or in a Web browser, and it can use up to three application layers: client tier, middle tier, and data access.

[ Microsoft Visual Studio 2010 is a no-brainer upgrade for Microsoft-oriented developers. See "InfoWorld review: Visual Studio 2010 delivers" | Keep up with app dev issues and trends with InfoWorld's Fatal Exception blog and Developer World newsletter. ]

The technologies used are quite sophisticated. Silverlight 4.0 is a rich Internet application (RIA) environment that can display screens in a Web browser or on a desktop, and it hosts a subset of .Net Framework 4.0. WCF (Windows Communication Foundation) RIA services allow Silverlight applications to communicate. An entity-relationship model controls the data services. (See the LightSwitch architecture diagram below.)

LightSwitch screens run in three layers of objects. A screen object encapsulates the data and business logic. A screen layout defines the logical layout of objects on the screen. And a visual tree contains physical Silverlight controls bound to the logical objects in the layout.

In a conventional Silverlight application -- or in almost any conventional application built in Visual Studio -- the user works directly with the controls and layout and writes or generates a file that defines the visual layout and data bindings. For Silverlight and WPF (Windows Presentation Foundation), that file is in XAML. The Silverlight and WPF designers in Visual Studio 2010 offer two synchronized panes of XAML code and visuals.

LightSwitch can create two-tier and three-tier desktop and Web applications against SQL Server and other data sources using Silverlight 4 and WCF RIA Services.

In a LightSwitch application, the developer never sees any XAML: The visual tree is generated on the fly from the screen layout. This insulates the developer from the almost Kabalistic complexity of XAML, at the cost of adding a CPU-intensive setup step that must run after every design change and during the application's runtime initialization.

Not surprisingly, considering all that is going on behind the scenes, the LightSwitch designer feels molasses-in-January slow, even on a quad-core development machine with plenty of RAM and high-end graphics. While this may be a performance issue that can be fixed before the product ships, it is likely to be a persistent problem, at least until computer speeds double again.

When built for debugging, a LightSwitch application has a Customize Screen button in the upper-right corner of the runtime window (foreground).

Besides the benefit of shielding the developer from complexity, the LightSwitch architecture allows for an extremely convenient runtime customization facility. When you build a LightSwitch application for debugging, it has a Customize Screen button in the upper-right corner of the runtime window, which allows you to switch to a Customization Mode and edit the screen while the application is running. Alas, that too has a molasses-in-January feel.

LightSwitch's Customization Mode allows you to modify the screen while the application is running.

The database capabilities of LightSwitch are impressive. An ad-hoc table designer generates SQL Server tables. Existing SQL Server databases can be imported selectively, with relations intact. Relations can be added to imported tables. Entities can be imposed on existing fields; for example, a text field holding a phone number can be treated as a Phone Number entity, which supplies a runtime editor that knows about country codes and area codes.

But in the database area, too, LightSwitch doesn't quite deliver. While it can map an integer field to a fixed pop-up list of meanings, it can't yet follow a relation and map the integer foreign key to the contents of the related table. In other words, I can tell LightSwitch that 0 is New York, 1 is London, and 2 is Tokyo, but I can't point it at a database table that lists the cities of the world.

LightSwitch can currently create desktop and Web database applications with screens, and it can export tables to Excel spreadsheets. It cannot create reports or charts, nor can it export to other formats, but the assumption may be that you will do these things with Excel.

LightSwitch as specified will have prebuilt templates for common database applications, one of the driving features in other easy-to-use database development tools. As far as I can tell, there are no templates in beta 1.

The core goal of Visual Studio LightSwitch is to make database application design easy enough and convenient enough for businesspeople without programming expertise. I am not sure that it achieves that goal. Part of the problem is the inherent complexity of the task -- but FileMaker, Alpha Five, and Microsoft Access all achieve the goal in a satisfactory way.

I fear that LightSwitch may be hindered by the very connection with Visual Studio that makes its technology possible. If the LightSwitch team can achieve a Zen simplicity that makes its Visual Studio roots disappear, and if hardware and compiler advances allow it to run fast enough to be usable, LightSwitch may well shine brightly. But at the moment, it is merely flickering.

This story, "InfoWorld preview: Visual Studio LightSwitch beta casts shadow of a doubt," was originally published at InfoWorld.com. Follow the latest developments in Windows, software development, development tools, Microsoft Visual Studio, ASP.Net, Silverlight, and rich Internet application development tools at InfoWorld.com.

Read more about developer world in InfoWorld's Developer World Channel.

This story, "Preview: Visual Studio LightSwitch beta casts shadow of a doubt" was originally published by InfoWorld.

What’s wrong? The new clean desk test
Join the discussion
Be the first to comment on this article. Our Commenting Policies