pennies

PhoneGap is a cross platform development tool that allows developers to write HTML content and embed this content in a Native Application shell. The perceived advantage of using PhoneGap is that developers can write and maintain a single code base and deploy the application to numerous different mobile platforms, thereby streamlining the road to cross platform applications. Additionally this would allow a web developer a low barrier of entry into Mobile Development. This concept typically breaks down in development and leads to a code base that is hard to maintain. Because we have a decent amount of clients raise questions about PhoneGap as a potential alternative to developing native apps for both Android and iOS, we felt it was important to provide the reasons why we choose not to utilize PhoneGap for mobile app development.

Native Functionality

To create native app functionality like push notifications, camera access, or location services, developers will typically need to write code that is specific to each platform.  This is where the concept of cross-platform development breaks down. To ultilize any native functionality that is unique to different OS, developers will have to write native code for each specific platform anyway.

mobile hardware testing

Extensibility

As an app matures, additional features are needed and these features may require more customized and native experiences. Such customizations and integrations prove difficult to provide through PhoneGap. If PhoneGap is relied upon, you then need to write custom code for each platform much like you would for the native features I mentioned above.

No Guarantees

At any time, the app store for a particular platform may arbitrarily decide to reject future updates of an app that doesn’t use native functionality and potentially remove that app. We saw this happen recently with the iTunes App Store and Flash. Apple’s app development guidelines can make app store deployments particularly tricky for this reason.

Side-by-side comparison of iOS and Android user interfaces differences.

Side-by-side comparison of iOS and Android user interfaces differences.

OS Upgrades and Evolution

Changes occur between different major releases of OS that could be a breaking change or require updates to account for the update. App developed with PhoneGap require more maintenance during routine OS updates then a native app might. Additionally cross-platform products typically provide updates just after the OS is released so proactive fixes are typically not possible. Furthermore, there is often a delay of about a week for the iOS approval process so PhoneGap clients run the risk of having a broken app in the store for that period of time.

User Experience

Users expect to see native look and feel in apps they install. Phone gap applications obviously cannot look like a native application on every device, as iOS, Android and Windows all have a very different look and feel in their UI. The controls that PhoneGap utilizes are built with HTML and it is hard to create an app that looks native for each mobile OS. By not having that native look and feel, it becomes difficult for users to trust and feel comfortable with the app. These seem like minor details, but they cannot be overlooked. Imagine opening a new app on your iPhone that has a completely unfamiliar keyboard with different character placement, button sizes, etc.; it would create a very disjointed user experience.

user-experience-areasDeveloper Technology

Developers will either need to spend additional time creating a theme for each platform or concede to design an app that doesn’t look native on certain platforms. As a mobile OS provides new functionality, you then rely on the 3rd party (PhoneGap) to provide bridges to this functionality.

Additionally, as Mobile UX evolves you are at the mercy of an entirely different eco system (HTML) to try and match that evolution. You are relying on web developers to create mobile apps. Mobile developers should create mobile apps.

Despite the apparent cost savings in PhoneGap, making the choice to utilize such a tool for cross-platform development can end up being a major nightmare in the long run. PhoneGap apps risk incompatibilities across multiple OS, crash-inducing bugs from OS upgrades, and a disjointed user experience. Though the investment for native development on multiple platforms can be a big pill to swallow, the benefits pay off immensely in both the short and long term.

 

For more information about PhoneGap, cross-platform mobile app development and native apps, check out our other mobile blogs or visit our website today!