Standalone jQuery vs. ASP.NET MVC3

Aug 2, 2011 at 4:10 PM

Just came across Project Silk and skimmed through the guidance documentation. I am a total newbie to jQuery/jQuery UI and ASP.NET MVC3 (or ASP.NET for that matter) and hoping to get some guidance from this forum.

First some context. I have started an open source project with the goal to compare different technologies by creating a realistic trading application. You can see the architecture here. The current implementation uses a Silverlight front-end talking to a Java back-end via web services. I am also using the Prism guidance to implement MVVM, eventing, modularity and dependency injection on the front-end. Now I would like to add a second front-end implementation that uses HTML/JavaScript/CSS to create a smart web client. This client will be standalone from a presentation perspective, i.e. it will interact with the server only to issue commands and queries using JSON-based services.

Based on Project Silk prerequisites, I will have to learn jQuery, jQuery UI etc. Given my use case and skill set, is there any advantage in spending additional time to learn ASP.NET MVC3? What would be the pros and cons of building the entire front-end using JavaScript based frameworks (jQuery, jQuery UI, JavaScriptMVC etc.) vs. JavaScript + MVC3?

Thanks in advance for your time.


P.S. Given the goals of my project, I would really like to build both implementations, one standalone and one using ASP.NET MVC3. However given the time and effort involved, I would like to choose the easier approach first. Of course, if someone from this community is willing to contribute at least a starter implementation, I would very much welcome that.

Aug 2, 2011 at 4:18 PM

MVC is pretty quick to pick up in general but is geared toward the UI. You may want to look at the WCF Web API project that Glenn Block's team is working on over at That will allow you to work your connections as data-only and not worry about learning things like Razor if it's not in your critical path. Just my .02

Aug 2, 2011 at 6:56 PM

axshon is recommending a good approach if you want to focus on the front-end and do/learn as little as possible to get what you need from the back-end. The work the WCF team is doing is making it easier to build RESTful APIs that can be accessed from rich web UIs. The Project Silk team considered this approach for Mileage Stats but decided to use ASP.NET MVC3 because we intentionally wanted to support a rich user experience with JavaScript enabled and a fallback experience when JavaScript is disabled. We also wanted to provide guidance on how to "dual role" the MVC app to support the web UI and the API used by the Ajax calls.

nareshbhatia, given where it sounds like you are and where you want to go, I would definitely recommend you learn modern JavaScript practices. I would also recommend you learn jQuery. There are just too many browser-compatibility issues to not use a library for manipulating the DOM. Plus, once you're comfortable with jQuery, there are some nice productivity gains to be had. The Project Silk team used jQuery UI widgets to achieve modularity, but that isn't the only way. You are correct that JavaScriptMVC is an alternative and I would like to add Backbone.js and Knockout.js as other really good alternatives to consider. If you choose to use widgets, hopefully you'll find Project Silk helpful.

Have fun,

Aug 4, 2011 at 5:02 AM

axshon and Don, thanks for your inputs - this is very helpful. I will start with a jQuery implementation and once I have mastered that, I will take on MVC3. Will keep you posted on my learnings.

Thanks again!

Naresh Bhatia