Marco's Blog

All content personal opinions or work.
en eo

PIcking Your Javascript Mobile Framework: Part 8 - Documentation

2014-11-17 4 min read Comparisons marco

What good is it to you if everybody loves a super-zippy framework if you can’t learn how to use it?

We know a few things about the remaining contenders:

  • They are not slow (efficient)
  • They don’t require a novel to bring a button to the screen (concise)
  • They have people interested in them (active)

The next step would be to go into each Todo example and learn how each framework handles the task. But before i go into that, let’s do one last elimination round. Let’s look at the amount and quality of documentation and tutorial resources for each framework.

Ampersand

I will say. for a project this young (6/2014), the Ampersand people sure know how to guide users! There are guides and a getting started page, and lots of links to useful stuff.

There is no interactive tutorial, which is something other sites offer. That’s a shame.

AngularJS

With years of experience and the backing of Google, it’s no surprise the Learning section of the AngularJS site is quite comprehensive. There are tutorials, videos, a free course, etc.

Backbone

Hmm… Considering it’s been around since 2010, Backbone sure has terrible documentation. The Introduction section is a giant long document with no real help. I guess you’ll be on StackOverflow a lot, trying to figure out things. What a shame, Backbone (with Marionette and Require) is our top performer!

CanJS

The guides on the CanJS site are fairly easy to follow, although the sequences can feel a little limited. All in all, the CanJS folks definitely could spend more time on documentation.

Durandal

Our sleeper hit from the article before has a fairly comprehensive set of documents, if a little staid. The structural boredom of it, though, is made up by a fairly good presentation.

jQuery

I guess jQuery loves to rest on its laurels, because the web site doesn’t really have any tutorials or how-tos. Instead, it offers the API documentation. While that’s quite disappointing, it’s also true that the mobile distribution (jQueryMobile) comes with tons of examples and documents.

Also, one should not forget that jQuery is not an MVC framework, but a widget framework: it helps you to structure the views, not the models.

KnockoutJS

If there is a site that has outstanding tutorials, it’s the Knockout one. You really have to go and try, it’s something else. Really, just based on the availability of that material, I would almost be ready to call it a day and start programming Knockouts.

Mithril

A one man project by Leo Horie (at least, that’s what it feels like, despite the 35 contributors on GitHub) Mithril does things differently. Fortunately, that’s not the case in one area: documentation. The site has fairly extensive documentation and is fairly easy to read.

Ractive

So aware of the importance of documentation that most of the navigation links in the top menu are dedicated to it. Here is a screenshot:

ractive

React

It’s no surprise that a project with the financial backing of Facebook would have fairly kick-ass documentation. React doesn’t disappoint (although it also doesn’t manage to wow in the way KnockoutJS does).

Stapes

Mmmh… I confess I don’t like the self-description of Stapes.

Class creation, custom events, and data methods. That’s all it does. Even a lightweight framework like Backbone has more than 75 methods, Stapes has just 20.

Fortunately for this section, if all your framework does is that, you don’t really need a whole lot of documentation.

Thorax

With the muscle of WalMart Labs behind it… Excuse me, who? Yep, apparently WalMart is trying to flex its digital muscle, a smart move if you ask me. Thorax is…

An opinionated, battle-tested Backbone + Handlebars framework to build large scale web applications.

Obviously, “large scale web applications” are not what we have in mind here. But Thorax has thorough documentation, if dull one.

Vue

Another small project that is showing lots of promise (like Mithril). Vue has a fairly old-style Guide. But we can forgive it, because the code is so compact, there is really little you can possibly do wrong.


So, based on the above, it appears Backbone and Stapes aren’t really a good fit. Sadly, we can’t kick out Backbone, since it is our fastest performer. Stapes, on the other hand, was a solid performer (not a stellar one), while the code base in the Todo example was around the 30th percentile. What to do? We’ll keep both in, with a demerit in our mind.