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
Mobile development is a big problem. Users demand mobile apps, and they often demand that these apps have native-level performance, fit, and finish. At the same time, the apps need to be delivered "yesterday," which just doesn't happen with apps written in native code. To top it all off, users expect apps to work on, at minimum, iPhones, iPads, Android phones, and Android tablets, and they won't be completely satisfied unless a Web or desktop version also is available.
Mobile Web applications are one set of solutions to the time-to-market and profusion-of-devices problems, but they have problems of their own. Mobile Web UIs aren't usually very flexible, they often can't be made to "sizzle," and they often suffer from runtime performance issues. Even worse, mobile Web apps typically don't work when disconnected and don't retain their state after a context switch -- for instance, when a user answers a phone call.
[ Also on InfoWorld: A guided tour of the Famo.us framework | 10 JavaScript editors and IDEs put to the test | Download InfoWorld's Developers' Survival Guide for all the tips and trends programmers need to know. | Keep up with the latest developer news with InfoWorld's Developer World newsletter. ]
Hybrid apps combine a native shell with a Web app, and they can sometimes be made to work disconnected. But they still suffer from performance issues. This is because the rendering of a heavily nested HTML document is inherently time-consuming and because the WebView control encapsulated by shells such as PhoneGap tends to be old and slow compared to the latest mobile browsers.
Enter Famo.us
To address some (and, Famo.us hopes, eventually all) of these issues, Famo.us developed a high-performance JavaScript framework for mobile applications that looks more like an animation or a game system than like conventional Web infrastructures. Famo.us 0.1.2, currently in a controlled beta test period, already demonstrates high performance for Android and iOS mobile Web applications. Famo.us doesn't really support desktop browsers yet, except for Chrome, and there are known bugs with Safari, Firefox, and Internet Explorer.
I found Famo.us reasonably easy to learn and use, but I'm a senior developer with a varied background, and I was learning and using it on site at the Famo.us offices, where I could bring questions and issues to the developers and architects.
Although Famo.us currently is being rolled out to 1,000 new beta testers every day, the beta is scheduled to be open to the public on May 19. The founders' vision is for there to eventually be 50 million Famo.us developers. The fact that IDC estimates that there are only about 14 million software developers in the world at present doesn't faze Steve Newcomb, the CEO. He has plans to bring designers who don't currently have coding skills into the Famo.us fold.
I'll focus on what Famo.us has to offer now and will touch on some of the company's future plans.