Introduction to PhoneGap
Your end users expect mobile access to enterprise resources now. Unfortunately, our traditional remote access methods do not lend themselves easily to mobile form factors. So, we are left with the choice to use 3rd party apps, "mobilize" existing apps, or build our own. This article will address one of the players aimed at helping you build your own mobile apps with less effort.
Mobile Enterprise Apps - Virtualize, Buy, or Build?
When it comes to mobile enterprise applications, you basically have 3 choices:
- Virtualize what you have (via Citrix HDX, RDP, VMware PCoIP, etc.)
- Buy something from a 3rd party
- Build something yourself
There are use cases for each of these, but I’m going to focus on one way to build something yourself. In this case, I’m going to cover PhoneGap.
What is PhoneGap?
What's needed to develop with PhoneGap?
You still need to use the various platform IDE’s to develop an app with PhoneGap. For instance, I developed a simple app for iPhone and Android. For iPhone, I used Xcode to create and compile the PhoneGap application. For Android, I used Eclipse to create and compile the application. I had to set up each IDE to use the PhoneGap framework, but that is all documented pretty well.
I started with Xcode and got things working liked I wanted for iPhone. Then, I literally just copied and pasted my HTML, CSS, and images over to Eclipse and the Android app just worked. My app is very simple, but here are the results:
[gallery ids=”1218, 1229” size=”medium”]
[gallery ids=”1222, 1221” size=”medium”]
What is the catch?
PhoneGap is free. Even though Adobe acquired PhoneGap in 2011, the PhoneGap code was contributed to the Apache Software Foundation (ASF) under the name Apache Cordova and graduated to top-level project status in October 2012.
I have noticed that some PhoneGap apps seem to run a little sluggish when dealing with animations as compared to traditional apps. I’m assuming this is due to the chrome-less browser nature of PhoneGap applications. However, when dealing with enterprise applications, I do not see this as being a big issue.
The other issue I see for enterprises (and this is not unique to PhoneGap) is data access. Your application is really just another front end for data. You have to provide enterprise data access somehow. This can be done via VPN, or using local device storage and sync strategies. Like I said, this isn’t unique to PhoneGap, but it is something to think about.
On the contrast, you are not developing “real native” code and devices may come out with features faster than the PhoneGap framework can accommodate. You still have a data problem. If your app requires a lot of fancy animated graphics, then PhoneGap may or may not suit your needs.
So, there you go. If you have experience with PhoneGap or just something to add, feel free to leave a comment below.