Web applications comprise of three tiers: front end, middle tier, and back end. The front end is required for writing interactive applications; the middle tier and back ends are necessary for sharing information between computers using the Internet. For example, I have a completely front-tier app for Kinematic Templates (cursor manipulation drawing software): it does not need the Internet to run. Middle tiers and back ends are required for websites that handle data from multiple people. One approach for building a middle tier is through REST APIs (see other posts). RailsBridge (a bridge for learning Rails) provides excellent resources for building a Ruby on Rails back end.
Front Tier MVC
Wrox Press, 2009 (1032 pages)
On June 26th, 2012 I attended the HTML 5 meetup in Microsoft’s local sale office. This HTML 5 meetup invited Rob Hawkes and Chris Heilman from the Mozilla non-profit foundation, which created Firefox, to present their work on the Boot to Gecko project. They flew in from their office in London, England, also for the Google I/O event. Approximately 500 people signed up to this event, with attendance roughly 200 people.
The advantages of using Boot to Gecko are cross-platform mobile development, standard web technologies, and low cost of licensing. The industry movement is supporting cross-platform HTML 5 on Windows, Mac, Android, and iOS. HTML 5 is a standard that is already being adopted in web browsers, which is being extended to the whole device’s experience. HTML 5 standard does not require licensing to build projects.
Boot to Gecko is not the first or only endeavour to build a web browser operating system. Google Chrome OS is a web browser operating system for desktop computers. We may now ask why Boot to Gecko will be more successful than Chrome OS? Chrome OS does not displace existing desktop OSes such as Windows, Ubuntu, and Mac, all of which are more function-featured. In contrast, many reasons make Boot to Gecko a compelling competitor. First, the ecology of mobile devices is still fragmented with different iOS and Android phones. Considering the historical PC and mainframe market (cite Computer History Museum), we know that this fragmentation will become a few large players in the foreseeable future. Second, people are running older feature phones that do not benefit from modern OSes. Boot to Gecko will be compatible with these phones, bringing them to the modern age. An example market is Brazil where Boot to Gecko is partnering with telecoms to deploy this OS. Third, applications written for this OS will be runnable in web browsers too, so there is low risk to adopt.
Boot to Gecko has a competitor, Tizen. It remains to be seen which one of these hardware-accessible API projects will succeed.
- Touch and gestures
- Full screen
- Screen orientation
I foresee the main risk here is security holes because websites could conceivably get access to these same APIs.
How to try Boot to Gecko? Firefox Nightly is able to run these new APIs. It is merely a matter of opening a URL in the web browser to Boot to Gecko’s emulator, only for Linux and Mac.
Visual layer technologies include HTML 5 and CSS 3. HTML 5 is a presentation markup language that is becoming the de facto standard for web, mobile, offline, and online applications. HTML 5, though, should only be used to present content. CSS 3 is the presentation markup language for modifying the appearance of widgets. CSS has media queries, which allows developers to detect the screen resolution and orientation of a web page.
Front-End Logic Layer
Back-End Logic Layer