What are the technical limits of phoneGap/Cordova?

First off, kudos to the amazing apache cordova team for making a platform-independent native-like app-building platform - great stuff.

But as we know that HTML5 is still in the draft mode, and i'm thinking of applying Cordova in that direction, what are the technical limits for Cordova right now?

And what's the pros and cons compared to Sencha Touch 2, as i see ST2 popping up during my Cordova searches.

Answers


There are no technical limits on Cordova in the sense you're thinking of.

Cordova provides a means to package JS, HTML and CSS in an app, which is run in a native web view. You may hear an argument that any new features added to native SDKs can't be used because you have to wait for Cordova to implement it. That's false, there's nothing stopping anyone from accessing the new features natively through JS.

The technical limits are actually on the browsers that your web tech runs in.

Before iOS5 there is no position: fixed, so that's a limit for developers who want to support iOS5<. They're forced to use something like iScroll or actually take the hybrid approach by mixing a UINavigationBar with the UIWebView. I've done that and it was difficult.

Another limit is the click event taking 300ms to fire, so responsiveness is bad. This has been solved many times though, most recently by Google

There's plenty of other problems out there, like flickering during transitions and things that Thomas Fuchs has blogged about. Seriously, that guy is a genius.

I once came across a bug which caused the page resolution to decrease by showing and hiding child divs inside a parent div that had a css transform applied. Really strange stuff.

Sencha Touch is a good framework that you can try out for your web apps but it's not related to Cordova on a functional level


Need Your Help

Why does the Xcode fails to link PCL, when everything is fine in the terminal?

c++ xcode macos linker point-cloud-library

I am using CMake (2.8-12) to generate project and makefiles for my code, which dynamically links with boost and the point cloud library (PCL) on Mac OS X (10.9). In the past I have mostly created and