Marco's Blog

All content personal opinions or work.
en eo

PIcking Your Javascript Mobile Framework: Part 6 - Elimination Round

2014-11-17 2 min read Comparisons marco

Since the next few steps are going to be pretty expensive time-wise (on my part), it’s time to remove some of the options from the table. That should speed up the process, and I don’t think I left any real candidates out.

First, we are going to eliminate those contenders that have a much faster cousin. That means all the combinations with RequireJS will be kept, while their Require-less brethren are kicked out. These are marked as “rq” in the elimination table.

Second, we will remove all those that were characteristically slow to load. That was only three of them: React with Backbone, Enyo with Backbone, and EmberJS. They are marked with “zz.” I’ll let you guess why.

Third, we remove all those that have excessive coding length. That would be Enyo again, Flight, Lavaca, VanillaJS (which was never a real contender, anyway), and Closure. They are marked “vb” for verbose. Notice that adding RequireJS really doesn’t change code length by much.

This leaves us with the following table:

Name Mark
agilityjs
ampersand
angularjs rq
angularjs-perf rq
angularjs_require
backbone rq
backbone_marionette rq
backbone_marionette_require
backbone_require
batman
canjs rq
canjs_require
closure vb
durandal
emberjs zz
enyo_backbone zz vb
epitome
exoskeleton
firebase-angular
flight vb
jquery
knockback
knockoutjs rq
knockoutjs_require
lavaca_require vb
maria
mithril
ractive
rappidjs
react
react-backbone zz
sammyjs
serenadejs
somajs rq
somajs_require
spine
stapes rq
stapes_require
thorax rq
thorax_lumbar
troopjs_require
typescript-angular
vanillajs vb
vue

And after elimination, the following candidates:

Name
agilityjs
ampersand
angularjs_require
backbone_marionette_require
backbone_require
batman
canjs_require
durandal
epitome
exoskeleton
firebase-angular
jquery
knockback
knockoutjs_require
maria
mithril
ractive
rappidjs
react
sammyjs
serenadejs
somajs_require
spine
stapes_require
thorax_lumbar
troopjs_require
typescript-angular
vue