Rapid Business Development: Lightswitch vs. Dynamics CRM vs. SharePoint 2010 vs. ASP.NET MVC 3

In this post I am going to look at comparing four technologies that can be used to build business applications easily. This post was inspired by how similar a number of products have become over the last few years—and more importantly, how the new kid on the block Visual Studio LightSwitch, which is a specialized rapid business tool development platform built on top of Visual Studio, is going to affect this ecosystem. It is important to also remember that this is being written in the LightSwitch Beta 2 timeframe, so some details may change by launch.

LightSwitch feels very similar to me to another product I have worked with in the past: Dynamics CRM, which is a Customer Relationship Management tool from Microsoft. CRM does very well in the xRM (x = extensible) scenario, where I think it will come up against LightSwitch a lot. I haven’t had an opportunity to use the latest CRM release yet, so I have had to rely on the help of experts to fill in my gaps!

SharePoint 2010 is another product I have worked with and, of course, can be used for building business applications quickly because it is the “operating system of the enterprise” and has good features for these types of applications.

Finally, while watching Scott Hanselman do the ASP.NET MVC 3 demo in the MIX 11 Keynote, I was struck by how that is very close to a rapid business-user development tool with all the new scaffolding features. ASP.NET MVC is a real outsider in this group because it is first a development toolset for web development and, maybe, a rapid tool second—where the rest are rapid development platforms or tools first.

I think the differences between these four are very interesting, and while each has its strong and weak points, this should definitely not be looked at as a “pick one only” post. There are many scenarios where you want to combine them for even better experiences.

I have broken down the issues into twenty-one(!) aspects (key points we can compare them against each other), which are grouped into six scenarios to make it easier to digest. Each scenario starts with a list of the aspects and a brief description, followed by a comparison table of those aspects.

Starting

Lightswitch (LS)Dynamics CRMSharePoint 2010 (SP)ASP.NET MVCMy Thoughts
Ready to go out of the boxFastFastestFastSlowestLS and MVC need development, while SP needs at least 5 minutes of tailoring. CRM, however, is ready to go once installed.
Northwind Style Sample development costs$$$$$$$$ASP.NET MVC has the highest development costs, as so little is out of the box. LightSwitch excels in this scenario.

Finishing

Lightswitch (LS)Dynamics CRMSharePoint 2010 (SP)ASP.NET MVCMy Thoughts
Cost for on-premise deployments$$$
Unknown. Likely cost per developer seat. No per-user costs.
$ to $$$
Cost per user and cost per server. Visual Studio only if you are doing integrations or custom workflows.
$$$$ to $$$$+
Cost per user and cost per server. Visual Studio licenses for any serious work.
$$
Visual Studio licenses. No per-user costs.
CRM on a small scale with low development is very cheap, but since you pay per user, it can get expensive. LS and MVC only have development software costs, which is more expensive up front but does not increase as you add users to the system.
Deployment ComplexityMediumHardHardestEasyLS, CRM, and SP all have requirements for them to work, in increasing deployment complexity. However, CRM and SP are significantly harder than LS, due to their more complete product nature. MVC is easy because there are no constraints (other than a web server).
Deployment DocumentationYesYesYesNoOnly MVC has no official documentation, which makes sense as it is a development tool. All four have great communities to help as well!

User Experience

Lightswitch (LS)Dynamics CRMSharePoint 2010 (SP)ASP.NET MVCMy Thoughts
Front End TechnologySilverlight. Supports out-of-browser (desktop) and in-browserWeb. Just ASP.NETWeb. ASP.NET under the covers, with sprinklings of SilverlightASP.NETLS clearly excels here, as it gives the richest UI out of the box. ASP.NET MVC’s out-of-the-box scaffolding isn’t pretty but can easily be improved.
How good the standard UI looks (very subjective)LowMediumVery lowDepends on your web designerThis is the most subjective aspect: LS and SP both have a fairly plain out-of-the-box UI, but SP has a bad UX to go with it. CRM is much better out of the box, and if you are going down the MVC route, you will likely take advantage of the best UI thanks to complete flexibility—but that depends on how good your designers are.
Flexibility of UI development in the toolHighMediumMediumHighMVC and LS can almost do anything on the front end, especially if you combined MVC with Silverlight. SharePoint and CRM also have lots of options and work with Silverlight.
ThemabilityMediumLowMediumHighThe flexibility of MVC is highest, as it is pure programming, with LS following thanks to its strong theme support. SharePoint can be themed, but not at the same level as LS. CRM will always look like CRM!

Extensibility

Lightswitch (LS)Dynamics CRMSharePoint 2010 (SP)ASP.NET MVCMy Thoughts
API for integrationYesYesYes—at least 5 of themN/AIn MVC, you could build one (e.g., oData), but it does not have one out of the box. LS creates a WCF RIA Service for us. CRM and SP both have APIs, but SP is more complex, as it supports so many different APIs with different subsets of features supported.
MarketplaceOnce it is released, a gallery will existYesNoGallery availableCRM leads here in a big way with a real marketplace. ASP.NET MVC has its own gallery plus a strong third-party marketplace ecosystem.
Additional Authentication OptionsAnonymous and more available through custom development (e.g., Windows Live). Claims-based authentication (custom development required)Claims-based authentication via STSAnonymous and more available through custom development (e.g., Windows Live). Claims-based authentication (custom development required)Anonymous and more available through custom development (e.g., Windows Live). Claims-based authentication (custom development required)
Permission Structure (Authorization)Very basic and really just a half-step ahead of editing XML that MVC needsFantastic out of the box option, plus plenty of extensibility if neededGood structure with many levels of customization. Out of the box is very simpleBasic support for it but can be extended through development. A lot of XML work may be neededLS and MVC are the lightest here; both support authorization options, but enforcing them is up to the developer. LS is better at guiding the developer and requires no XML editing. SP’s authorization is as varied and powerful as what CRM offers. However, SP can easily get messy—users can break permission inheritance, while CRM enforces authorization all the time, making for a better-structured environment.

Information Worker Features

Lightswitch (LS)Dynamics CRMSharePoint 2010 (SP)ASP.NET MVCMy Thoughts
Offline supportNoYesYesNoBeing able to work offline is important if you are a roaming user. LS and MVC offer nothing in this space, while CRM and SP both offer offline via Outlook.
Easily Import Data (out of the box)NoYes, from CSVYes. Multiple optionsNoIn all cases, there are tools and other ways to import data, but CRM and SP have out-of-the-box options.
Printing (out of the box)NoYesYes—poorBrowser levelLS and MVC can have custom development solutions for printing. Other than that, they offer nothing out of the box. As browser printing has improved, MVC has a slight advantage, being HTML-based normally. SP has printing, but it is very poor. CRM leads here with a great print scenario.
Office IntegrationLow. One-way export to Excel. Others can be custom-developedMedium. One-way to Excel. Mail merge with Word and Outlook. Deep integration with Outlook is available too.High. Only Publisher doesn’t have integration with SharePoint. Every other Office product does; some like Excel are one-way, while others like Access are two-way. SP internally has features that understand Office files too, e.g., PowerPoint Libraries show thumbnailsNone. Can be custom-developed

Other

Lightswitch (LS)Dynamics CRMSharePoint 2010 (SP)ASP.NET MVCMy Thoughts
Databases SupportedSQL Server, SQL Azure, SharePoint, or anything supported by WCF RIA servicesSQL ServerSQL Server normally. With advanced skills, can use external data sourcesFor scaffolding, anything supported by LinqToSQL or Entity FrameworkLS and MVC feel very close here, but LS has its own object model (OM), whereas MVC uses established ones, meaning more options in the MVC camp.
Minimum Skills for TailoringIntermediateLowestLowHighestBeing able to tailor with less skill is a big plus for CRM and SP. MVC doesn’t have tailoring—it’s all development. LS is stuck in the middle here: for setup, I suspect nothing more than a power user, but that ends much sooner and moves to needing a developer sooner than with CRM and SharePoint.
Can run in the cloud?Platform as a service using SQL Azure for the database and compute instances for the frontendSoftware as a service: Can get it from Microsoft and Partners at a cost per user per monthSoftware as a service: Can get it from Microsoft and Partners at a cost per user per month. Recently launched in beta with MicrosoftPlatform as a service using SQL Azure for the database and compute instances for the frontend
ALM ExperienceMediumLowHighHighestASP.NET MVC is a pure development experience and so works well with ALM. SP2010 plus VS2010 is a great ALM experience (though mocking is difficult). LS and CRM are oddly very similar, with customizations in XML, so expect some source control pain. Plugins for CRM and LS extensions are a great ALM scenario. CRM falls short in the unit-testing scenario, though.

Special Thanks

A post this in-depth could not have been done without input from my “brain trust,” and I thank each one of you for your help: