I am curious to know if there are any drawbacks or limitations of using Phonegap as compared to using Android. What else can we do that cannot be accomplished using the other platform?
Why would one specifically choose Phonegap over Android (besides budget or cross platform compatibility) or vice versa ? I am looking for clear scenarios with justifications.
PhoneGap APIs are built using JavaScript which is not multi-threaded and hence do not support background processing. Access advanced native functionality: A number of native APIs are not yet supported by PhoneGap's APIs. Complex Business Logic: A number of applications such as enterprise applications are quite complex.
Eclipse ADT Plugin ADT (Android Development tools) is a plugin of eclipse which provide a complete IDE for developing Android application. ADT lets you create new Android projects, and it lets you create Android projects from existing source (this is the way we will open our PhoneGap app for android on eclipse).
Full disclosure I'm one of the core committers to PhoneGap's Android implementation so my opinion may be biased but I like to think I'm fair.
To answer your question it really depends on what your requirements are. You've already dismissed budget and cross platform which are two of PhoneGap's key benefits. For instance if I never intended to target any platform but Android I would probably go with native Android development but if we were going to other platforms I'd pick PhoneGap. Also, I'd take a look at my team, are they hard core Java programmers? Go Android. Are they HTML developers? Go PhoneGap or pure HTML5.
Also, it depends on what type of application you are writing. A first person shooter, go Android. A table driven data applicaiton, PhoneGap is the way to go.
Anyway, without knowing what type of app you are trying to develop it's hard to be specific.
PhoneGap Pros
PhoneGap is an excellent solution in a number of situations:
Multiple platforms: Since the front end of the application is built using web technologies, a PhoneGap application with the exact same source code can be deployed across different platforms.
Access basic native functionality: If the application requires minimal access to the native APIs such as camera, geolocation and contacts PhoneGap allows access to these APIs with just a few lines of JavaScript code.
Offline usage: Although the app is built using web technologies, it can still provide offline functionality and has access to the browser’s local cache.
PhoneGap Cons
Since the front end of the application is built in JavaScript, it causes a number of limitations.
Data processing: Native languages are much faster than JavaScript for data processing on the device.
Background processing: A large number of applications rely on background threads to provide a smooth user experience: calculating the GPS positions in the background, for example. PhoneGap APIs are built using JavaScript which is not multi-threaded and hence do not support background processing.
Access advanced native functionality: A number of native APIs are not yet supported by PhoneGap’s APIs.
Complex Business Logic: A number of applications such as enterprise applications are quite complex. In this scenario it is simply better to have a certain amount of native code.
Advanced Graphics: Apps that use advanced graphics which can only be accessed using third-party libraries are best done natively.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With