I’ve just launched my first ever smartphone app, a one-word messaging app named Babl, after a ten year+ career as a web developer. My next app is already in development — this time an offer for the corporate space. For years I knew the day would come when I’d have to dabble in app development, but I wasn’t looking forward to it. My experience lays in server-side scripts and front-end interface and interaction design with CSS and Javascript; moving to mobile-phone based would be a steep learning curve.
The conventional wisdom for app development is as follows: iPhone comes first, then other platforms can follow when ready. An iPhone app must be written in Objective C, and an Android app in Java. Other platforms have their own languages and quirks, but these are the two main platforms and languages. I don’t really do conventional wisdom, and I wasn’t going to sit down and learn either Objective C or Java to get my apps written.
Beyond having to learn Objective C, Apple creates all sorts of hoops for app developers to jump through; there are long approval processes to get an app in the App Store; it’s impossible to install an app on an iPhone or iPad unless you take part in the official app development programme; and there’s a $100 fee to pay to join Apple’s developer programme. These all create unnecessary restraints on developers looking to innovate and release new apps.
Android — Google’s smartphone operating system and app ecosystem — on the other hand, takes a more liberal approach. Traditionally, an Android app still has to be written in Java, but I’ll come to that in a minute. Google was on the back foot with its mobile phone system, and has always had to play catch-up with iPhone. Perhaps this is why their offer for developers is more liberal; the logic being that creating an open system will lead to more innovation and more apps for Android users, making Android more attractive to customers.
By comparison, a developer wanting to release an app on Android faces no approval process to get onto the Play Store, and no steep fee to join any Android developer programme. They just write the app, make it ready for launch, and upload it to the Play Store. Within a couple of hours it’s available to every single Android user on the planet, and recent figures show that there are now more Android than iPhone owners worldwide.
This, in my opinion, makes Android a very attractive platform for first-release. iPhone would always be necessary, of course, but Android’s liberal approach makes it ideal as a proving ground for a new app.
The web developer in me still wouldn’t want to have to learn Java to write for Android though. And guess what? I didn’t have to. I wrote Babl with a few thousand lines of Javascript, some CSS, and a few Javascript plugins (including jQuery), as well as the server-side API which is written in PHP and connected to a Mongo NoSQL database. A smartphone app written in web languages you say? Yes — and the user who installs the app knows no better; to them it looks and feels just like any other app.
But how? By using Phonegap. Phonegap is a fantastically useful product owned by Adobe, which allows developers to very quickly put apps together for all mobile platforms, without having to learn the native languages like Objective C and Java. Those apps are then compiled as native applications, and can be distributed, installed, and used in exactly the same way as ‘normal’ apps.
Phonegap and Android together = very quick development times for apps, a fantastic platform to develop new apps and get them out to users for feedback and testing, and a great way for non-app developers to switch to app development if they want to. A win for innovation and for startups.
My prediction for the near future of app development is that all platforms will eventually switch from native language development to allowing coders to develop apps in web standards like CSS, HTML5 and Javascript. This will be fantastic, as those skills are far easier to come by than Objective C and Java, and because apps will only have to be written once and only slightly adapted for each platform.
If you’re on Android, download Babl beta from the Play Store now, and get one-word messaging!
Email me when Luke Bozier publishes or recommends stories