Live data from Hacker News

Apache Cordova: after 10 months, I won't using it anymore

geekcoder.org

11–20 of 96 posts

Re: Apache Cordova: after 10 months, I won't using it anymore

#11
There's a use case for everything. I for one am not wasting resources creating and maintaining two versions of fairly simple applications in a corporate BYO environment, like the one I'm working in. There are plenty of convenient and easy to use frameworks out there that make positioning and screen creation just as straight forward as Xcode or the android development tools.

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

Re: Apache Cordova: after 10 months, I won't using it anymore

#13
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 have JIT for Javascript on iOS. It's a completely different picture today. In fact, our performance-sensitive HTML5 game engine[1] targets the iOS 8 webview and Crosswalk for Android for making native apps, and they generally work as well as in the browser, which is very good, especially on newer devices. Modern web APIs are also asynchronous which helps offload work from the UI thread, and Web Workers can do that for arbitrary JS code too. For example our game engine runs A* pathfinding in a web worker, offloading any performance impact from the CPU intensive algorithm and running it in parallel to the game.

I think it's time to stop accusing webviews of being slow.

[1] scirra.com

Re: Apache Cordova: after 10 months, I won't using it anymore

#15
We've been using Cordova for almost 2 years (one in production, mind you), so I beg to differ.

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.

Re: Apache Cordova: after 10 months, I won't using it anymore

#16

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.

Re: Apache Cordova: after 10 months, I won't using it anymore

#17
This is a very bad article. The real problems with Cordova are:

* 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.

Re: Apache Cordova: after 10 months, I won't using it anymore

#18
post #2

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).

"To bundle Chrome, you will see a small (~10-15MB) size increase in your Android Apps."

I wonder what kind of apps they run that make them call 10-15mb call "small".

Re: Apache Cordova: after 10 months, I won't using it anymore

#19

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.

Oh, good point. I mentioned Android 5.0+ because the 4.4 one is missing some major features including IIRC WebGL, Web Audio and WebRTC, which still rules it out for some use cases (such as a game engine).

Re: Apache Cordova: after 10 months, I won't using it anymore

#20

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.

> 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."

Post reply on HN