background preloader

The Top 10 Javascript MVC Frameworks Reviewed

The Top 10 Javascript MVC Frameworks Reviewed
UPDATE 1/14/2012: Added Batman.js and Angular.js due to popular demand and because they looked impressive. Over the last several months I have been in a constant search for the perfect javascript MVC framework. Driven by a dire need for the right level of abstraction and features, I have tried out - some more cursorily than others - every framework I could get my hands on. Here lies a brief synopsis of each framework. Specifically, the following four features are very important to me: UI Bindings - I'm not just talking about templates, I'm talking about a declarative approach to automatically updating the view layer when the underlying model changes. The Contenders Here is a table showing all of the frameworks support for the above features. 1. Backbone.js is the web's darling framework. Pros: Strong community and lots of momentum. Cons: Lacks strong abstractions and leaves something to be desired. 2. SproutCore is what Apple used on its iCloud initiative. Pros: Bindings support. 3. 4.

Résolvez vos problèmes de Hashbangs grâce au PushState en HTML5 Au début du web nous n’avions que des pages statiques, nous entrions une adresse et le serveur nous retournait une page HTML. Puis nous avons voulu dynamiser un peu nos sites avec du Javascript et de l’AJAX, jusqu’à avoir des applications complètes dans nos navigateurs. Ce que nous appelons maintenant des “Single-Page-Application”. Une des problématiques lors du développement d’application de type “single-page” est que nous chargeons une page, puis nous modifions le contenu de celle-ci au gré des clicks de l’utilisateur sans modifier visiblement l’URL de la page. Pour résoudre ce problème et avoir un identifiant unique pour chaque ressource, il existait jusqu’à maintenant une solution : Ajouter des hash pour avoir des adresses comme ceci Le hash apporte une solution partielle, car si cette technique permet d’avoir un identifiant unique pour une ressource, celle-ci est connue uniquement du navigateur, mais pas du serveur. Backbone AngularJS

Rey Bango JSbooks - free javascript books - Iceweasel The Battle of Modern Javascript Frameworks – Part I | SoftFinity - Welcome to the Javascript Framework revolution. Since the release of JQuery in 2006, client-side javascript has entered a renaissance, and many developers have decided to shift much of the functionality of there applications to the client side, while using the server primarily to send and recieve data. Shifting functionality to the client side enables the potential for a much more powerful and responsive UI, which has always been an advantage of native apps. But with JQuery alone it still takes a great deal of effort to create a web app with the unparalled feel of a native app. This article will be the first in a series of posts that will hopefully shed light one several major frameworks in order to give you a picture of the advantages and disadvantages of each one, and help you to choose which one is right for your next project. Overview Requirements Features What are the main features the framework offers? Strength of the Project and Community Who are the core developers? Pros and Cons

DarthFubuMVC/jquery-continuations - GitHub JS: The Right Way - Iceweasel The Battle of Modern Javascript Frameworks: Part V – Ember.js | SoftFinity - Ember as it is described by its creators is ambitious and opinionated. The goal of developing ember is simple; create a web framework that will enable web apps to rival native apps. To accomplish this, ember offers an end to end solution with all the features you need to create a single page web app functioning in unison. Ember also seeks to abstract as much as possible from the programmer in order to take care of all the small decisions that programmers would otherwise have to make. Therefore, it is also opinionated about how certain things should be done including how you name your objects, and how you organize your files. Ember is also ambitious in the sense that one should ideally use ember for “ambitious” projects where the goal is to produce an outstanding web app that will have the feel of a native app. Features Strength of the Project and Community Ember’s development is lead by Yehuda Katz and Tom Dale. Ease of Learning Compatibility and Extensibility Testing and Debugging Pros Cons

From Silverlight to HTML5 Download source code - 118 KB Outline Overview This article describes my experiences of taking a control written in Silverlight for Windows Phone 7 and making it cross-platform by re-implementing it using JavaScript and HTML5. You can see the finished HTML5 control in action on an iPod Touch here: You can also see it running in your browser on my blog. Introduction (and Windows 8) I wrote my original JumpList control for Windows Phone 7 a few months ago. Recent press regarding the release of Windows 8 has caused a great deal of worry and confusion within the development community. Recent events aside, it is clear that the momentum behind HTML5 is growing. The Silverlight JumpList Control The Windows Phone 7 JumpList solves an interesting problem facing developers of mobile applications. That’s where the JumpList comes in. The following screenshots show the control that I developed in action: You can read all about the development of this control in my previous CodeProject article.

Understanding JavaScript Inheritance - Alex Sexton So someone shoulder-taps you and asks you to explain the concepts behind JavaScript Inheritance to them. In my eyes you’ve got a few options. The Terminology Play You mention that it’s prototypal inheritance, not prototypical and pretty much gloss over the rest, comfortable in your superiority in terminology. You may go as far as saying “Objects just come from other Objects because there aren’t any classes.” Many years later you find out that Prototypal and Prototypical are synonyms, but you choose to ignore this. The Like-Classical-Inheritance-But-Different Play aka the Run-On Sentence Play “So in Java, like, you have classes or whatever, right? And so forth. The Animal Play This is a pretty popular one. So let’s say we want to make an Animal class in our code. First we make a “constructor function,” which acts kind of like a constructor method on the inside of a class in a classical language when it’s invoked with the new operator. Then we want to have actions that all animals can do. <3z