Not yet. With glimmer, especially glimmer 2, a native ui layer would be possible, but I’ve yet to see any perf gain going native. Good code is good code, bad code is bad code. The main issue right now is that JS is missing many ui elements that native SDKs provide, so I’ve been working on adding these elements.
- flexi: better layouts, component cacheing
- smoke-and-mirrors: large scale occlusion, better list/grid/scroll management
- ember-radar: better position tracking
- ember-async-image: smarter image loading and teardown (soon with ember-radar integration)
- skyrocket: threaded ember
- ember-peek: peek ahead/behind support for route transitions (requires ember-radar to release)
- ember-hammertime: touch-action polyfill (a better fastclick)
- ember-gestures: gesture based interaction for your app
- ember-capture-eventing (stalled, awaiting RFC): a 10000x faster event model for Ember, reducing event overhead and making gestures, touch etc. competitively fast
- hammerJS: (we’ll be adding a capture based mode, to interop ember-gestures with ember-capture-eventing nicely)
- liquid-fire-tweenlite: gsap backed animation support
- better platform support: https://github.com/ember-cli/rfcs/pull/35
glimmer2 coming which will provide a great boost to perf, various pieces of the ecosystem make great perf strides on an almost weekly basis.
A lot of perf issues come down to avoidable ED bottlenecks, bad jQuery code, and bad data flow patterns. Generally speaking if you proactively keep ahead of those 3 things in your app, you’ll have a great mobile experience. Especially on iOS, but even on Android.
On the Cordova side, on iOS hopefully you went with
wkWebView, it’s not the default, and it’s hugely faster than
uiWebView which is the default. On Android, hopefully you were going with
Crosswalk, also hugely faster, not the default, and makes better standards available.
In short, what I’m saying is, building ember apps that compete head on with native is doable without native SDKs, it’s just going to be a little while longer.