Building cross platform mobile apps
If you’re doing any kind of mobile development, chances are you’re targeting a specific platform – you download the platform SDK, use the language and the preferred IDE for that platform. You take time to learn the SDK and sometimes the language (as you probably haven’t done anything with objective-c unless you are an apple developer). When you’re done, you take your work to app store for the world to see.
Some times later (presuming you were lucky not to have your app rejected) you decide to port your app to platform B. Unfortunately, platform B, being a direct competitor, doesn’t share a thing with platform A so it’s back to step 0 for you – download SDK, setup IDE, learn both, submit to app store, yadda yadda. What’s worse, your job of maintaining the app is now doubled.
Now, how about if there was a way to build mobile app in a fraction of time, which could run on all major mobile platform out-of-the box?
Then, using tools designed for this, turn this web app into an installable off line app. These tools also give you API to access otherwise non-accessible parts of device such as camera, phone, contacts or GPS. And from there, you can treat it like any ordinary application (submit it to app store, for example).
It’s just Webkit embedding
In a nutshell:
- it’s a web app. Meaning, it runs inside a browser on any platform out there.
- you don’t have to deal with any platform obscurities development or publishing-wise. You don’t event have to submit your app to app store – just give users the URL.
- it’s a web app so the way it looks and behaves is entirely up to developer. There are no platform specific UI elements to start with, but there are libraries such as Jqtouch that can provide you some of these.
A few resources to get you started
- JQTouch – a JQuery plugin giving you a lot of UI/behavior to jump start your app development.
- iUI – The original framework to build iPhone-like applications.
- XUI – A lighter alternative to the above, targeting mobile devices and nothing else. I’m keeping an eye on this one
- BaseJS – Some as above, this one more tied to Iphone.
- PhoneGap – Open source and activly developed. Supports Iphone, Android, RIM, Windows Mobile, Symbian, Palm and Nokia WRT. Really, is there anything left?
- Titanium – something of a beast compared to Phonegap as it can even be used to build cross-platform desktop apps. It supports larger amount of native APIs and comes with its own UI library, but as of writing this only Android/Iphone are supported.
- Rhomobile – this one even more ambitious with its own cloud service to sync data and build apps without even installing the native SDK. Oh yes, and you can write your apps in Ruby too.
Should I use it?
Of course, we at fiveminutes.eu, being so easily hooked on anything that could shorten our development cycles are on that wagon already. Stay tuned for more.