Tuymans BC: Technologies
Yesterday we gave you a video demonstration of the Tuymans BC iPhone app. Today we're providing you some insight in the technologies we used.
The app is actually a web app. This means that it gets rendered in a browser instance inside a native app. This approach has some advantages, like the ability to easily update the application without the need of the user to actually install an update. Also, the tools are familiar: HTML, CSS and Javascript. A disadvantage is that there's no comprehensive solution to build a web app. The art of combining various Javascript frameworks is a common task. The frameworks and plugins we used, are the following:
- jQuery
- jQTouch: a jQuery plugin for mobile web development on the iPhone and iPod Touch
- jQExtensions: a collection of extensions for jQTouch. We only use jqt.scroll.js
- Phonegap: ports the web app to a native app so we can add it to the iTunes Store. It also gives us some advantages of a native app, like acceleration and geolocation.
This is quite some amount of code to include just to get started. We've looked at other solutions, but this is definitely the best option to go for. However, later this year (read mid-October) jQuery will release jQuery Mobile, a lightweight and flexible framework for smartphones and tablets optimized for touch based interfaces. This brings us a one file solution, so we can focus on the app and not waste our time to find support for another incompatibility bug between two plugins or frameworks.
Another advantage of jQuery Mobile is its list of supported devices. While jQTouch only supports webkit browsers, jQuery Mobile supports iOS, Android, Blackberry OS, Symbian, Windows Mobile, webOS, bada, Maemo and Meego. Our precious code will work on any device in that list, without the need of device specific modifications.