Live data from Hacker News

Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

makehybridapps.com

1–10 of 34 posts

Re: Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

#2
I implemented a little bit of animation and a 'native-esque' SPAM button in my app Herenow. I used css3, and to be honest, it doesn't feel quite native because the webview isn't as fast as a native control would be. Looks are easy, feel is hard.

http://www.herenowapp.com/

Re: Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

#4

I implemented a little bit of animation and a 'native-esque' SPAM button in my app Herenow. I used css3, and to be honest, it doesn't feel quite native because the webview isn't as fast as a native control would be. Looks are easy, feel is hard. http://www.herenowapp.com/

Author of the blog post here. From my experience, achieving a native feel with a hybrid app on e.g. iOS isn't that hard. There are constraints, true. But it can be done.

My strategy is to use GPU-accelerated CSS transitions, test often on the real device and see how others are doing it, e.g. in UI frameworks (onsen ui, framework7, ratchet, etc).

Re: Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

#5
I found the performance of PhoneGap still lacking. Currently, I develop a very simple app with Impact.js, which is an HTML5 game engine and can be deployed with Ejecta. However, I don't do a game, more like a calendar app.

The downside is: You can't use any HTML/CSS elements for building the UI. Because Ejecta supports only the canvas element.

The plus side is: If you manage to make a basic UI like in a "game" with canvas only, you'll get near-native performance, since Ejecta implements an OpenGL-enhanced canvas element.

Re: Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

#6
post #5

I found the performance of PhoneGap still lacking. Currently, I develop a very simple app with Impact.js, which is an HTML5 game engine and can be deployed with Ejecta. However, I don't do a game, more like a calendar app. The downside is: You can't use any HTML/CSS elements for building the UI. Because Ejecta supports only the canvas element. The plus side is: If you manage to make a basic UI like in a "game" with c…

For better performance, take a look at Crosswalk[1]. It bundles your app in a Chromium browser, which should be way faster than Android's Webkit.

[1]: https://crosswalk-project.org/

Re: Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

#7
post #5

I found the performance of PhoneGap still lacking. Currently, I develop a very simple app with Impact.js, which is an HTML5 game engine and can be deployed with Ejecta. However, I don't do a game, more like a calendar app. The downside is: You can't use any HTML/CSS elements for building the UI. Because Ejecta supports only the canvas element. The plus side is: If you manage to make a basic UI like in a "game" with c…

Hybrid gaming might become a bigger thing when iOS8 is finally released, it should bring WebGL support. I'd like to see how e.g. pixi.js with WebGL renderer performs on mobile.

I've been able to use PhoneGap / Cordova in my iOS projects and achieve ~60FPS, but I've had to stay within some constraints (e.g. use GPU-accelerated CSS animations). As suggested, Crosswalk is an interesting alternative for Android.

Re: Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

#8
post #3

Interesting article. I think that the slowness of webviews has much value than we can image. This guarantees to Apple, Google etc to have a total controll over apps distribution, in other words a Fast WebView is equal to minus money for them.

WKWebView in iOS 8 and OS X 10.10 [1] and Chromium-based WebView in Android 4.4 [2] don't have the performance issues that the old WebView APIs used to have.

[1] http://www.youtube.com/watch?v=ZC_rNie61IQ

[2] https://developer.android.com/guide/webapps/migrating.html

Re: Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

#9
post #3

Interesting article. I think that the slowness of webviews has much value than we can image. This guarantees to Apple, Google etc to have a total controll over apps distribution, in other words a Fast WebView is equal to minus money for them.

Not really, most editors will still want to be in the app store / play store even if they can release a pure web app. From a marketing point of view releasing "an app in appstore/play store" has a lot of value vs releasing "a mobile web app"

Also, iOS and Android since 4.4 have pretty good performances in the webviews.

Re: Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

#10
post #5

I found the performance of PhoneGap still lacking. Currently, I develop a very simple app with Impact.js, which is an HTML5 game engine and can be deployed with Ejecta. However, I don't do a game, more like a calendar app. The downside is: You can't use any HTML/CSS elements for building the UI. Because Ejecta supports only the canvas element. The plus side is: If you manage to make a basic UI like in a "game" with c…

The performance problems are not the fault of Cordova in the newest version which can be configured to use to the newest version of Chrome on android devices. Instead performance issues are the result of inefficiently manipulating DOM. Try famo.us with phonegap and you'll be able to overcome the performance issues you're seeing.

disclaimer: I work for famo.us, but trust me here. do a proof of concept of something with cordova and famo.us that in you prior experience was poor with just cordova alone.

Post reply on HN