PIcking Your Javascript Mobile Framework: Part 8 - Documentation
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.
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.
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.
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!
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.
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.
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.
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.
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.
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:
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).
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.
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.
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.