A WebDev's notes on native Android/iPhone app development
The requirements for the job were that the final app feel native and that it be able to be purchased on the respective market place (Appstore or Android Market).
I’d already written the app once for the iPhone, using the jqTouch library and then wrapping the whole thing with PhoneGap, but this time around the client wanted to add some features that made me look further than jqTouch.
Initially I fantasized about a write once deploy twice approach using something like Appcelerator Titanium. The more I read however the more I realized no matter how I went about this project I was going to end up with more than one codebase, one for the iPhone and at least one for the Android. I decided to go ahead with Appcelerator however and developed for the iPhone first. One of the biggest things I was looking for was a native bottom tab bar for navigating between the different phototherapy calculators (UVB, UVA, UVA1, and Blue), and Appcelerator let me quickly build a native, beautiful, functional app that exactly fit the clients needs.
After a bit of troubleshooting I had it deploying to my actual iPhone, but no matter how hard I tried I could never manage to get it to deploy to the Android emulator.
Next I started working on a Sencha Touch version of the app, which I planned to wrap with PhoneGap, but after about an hour of digging around in Sencha I decided it didn’t fit my programming aesthetic. I also talked to someone who wrote an app in Sencha and they said it had a ways to go with speed, animations were still jerky on older hardware.
Having used jqTouch, Appcelerator, JqueryMobile, PhoneGap, and having looked at Sencha, I have to say Appcelerator was by far the best experience. I enjoyed programming the interface rather than laying out the html and then styling it with CSS. I enjoyed how quickly and easy it was to deploy to the iPhone (I wish it could do the same for Android!). Most of all I loved how it built a native interface, which beats an html5 interface almost every time in my opinion.