How to get that native iOS feel with PhoneGap
mikedellanoce.com
mikedellanoce.com
The argument against PhoneGap seems to be either that there isn't a place at all for such a technique, or that people think the benefits don't outweigh the drawbacks. Another option is that people dislike the developer accessibility aspect out of pure snobbery.
However, I rarely hear people making these arguments. I just hear (not necessarily in this thread, but in previous ones) "blah blah it sucks blah blah why not write native code blah blah".
You said it yourself. PhoneGap is an easy way to get a sub-par user experience and that is what matters the most, not development speed.
Probably the biggest problem with PG is that it's frequently used with JQM, which in my opinion (after over a year of development with this combo) is slow. Mostly because it's browser compatibly goal is too broad.
I'd really like to see a mobile optimized version of twitter bootstrap for PG.
I suppose the lesson of the story is that the developers matter more than a the framework used.
Crap PhoneGap apps and crap native apps are no different from each other.
My team is working with a company whose site is just shy of the top 100 in the US by traffic. Big company, been around for almost 100 years. What surprised us was that 50% of their traffic comes from mobile browsers. They even already have mobile apps for both iOS and Android, and still that much traffic goes to their mobile site. Also of interest: iPad users get the normal site. So 50% of their traffic is from phones.
What do you serve to those people? Bug them to get the app anyway? On large sites involving several different divisions of a company, the native app probably only has 10% of the functionality. And serving the full "desktop" web experience might not be possible or desirable.
While I think it can be a huge mistake to try to completely mimic a native app on the web, you can make the experience much better by at least adopting some mobile UI patterns. And in those cases, the tips on this list will save you. (Our work with this company involved adding stuff to both their "desktop" and mobile sites. We didn't use PhoneGap, but did use several of the tricks on this list.)
As an aside, almost all of these tips have nothing to do with PhoneGap. They all apply just as well to any mobile site that's going to be using transitions to look like an app.
Edit: That's not to say that you can't make an app work, but you shouldn't try to make a typical app using mobile framework that tries to mimic a native app such as jquerymobile or others. If using a non-standard UI it can probably work where the user isn't expecting it to work and feel like a UITableView and every other basic thing in iOS.
Unless it's changed a lot since 1.0 I don't believe it's some kind of WYSIWIG iPhone maker that creates bloated, terrible, code.
Phone gap is now a set of technical/busisness services for managing Cordova projects, such as Build deployable packages for all platforms via a web service
We advise native for productivity apps and such; day to day use apps should be fast and snappy, while promotional apps / marketing apps should look pretty.
It sounds like you make apps for people. Assuming you have someone on staff who knows iOS and someone who knows Android is it still faster to do it in PhoneGap? We attempted a phonegap app which ended up failing because of performance reasons. We rewrote the app in native iOS and it didn't take nearly as long as the original phonegap did with the constant tweaking in an attempt to get it to look and perform acceptably.
And the Phonegap experience isn't really good unless you spend a huge amount of time. Webview is just not very good; you need something which is native but crossplatform to replace it; everything we tried so far (appmobi, appcelerator, rhomobile) actually was worse than Phonegap/jqm to get right. But we keep at it as we know what our clients want.
Often the Phonegap version is treated like a prototype; then the client saw it and knows what they want; after that they have it rewritten to native on the platform which makes them the most/gets the most attention (etc). Which is almost always iOS by the way.
https://github.com/codecomputerlove/PhotoSwipe
Here's a simple HTML5/Photoswipe/Phonegap app I wrote that you could experiment with:
https://github.com/stungeye/HTML5-Tumblr-Mobile-App
Explained here: http://mobilehtml5.stungeye.com
In fact, using translate3d and CSS animation is pretty much the only way to get smooth animation - if you do it with pure JS (setting left/top styles), things get very herky-jerky.
We use them to emulate the Facebook / Path / Twitter swipe to move the main panel, performance isn't 100% of native - but it's pretty close.
Out of the box, using Kendo on iOS gives you a pretty native feeling app, esp. for things like form and image viewing type apps.
Just know going in that PhoneGap has limitations and it is not going to be 100% perfect, but it's outstanding for hitting the first 80% to prove out an idea and get it on the app store.
For an example of an app I wrote using Kendo Mobile, check out ReMeme on the app store. http://itunes.apple.com/us/app/rememe/id536802283?mt=8
I probably wouldn't use PhoneGap for an actual application that needed the native widgets look and feel, but for something like we are aiming for, I think it fits perfectly. We wanted to target as many platforms as possible.