Over the past couple of months I’ve been helping with my friends at DCD Web to produce a native iOS application for ‘Festivals in Kent’ – a collection of music / culture festivals all based in the county of Kent.
The app itself interacts with an API to provide the latest news, events and general information for each of the member festivals. In addition, the app also provides the ability to share content on various networks and to save upcoming events to the device, making the most of the mobile platform.
Its been an exciting and extremely educational project to work on, expecially given that it has been my first forray into the world of mobile development.
The app was built with Phonegap in combination with a variety of plugins to facilitate the social-sharing and saving events to the device’s calendar. Phonegap allows mobile applications to be built using standard web technologies (namely HTML, CSS & Javascript). For someone from a web development background like myself, this is awesome!
I was able to use the fantastic Backbone.js framework, in conjunction with Require.js to produce a single page, modular Javascript application running within an iOS UIWebView. I also made use of Handlebars.js as the clientside templating engine, and scss for the css pre-processing (the benefits of which I’ll go into in a separate blog post). There are all libraries / tools that I have previous experience with, so the development was a breeze.
The result is a reasonably fast and lightweight application. Whilst Phonegap apps are often not as performant as their truly native, Objective-C counterparts (as widely publicized following Mark Zuckerberg’s comment that backing HTML5 apps at Facebook was not necessarily the best decision just yet), this approach is perfectly adequate for simple applications that connect to a web service and process / render data. As a result, I would definately consider using Phonegap for other similar applications in the future.
What’s more, as of iOS 5, Safari’s Nitro Javascript engine has been made available to the UIWebView, meaning that JS execution is accelerated to boost performance significantly.
As a side note, Phonegap also makes cross-platform development very easy indeed. With the core of the application written in HTML, CSS and JS it wouldn’t be too much effort to port this across to Android, Blackberry and Windows Phone 7/8 (although there are not plans to do so at this moment in time).
If you’re interested in the app, then check it out here, or search for ‘Festivals in Kent’ in the appstore (currently iPhone only).