I have always avoided development for mobile phones. There are too many platforms and programming in Java is not something I want to learn. But last week @istrigo pointed me to PhoneGap (www.phonegap.com) and that changed everything (a bit late for myself I must admit!). PhoneGap enables you to develop HTML5/JS apps the same way as developing mobile sites but then wraps it up in a nice, installable iPhone/Android/Blackberry/… package you can install and run on a mobile device like any other native app. So, your mobile site and ALL platforms share the same code!? Great!
Phonegap is also kind of bridge between your HTML5/JS app and hardware so all special phone features like gyroscope, contacts database, file system, etc. is accessible through uniform PhoneGap API. This way, you do not need to know anything specific about iPhone or Android, just learn PhoneGap. You do not need several development teams anymore, double or triple development time, etc. PhoneGap even offers cloud building service, so you just upload your HTML5/JS app at they build packages for all supported platforms. Beautiful.
It was no surprise at all that Dreamweaver bought PhoneGap few days ago, it fits their services perfectly and integration with Dreamweaver existed even before that. Webmasters are going to love this combination.
But that’s just part of the story. As you know, writing HTML5/JS apps can be time consuming even for one platform. Imagine what happens when you do it for several platforms, screen resolutions and for older/slower devices. Remember all those browser compatibility issues on web development and multiply it with 10! Also, designing mobile interfaces in HTML is not easy task, there are some specifics there like sliding effects, lists etc. But, mobile frameworks to the rescue. I was using JQuery for web so it was happy to see JQuery Mobile or short JQM (www.jquerymobile.com). JQM offers you mobile widgets and tools to rapidly build mobile web/app.
So, combination of mobile framework with PhoneGap is a power combination for rapid mobile web and app cross-platform development. But I’m going to leave my experiences with Mobile frameworks for later. Before that let me mention few other alternatives/tools.
Titanium (www.appcelerator.com) – Titanium platform is alternative to PhoneGap. Titanium empowers you to build online, on-phone and desktop apps on the same base. Reading few reviewes and comaprisons with PhoneGap, I decided to skip this. Main reason is my leaning towards tools like Dreamweaver, and the fact Adobe bought PhoneGap just pushed me in that deirection. However, Titanium is solid product and you can find many flames between users on each side. You make a choice.
Tiggr (www.gotiggr.com) – this is Web-based mobile Apps builder. Internally it also uses PhoneGap and JQM, but is developed fully in Flash and you don’t need to install anything. Making and building process is done in the cloud. Interface is similar to those mockup tools and UI prototype designers but with additions of tools for building mobile apps. The one I really like is “services” where you can define connection to some authentication services, REST (JSON, XML) services or similar. Connection to JSON web services is something often used in this kind of apps and it is done really well. You just configure connection parameters and Tiggr automatically parses data and stores key for later use. All you have to then is link those keys with UI elements and that’s it! very neat.
Tiggr is probably not going to be used on larger apps (although custom JS is supported so technically ther’s no limit) but for many uses it is a very good tool (45$ monthly fee).
iGenApps (www.igenapps.com) – let’s say this is similar to Tiggr but on your mobile phone. Huh? Yes, they even started producing mobile apps for building mobile apps. Unfortunatelly this app lounched few days ago is not ready yet. Design, marketing, features lis… all promissed and looked very professional, but product itself (at least on Android) is very bad. First launch had a nasty bug with not being able to register and use app at all. After fixing that, crach, crash, crash… not usable at all. However, I’m still keeping my eye on this
ShoutEm (www.shoutem.com) – This is a Croatian service I havent tested yet but getting very good reviews. I mention it because, well, it is Croatian product.
Where to go from here
I decided to make a small test app using Phonegap and 3 different mobile frameworks (JQM, Sencha Touch, XUIJS). Maybe few more if some catch my interest. I’ll post my experiances with each in following posts.