First look: Famo.us remakes mobile app development

The Famo.us mobile Web framework runs faster than standard HTML and takes less development time than native code -- once you get up to speed

Page 4 of 5

Events. Famo.us has an event model with pipes, subscriptions, listeners, filters, maps, arbitration, and handlers. The View base class has both input and output event handlers predefined so that it and any derived view class can communicate with the world outside its encapsulated render tree. The event model seems to be a bit confusing, but then so is the HTML DOM event model. The basic difference between the two is that the plumbing in Famo.us events is explicit, and the plumbing for DOM events is implicit, bubbling up the tree until the event is caught. With the DOM, you take what you can get and hope it's what you wanted. With Famo.us, you're in control.

Famo.us University
Famo.us University (Figure 1) is a set of online courses to help you learn the Famo.us framework. The courses run in the Chrome browser, and they use a cloud installation of the Famo.us framework and an online JavaScript editor. Each Famo.us University lesson has an instruction pane, a code editor pane, and a preview pane. Changes you make in the code editor pane are reflected in the preview pane after each keystroke.

Famo.us University doesn't require much of a computer. I went through the courses using a MacBook Pro, but I could just as easily have used an inexpensive Chromebook. Newcomb hopes to parlay the light client-side requirements of this online training system into a way to bring programming education to the disadvantaged and the third world.

Famo.us Toolbelt
Although the Famo.us University lessons run online and require very little from your client computer, you'll need a bit more horsepower for the real thing. The Famo.us Toolbelt (Figure 2) is a command-line utility that uses Git, Node.js, Grunt, Bower, and Yeoman. The Toolbelt reminds me of the command-line scaffolding generators used in some other programming environments, such as Rake or Ruby on Rails.

You don't have to use the Toolbelt, but you can save quite a bit of time if you do, especially for scaffolding. You don't have to use all its facilities, either. For example, you don't absolutely need to use its development server, and, if you do want to use the development server but don't want the strict linting that runs at the same time, you can comment out a couple lines of script.

You'll want to use a good JavaScript editor or IDE when developing Famo.us apps. The 10 JavaScript editors and IDEs I reviewed in February should include at least one that will work well for you.

Demos and samples
At the moment, Famo.us University has about 15 demo apps posted. You can try them all online, and you can download the source if you're logged in to the site. There are far more samples and demos in the Famous and FamousPrivateBeta repositories on GitHub, although the quality of these may vary. Additional samples are under development by multiple groups including Famo.us employees, Famo.us contractors trying out to become employees, Hack Reactor students working with Famo.us, and independent beta testers contributing their own work to the repositories. Famo.us has a stated goal of being able to reproduce all the Capptivate.co animations with the Famo.us framework.

Responsive design, integrations, and other futures
Famo.us does not currently provide an easy way to create responsive mobile websites. It has taken a few steps along that road (for example, with the layouts shown in Figure 1), but it doesn't go as far as I'd want.

Figure 3: Plugg app
Figure 3: The Plugg social music-streaming app for the iPhone, currently in beta test, was built using Famo.us.
| 1 2 3 4 5 Page 4
From CIO: 8 Free Online Courses to Grow Your Tech Skills
Notice to our Readers
We're now using social media to take your comments and feedback. Learn more about this here.