

Ask HN: mobile development with Phonegap vs. native? - zxcvvcxz

Pretty straightforward story here: Android dev here looking to make a CRUD-type application that can deploy to the iOS platform as well. Seems like PhoneGap might do the trick.<p>What are your experiences with Phonegap? Is it generally permissibe for making enterprise mobile applications? What features could be missing? Why doesn&#x27;t everyone use Phonegap if it can deploy to multiple platforms?<p>Cheers
======
IanDrake
>What are your experiences with Phonegap?

I started very early in PhoneGap. Keeping up with the changes as the product
has matured has been a pain, but expected. You'll be glad it's pretty mature
at this point.

That said, starting with v3.0 the move to NPM has taken development
reliability back a few steps in my opinion. I like the new command line
interface, I just wish it worked more consistently. I'm sure it will get
better.

>Is it generally permissibe for making enterprise mobile applications?

That's what I use it for. It works well for this purpose. I wouldn't use it
for B2C apps though, especially for Android because the browser on Android
performs poorly, especially for scrolling - very laggy and spastic.

>What features could be missing?

There are a lot of plugins that fill in the gaps. I don't recall not being
able to do something a native app could do. I've used, the GPS, photo gallery,
camera, enabled "Open In", FileTransfer, media recording, and probably a few
other plugins.

>Why doesn't everyone use Phonegap if it can deploy to multiple platforms?

Because there are other platforms that could be used. If C# is your thing, you
could check out [http://xamarin.com](http://xamarin.com) With that you could
write apps in a MVVM style and reuse your ViewModels in a PCL that could be
reused across Windows Phone, Android, and iOS.

The thing is, mobile apps are now typically an extension of a web app, so if
you already have web developers then PhoneGap gets you there faster. The end
result will be a good product, but will never be a truly great product.

------
byoung2
In my limited experience, PhoneGap is good for getting a quick proof-of-
concept up and running on a few platforms or for wrapping basic mobile HTML
sites in a native wrapper. Once you start using native functionality (camera,
accelerometer, location, etc), you'll find that you have to customize your
code for each platform. You will likely hit the biggest wall when you want to
do notifications. That's where I gave up on it and went native, so to speak.

~~~
rtcoms
There is already something like Notification as a Service. You can push
notification to iOS, Android, Windows Phone, Windows desktop, Mac OS and even
to all browsers.

check [http://push.io/](http://push.io/)

------
westernpixel
We had to make the same choice a couple months ago with my startup. After some
feedback from native & phonegap developers and building a quick prototype with
Phonegap we went with native.

Basically Phonegap is cool if you want something for both platforms pretty
fast and the UI is not too complex (works well for showroom apps for example).
However, performance might be an issue (especially since iOS throttles Webkit
outsides of safari), and I've heard that you'd more or less need to use pure
JS since existing frameworks (e.g. Sencha) would be too slow. Last thing is
that you'd generally still need to write 5-15% of native code for your app,
depending on its complexity (again, haven't been far enough but got it from
devs who use Phonegap for most of their apps).

------
gesman
I had to revert from Phonegap to Java (native/android) for eCommerce mobile
app when I found that I had to write too many "plugins" and tweaks to Phonegap
to accomplish what i need.

Phonegap and alike "wrappers" are ok if you have general purpose type of app.

But if you need more optimizations for high performance, or fine grained
"under the hood" control - native is the best/only way to go.

Otherwise you're risking to find yourself spending too much time trying to
squeeze square peg into round hole.

------
tehwebguy
Have you seen Steroids.js?

[http://www.appgyver.com/steroids](http://www.appgyver.com/steroids)

Check out the video on that page, it uses PhoneGap and the results are pretty
impressive.

------
snapoutofit
From what you are describing, phonegap would work really well. Easier to
maintain that ways. You would need to get into more specifics to work out what
features you may miss, but for a CRUD, it should work out well.

------
laveur
For iOS Users in particular when someone tells us their app is "Native" we
expect it to be just that! Not a website wrapped in some native code. Further
more wrapping your web app in native code is a good way to get you picked on
in reviews. No one likes it. We want it designed for the device we are running
on. Not something that was put together for to simply check something off a
list.

