Having been writing apps (poorly) with AngularJS for a while now, I was pretty excited to realise that combining this with Phonegap/Cordova - I could start writing portable mobile apps!
For the uninitiated, Cordova is an open source mobile app development platform. Basically, it bundles your app for your device and runs an embedded (lightweight) webserver and runs your app in a fullscreen browser control. Nifty. Phonegap is the Adobe commercial version, and they kindly donated the core of it to the Apache FSF (thanks Adobe!), which is the bit known as Cordova.
Now what project to learn with? Hmm… aha!
puush is a pretty cool image sharing service run by a guy who I used to LAN with, and is pretty much entirely funded by their insanely popular rythym game, osu!. It’s a hobby project.
One of the problems with being a hobby project is that it doesn’t get a lot of love. Specifically, their mobile app for iOS no longer works unless you still have an iPhone 3 (how quaint). I use the app /a lot/, and would love it to work on mobile without carrying an extra device around.
After vague promises of maybe adopting my code for their official app, I decided to see how hard it would be to replicate this on iOS.
As it turns out, not hard at all! After a week of development I had a fully functioning prototype with most (not all) of the features implemented. This ended up being a fantastic starter project for both size and combination of native features (camera, local storage, modal dialogs, etc).
Whilst the puush guys haven’t adopted the code yet, there’s nothing stopping anyone with an apple developer account from building and publishing to the app store. Which I’ve decided to do, after I polish it up a bit and make it ready for prime time.
Probably the biggest change I need to make is converting it to a grunt project so it bundles and minifies all the code locally instead of including it from cloud CDNs… Don’t look at me like that - it was development code!
Anyway, check it out: puush-phonegap on GitHub