Rating: 4 out of 5 stars
Price: Starts at $195
Recently, I was introduced to Infragistics' NetAdvantage for Visual Studio LightSwitch. I was very impressed with the product, and in this review I intend to show you what impressed me about it. But first I want to give you a quick lap around Microsoft Visual Studio LightSwitch 2011, to provide some background for my review. (Also see the sidebar "My Take on Microsoft Visual Studio LightSwitch," at the end of this article, which puts my review in context with my current views about LightSwitch itself.)
Visual Studio LightSwitch 2011 is a simplified self-service development tool that enables you to build business applications quickly and easily for the desktop and cloud. (For a thorough overview of LightSwitch, check out Don Kiely's article "Visual Studio LightSwitch 2011: A Brand-New Way to Develop Data Applications.") Self-service development tasks consist of hooking up your front end to a back-end data store using the familiar Attach Data Source wizard in Visual Studio. There's nothing new here from the front. But behind the scenes, LightSwitch builds an authentic service-oriented architecture (SOA) for you, complete with autonomous services that separate concerns across well-defined service boundaries. The components of this architecture are all nicely tucked away behind a logical view that shows only Screens and Data Sources.
NetAdvantage for Visual Studio LightSwitch builds neatly on top of the LightSwitch platform, integrating tightly into the Screens view to let you build business applications with little coding effort. Now that you have a little background on LightSwitch, we can proceed to explore the workings of NetAdvantage for Visual Studio LightSwitch.
Seamless LightSwitch Integration
LightSwitch provides a designer that you use to design your client screens; the designer includes a sparse collection of Silverlight controls for use on the design surface. The design process is analogous to binding user interface (UI) widgets to data sources. However, the fundamental difference is that a LightSwitch UI screen represents an independent unit of work on the client. And because of that, each screen has an isolated state from other screens. NetAdvantage for Visual Studio LightSwitch ties right into the designer experience, so that the mechanics of the design process are the same as that of Visual Studio.
Let's look at a couple of examples that illustrate how NetAdvantage for Visual Studio LightSwitch extends Microsoft's LightSwitch. Figure 1 shows my
LightSwitch test harness with the design view for a grid pointed at the venerable NorthWinds data store. (My first choice was a report-based
application since that's where I see LightSwitch fitting in nicely, but then I discovered that version 1 of Visual Studio LightSwitch 2011 doesn't
include reporting functionality.)
Figure 1: Visual Studio LightSwitch test harness
In my CustomerDetail grid, I can customize the columns available and change the default controls for each cell in the grid. It's just point and click, no code. The default installation gives you a label, a textbox, and a custom control, as shown in Figure 1. The custom control option allows you to place any non-LightSwitch Silverlight control on the grid, but you may need to wire up code to get it to work correctly.
Now look at Figure 2, which shows the same layout using Infragistics' NetAdvantage for Visual Studio LightSwitch. See the difference? Infragistics'
NetAdvantage provides at least five times the number of controls as Microsoft's LightSwitch.
Figure 2: Infragistics' NetAdvantage for Visual Studio LightSwitch control collection
The collection of controls is populated from the Extensions tab. You can mix and match controls by making the appropriate selection, though I'm not sure why you would want to do so after seeing what NetAdvantage has to offer. But it's an option nonetheless.
While you're busy hammering away on the Screens, Visual Studio Solution Explorer will display the default logical view of your application -- a not-so-subtle hint that you should prefer the no-code approach when using LightSwitch. There's a little toggle at the top that lets you swap the default logical view for the familiar Visual Studio file view.
Unless you peek at the Extensions tab mentioned previously, you don't even realize that you're actually working with a vendor collection of controls. That's simply fantastic because it provides a consistent development experience that you are accustomed to. And it speaks volumes for the seamless integration with the IDE.
If you want to see a bit more of what NetAdvantage offers, Infragistics includes a Samples environment, shown in Figure 3, which showcases the
tremendous potential waiting patiently to be unlocked by you. The Samples environment is easy to use and includes full source code.
Figure 3: NetAdvantage for LightSwitch Samples environment
A Worthwhile Investment
So, after kicking the tires of NetAdvantage for Visual Studio LightSwitch, here's what I've learned. First, your NetAdvantage for LightSwitch applications are section 508 compliant. That means that your browser application is accessible. I found one accessibility issue regarding styles, but that issue lies deep within the Silverlight runtime, not in NetAdvantage for LightSwitch. (For more information about application accessibility, see "How to Code WPF Applications for Accessibility" and "Further Explorations in Developing Accessible Windows Applications.")
NetAdvantage performance checks out OK as well. The LightSwitch designer is a bit sluggish, but that problem existed long before I installed Infragistics' NetAdvantage for LightSwitch -- which leads me to believe that LightSwitch itself could benefit from some performance tuning by Microsoft.
What I mean by "sluggish" is that your NetAdvantage LightScreen UI doesn't just get up and go talk to the back-end data store, as the logical view seems to imply. Instead, it has to negotiate a path through the LightSwitch infrastructure. Front-end client requests percolate through a Model-View-ViewModel architecture built on SOA services powered by .NET entities that marshal data between the LightSwitch entities and the intrinsic types of the underlying implementation. Although you don't see any of this ugly complexity when using NetAdvantage for LightSwitch, it is present, and it extracts a performance cost.
NetAdvantage has a compelling usability story for the developer. The experience is exactly identical to that of Visual Studio LightSwitch. The learning curve is essentially flat; you're simply working with an extended set of controls and augmenting look and feel by using themes. That translates into increased productivity and less running around trying to figure out what to do next.
NetAdvantage for LightSwitch has set a high standard for other LightSwitch third-party products to emulate. Geospatial data visualization raises the bar on interactivity so that you can zoom, tile, and mouse over without writing any code. You'll need to try out NetAdvantage for LightSwitch in the Samples environment to see this feature for yourself. Unique themes such as Office 2010 Blue allow you to remain immersed in the look and feel of the Microsoft Office 2010 experience right inside your custom application. Although it may be too early to choose a leader in the LightSwitch extension products space, Infragistics' NetAdvantage for LightSwitch has definitely set the pace right out of the starting gate.
My Take on Microsoft Visual Studio LightSwitch
I think Infragistics' NetAdvantage for Visual Studio LightSwitch is an impressive product well worth the four-star rating I've given it. However, I worry that the success of this new product is ultimately tied to the adoption of Microsoft Visual Studio LightSwitch 2011. And that is where I think stress fractures begin to appear.
At the end of the day, LightSwitch 2011 is an enterprise tool that
- lacks support for HTML5
- lacks reporting capabilities
- does not support printing
- does not work with SQL Server stored procedures
- is based on Silverlight 4, a technology that is no longer part of Microsoft's strategic direction
Tables with no primary keys (a fairly common occurrence in small shops) don't even show up in the database connection wizard! You'll either need to spend money to plug those gaping holes or bring in the costly developer.
There's one ray of sunlight, though. Businesses whose survival depends on quick time-to-market will definitely like what Microsoft LightSwitch and NetAdvantage for Visual Studio LightSwitch have to offer because these two products make a formidable team.