I would like to create an UI for my app ( current I’ve an UI in WPF ) and I like the “Single Page Application” paradigma. I’m a little stuck on how to start implementing it: I don’t mind about SEO, mine is an enterprise application. Do I need to use something like sammy.js, backbone.js and so on? I’m really new to Web GUI developement and I’m a little consfused: why can’t just use jquery calls to drive my single page DOM? Is there some drawbacks about this strategy?
Share
First of all, you can do your single page application with jquery only. However, you will be writing a lot of plumbing code to handle interactions between the different parts of your UI. Which is not the most interesting part of the developmnent process, especially if frameworks do it nicely for you.
You should have a look at this question : https://stackoverflow.com/questions/5112899/knockout-js-vs-backbone-js-vs, and decide between knockout and backbone.
For implementing a simple master-detail UI (left column for listing items, right column for display, jquery popups for more details or editing), I chose knockout, and was not disappointed.
The learning curve is not as steep as backbone’s, and coming from a WPF MVVM app it was easy to understand the development paradigm.
I chose ASP.NET MVC to serve the html templates using ViewResults, and after that everything went through JSON.
Knockout made this easy because of it’s client side databinding capabilities. Then, when posting data back, MVC modelbinding made server side binding easy as well.