Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Visualizing the Client-Side MVC race

DZone's Guide to

Visualizing the Client-Side MVC race

· Web Dev Zone ·
Free Resource

Deploying code to production can be filled with uncertainty. Reduce the risks, and deploy earlier and more often. Download this free guide to learn more. Brought to you in partnership with Rollbar.

 

Alex Gomes has a great series running on alternate technologies that are competing for the mindshare of JavaScript web-app development. You know, as functionality shifts from server to browser. Here’s his latest. He has added Backbone to a series that already has ExtJS and JavaScriptMVC in it.

What is new is that you can compare branches for each implementation, as he has each implementation as a branch within the same repo now. This will help visualize the differences between competing frameworks. I think it is a race, and some consolidation is due.

Here’s the comparison between the Backbone implementation and the JavaScriptMVC one.

Alex’s implementation-per-branch organization is better than the way that Addy Osmani’s todomvc.com single branch design in my opinion. Sure it requires a higher level of SCM adeptness, and Git/Github in particular, but people who have skin in the game are much more likely to look at the diff, feel somewhat insulted at the implementation, and donate back a patch. Of course we don’t have patches any more, we have GitHub pull-requests.

Anyway, Alex will get round to AngularJS (then Knockout) sooner or later, and we’ll hopefully see JavaScript disappear, and magic arrive.

Github have a page/tutorial on comparison view here.

Deploying code to production can be filled with uncertainty. Reduce the risks, and deploy earlier and more often. Download this free guide to learn more. Brought to you in partnership with Rollbar.

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}