Beginner steps in developing cross-platform mobile apps
Today I am going to point you to a very useful open source tool that helped me take my baby steps in mobile app development.
Functionally and structurally, many mobile apps are much like interactive websites, but with the ability to access many features provided by the phone hardware, such as: phone calls (duh!), geolocation, camera, and long-term memory storage.
An example is the navigator.geolocation Javascript object which is widely supported by phones’ browsers and lets you access the phone’s geolocation features. Recently, it has been implemented in desktop browsers as well. Even though desktop computers usually don’t have a GPS module, they try to guess your location based on a number of factors (like your computer’s IP address, or nearby wireless access points).
So, essentially, many apps use the phone’s HTML rendering engine for their interface, and they also use the phone’s extended Javascript capabilities to access specific features. These apps are, essentially, websites packaged in an archive, with some type of config file that contains the app’s name, version, and icon.
As a result, a web developer like me could switch to mobile app development without having to learn any native iOS or Android code! That’s good news for veterans trying to adapt to the new age of mobile technology.
Awesome, but you still need to wrap your web-based app in some code that invokes the phone’s web rendering engine, and you need to archive it in a format recognized by the phone. And these parts are platform-specific, so you need to make a separate build for each type of mobile OS.
That’s what PhoneGap is made for. It is an awesome open-source framework (recently purchased by Adobe) that does this job for you: basically, it helps you turn a web app into a mobile app for many different platforms, including iPhone, Android, Windows Mobile, Blackberry and others.
Personally, so far I have used it to produce an app mostly for my own use: a GPS-enabled timetable for the public transport system in my city. My Nokia phone was running on Symbian Anna at that time, and PhoneGap did a very good job building a Symbian WRT application for it. Sadly, Symbian support is deprecated in the newest version, and the same app crashes on Symbian Belle, but it’s normal to expect dwindling support for Symbian as it is being phased out of use on Nokia’s flagship smartphones. Still, I’m confident that PhoneGap is the way to go if you want to build apps quickly and easily for other, more widely used platforms such as Android and iPhone/iPad devices.
I would invite any web developer interested in creating mobile apps to take a look at this wonderful framework.
Leave a Reply