Live data from Hacker News

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

makehybridapps.com

11–20 of 34 posts

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

#11

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

Incidentally i spend the last 2 weeks going through various Android devices, and iOS devices, various javascript frameworks and various CSS frameworks.

I'm happy to see others having opinions on this subject.

Essentially i did the research for these combinations:

[Android devices]x[iOS devices]x[js frameworks]x[CSS frameworks]

It was hard and tiresome but the conclusion - same as yours - iOS works very well for cordova/phonegap. Android is a no-go!.

Among the frameworks I checked: backbone, ember, angular, ionic, topcoat and various other CSS frameworks.

All were slow on Android. Also discovered 4.4 introduces worse performance (acknowledged by google) which is solved with crosswalk. However crosswalk brings many bugs to the table itself.

Really disappointing - currently I'm opting out and going Native.

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

#12
This "your UI shouldn’t mimick [sic] the native style of the platform" advice reminds me of what we used to hear when using Java and Swing a decade ago.

It resulted in a bad user experience then, and I think that still holds true today. Swing apps never felt right on any platform, even when using a native theme. It's probably no different for apps built using Cordova, too.

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

#14
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 wit…

For a simple hybrid app (HTML5/JS/CSS packaged with Cordova) is there a reason to use famo.us instead of ionic?

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

#15
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 wit…

Or avoid unnecessary DOM updates and use only opacity and 3D transforms in your animations to get the same performance as famo.us

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

#16
post #11

Earlier quoted context omitted.

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

Incidentally i spend the last 2 weeks going through various Android devices, and iOS devices, various javascript frameworks and various CSS frameworks. I'm happy to see others having opinions on this subject. Essentially i did the research for these combinations: [Android devices]x[iOS devices]x[js frameworks]x[CSS frameworks] It was hard and tiresome but the conclusion - same as yours - iOS works very well for cordo…

Allow me to suggest taking a look at QML/Qt Quick. I've only recently started working with it, but so far the UI performance is excellent and for someone experienced with HTML/CSS layouts and JavaScript it's quite easy to pick up. (Also, FWIW, it's more enjoyable than twiddling with CSS.)

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

#18
> Secondly, your UI shouldn’t mimick the native style of the platform.

hmm..?

> After all, it’s another case of copying the looks and the two reasons mentioned earlier apply here too. It still is time-consuming and distracts you from thinking about your user’s actions.

From a development perspective this may be true, but from a usability/UX perspective, this definitely isn't. It's not just about copying.

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

#19
post #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.

the point is not the releasing to AppStore but the download from app store. You could release a webApp to appstore but not download it from the store.

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

#20

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

Maybe I'm a moron, but the entire concept of "native look and feel" means nothing to me. I have used android for about 5 years and have played with plenty of iOS devices and I'm still not sure what parts are native. Apps all have seemingly different look and feel. We certainly never sweat nativeness on the web going for consistency across OSes instead. It seems like going to native look is not even a desirable thing.
Post reply on HN