Actually, I always find it a bit surprising Cordova doesn't have more competition.
Edit; I find the title misleading. It's not so much about Cordova as it is about hybrid app development
11–20 of 96 posts
Actually, I always find it a bit surprising Cordova doesn't have more competition.
Edit; I find the title misleading. It's not so much about Cordova as it is about hybrid app development
Now the circle has turned with React and React Native…
I think it's time to stop accusing webviews of being slow.
[1] scirra.com
Ever heard of WebSQL for storing your data? After 10 months, you should have been able to work around nearly anything you mention in your article.
Granted, our applications may be different and yes, Cordova, if not done right, can be excruciatingly slow. But we have managed well. Simple things like properly paginating data (rather than trying to infinite scroll), cleaning up CSS, avoiding repeated query selections (which is a bad habit of some jQuery developers) made a huge difference[1].
Our older app is built on jQuery Mobile. The latest one is Ember. The next R&D project I'll try will probably use React with Cordova. Mobile browsers are always getting better. After a while, I have the option of using App Cache instead of Cordova, without any significant code changes (I'm not using plugins yet).
[1] Edit: And not abusing local storage.
On performance, the new WKWebView on iOS (with Nitro JS + GPU rendering, including WebGL), and the Chromium webview on Android 5.0+ (or Crosswalk for Android 4.0+, similar features all round), radically changes the performance story. It's almost identical to the system browsers now. Facebook's comments about HTML5 were back in the dark ages when the webviews generally used horribly slow software rendering and didn't…
The Chromium based webview is available already in Android 4.4. So about 50% penetration at this point. It is indeed a huge boost to performance.
* Core functionality is broken between releases. If you ask in the IRC support channel, they will even tell you not to update if things work well! What if I need a new feature?
* Documentation is absurdly horrible or even plain wrong. I have been told several times to refer to the source code to find out how something works.
* If you face any problem, chances are you will never find an answer in Google. You may find some StackOverflow thread if you are lucky, where several clueless people argue about things they do not know and then arrive to a wrong conclusion. (The programming skill levels of Cordova users on those communities are usually very low.)
* Critical functionality (things such as local notifications) is not included. You must rely on 3rd party plugins, that could be well maintained, or could be not maintained at all.
Yes obviously a Cordova app does not look native. It's not native and it will never be. Period.
So I was reading this, and the only things that kept repeating in my mind were "Ionic, Crosswalk, Webworkers, Ionic, Crosswalk, Webworkers..." (Yes I know Crosswalk is Android only, but it works wonders).
I wonder what kind of apps they run that make them call 10-15mb call "small".
On performance, the new WKWebView on iOS (with Nitro JS + GPU rendering, including WebGL), and the Chromium webview on Android 5.0+ (or Crosswalk for Android 4.0+, similar features all round), radically changes the performance story. It's almost identical to the system browsers now. Facebook's comments about HTML5 were back in the dark ages when the webviews generally used horribly slow software rendering and didn't…
> the Chromium webview on Android 5.0+ The Chromium based webview is available already in Android 4.4. So about 50% penetration at this point. It is indeed a huge boost to performance.
FUD. Ever heard of WebSQL for storing your data? After 10 months, you should have been able to work around nearly anything you mention in your article.
But that's exactly the point. Ages ago this comment on HN summarized the situation perfectly... https://news.ycombinator.com/item?id=7442766
"It takes less time to learn and build native instead of trying to hammer Javascript into a hole it doesnt fit into, and spending hours attempting to optimize it's performance to no end."