Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Depending on what you need your application to do, I would definitely go down the web app + PhoneGap route.

It's extremely easy to develop and test the app in a webkit browser, and then in the relevant phone simulators, and PhoneGap will very very easily wrap your web app into a native application - it also provides extra JavaScript APIs to access some hardware features, like the camera and geolocation and so on.

You can use any of the existing common mobile web app frameworks (I actually wrote about my experiences with several of them just last weekend: http://semantici.st/archives/223:ios-webapp-frameworks-round...), or do something entirely custom. You can certainly get a 'native enough' UI experience on iOS - I've not tried Android yet.

However, if you're planning to do anything that's really performance-limited this approach won't work. The performance is exactly as you'd get in a normal mobile web app, and if you're expecting to do, say, gaming or perhaps something complicated using the camera (like 'Layar' or 'Word Lens' type AR), you'll need to be writing native code.



To get an idea how terrible PhoneGap can work in practice, check out the O'Reilly iPad app. The performance just isn't there for some applications.


Not just the performance. A lot of the UI behavior was just wrong. Scrolling in particular was a disaster. Maybe they were using PhoneGap badly, but still--in a native iOS app it's quite easy to get scrolling to work right, and apparently in PhoneGap it's not.


no idea why you would get downvoted for this, it is clearly just a well stated opinion without flame etc.

However, PhoneGap shouldn't be completely to blame for any one applications performance. If many PhoneGap applications performed poorly, then you could make the case. PhoneGap apps should perform as well as any web-based app on the same device. It is up to the developer to make efficient use of javascript animations, etc. in order to provide the best user experience.


Remember that PhoneGap really isn't anything more than a thin wrapper around a web app. Performance/usability is going to be heavily influenced by how you write that web app.

I'd be more interested to know what web framework O'Reilly used that was slow, rather than it being PhoneGap per se.


They used PhoneGap, in fact it was Nitobi that created the app.

http://blog.safaribooksonline.com/2010/10/18/an-update-on-ou...


Have you personally used PhoneGap? It sounds like you don't quite understand how it works.

For an iOS PhoneGap project, inside the Xcode project there is a 'www' directory into which you stuff your HTML, JavaScript, and CSS files from your mobile web app. PhoneGap then creates a webview and loads your index.html in it.

PhoneGap by itself cannot be used to make any kind of an application. You also need a web app that works outside of PhoneGap (barring some PhoneGap-specific JavaScript APIs which you can optionally include to get access to device-specific information and features), and that web app presumably would either use one of the common frameworks or be written from scratch.

Hence my point that what's more interesting to know is what web app framework they used, since that'll have a bigger impact on performance and especially usability than just "it's PhoneGap".


How is performance in the browser for PhoneGap applications? I'm not expecting anything native, but I tested some of the sample apps on my Android phone and they were... /underwhelming/ - clicking anything would take around 3 seconds just to switch to a new view, etc.


My experience - at the moment - is specifically with jQTouch and iPhones. I've found that it performs well for simple views, but haven't tried anything complex.

In general, PhoneGap's going to perform the same as if you tried it in the phone's browser. From some stuff I tried before, Android browser performance was noticeably slower than iPhone browser performance, but not so much as to make it unusable.

I suspect it'll depend heavily on the device you're testing.


I totally agree with this approach. It's what we use, and it's really quick to get started with.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: