Famo.Us: Is It a New Life for HTML5-based Mobile Apps?

Phonegap by Adode sounded like the future of mobile development. The only code base for all platforms, which makes it so easy to support IPhone and Android applications together, change business logic only in one place, and use well-known Web technologies. It sounds promising, but in fact mobile HTML5 applications look really ugly mostly because of performance issues which make them hardly usable.

Almost 3 years ago, Famo.Us started to work on the Phonegap killer. According to Steve Newcomb, CEO at Famo.Us, this framework enables engineers to build beautiful, cross-platform Web apps which perform as the very best native apps do. Newcomb also says that the performance issue of HTML5 apps is not connected with Javascript but rather the way rendering engine works. It operates DOM elements to do the useful things people expect from a modern app. This eventually brings everything to a grinding crawl. To solve this problem, guys from Famo decided to replace the browser's rendering engine with their own, written entirely in JavaScript, and fuel it with the GPU acceleration provided by CSS's 3D transformation functions. I do not want to repeat their presentations, so here are several intro articles:

  1. Press Release 1
  2. Press Release 1
  3. Page on AngelList

Well, as you may see I was interested in this technology even before its official release and was really disappointed to find out that documentation will not be publicly available in the nearest future. The good news is the open-source nature of this project. Thus, all source code was shared with community on the launch event (here is official github account).

I spent this weekend trying to learn the framework by reading doclines in the code (which is pretty bad documented, I would say) and doing a sort of reverse engineering. The first thing I realized is that writing "Hello World" app is not enough to understand whether this technology is useful for real applications and for learning main concepts. Thus, I decided to write a dummy bookstore app to represents a typical mobile application. Here are several mock-ups I drew beforehand:

Home page Book details

My plan is to start from the scrollable grid with books and an activity with details on the books. To make it more interesting, I decided to add a nice slide animation on changing activity.

All source code is available in our github account. I also prepared an online demo of the app: http://logicify.github.io/famous-demo-bookstore/.

By this intro post I start a series of articles about development mobile HTML5 applications using Famo.Us framework, in which I will share my impressions, collected experience and tricks. The next article will include my thoughts on organizing the code and implementing the application skeleton.

Related articles

Tags