Native-Speed my a. Sorry but people should stop lying about it. Angular is great but it's damn slow no matter what people say about it. And Webapps UIs are never as fast as native UI on mobile. Once these 2 things have been debunked,we can talk honestly about the advantages of using things like Ionic or other solutions.
I personnally look forward to using React Native ,as a Titatinium user, there is no question using native components directly instead of html+CSS in webviews is better, faster and when the UI kit of my mobile is updated , I don't have to restyle all the components to match the current design. If I need a webview,well I have access to the webview anyway.But all the app SHOULDN'T live inside a webview.
Author of the course here: to users, the performance difference is not noticeable. If you look under the hood, sure, there are absolutely inefficiencies that happen. But a vast majority of the time it has no effect on the user experience, and that has been the dealbreaker with hybrid apps in the past. Browser rendering is now fast enough, and the frontend technologies robust enough, that developing and deploying hybrid apps can often be a much better experience than developing in native.
That said, React native looks awesome and I'm looking forward to using it - but it != death of Ionic/hybrid apps imho.
When we built Songhop (an Ionic powered app) and tested on 4S, the app performance was the same as other apps on the phone. Unless the phone isn't updated to the latest OS version, performance in webview will generally be similar to native apps.
I feel that once a web UI is updating at 60 fps, it's at native speed. While it's true that the native components could theoretically update at 600 fps, the screen doesn't refresh that fast.
In other words, it's possible to make a web UI that is indistinguishable from the native components if styled identically.
One big reason why web apps feel slow is that by default there is a 300ms tap delay, which the browser uses to try and distinguish different types of actions.
come the f-- on. ionic is using css transforms on a good day. At least famo.us is trying harder and react.js is going native. I'm still on the fence if the extra effort is worth it but have been dabbling in java and objective c/swift. Worst case, I'll have a lot more to offer than just being a JavaScripter even if its damn hard.
I think the other comment thread on this post (https://news.ycombinator.com/item?id=9070906) addresses your points here. Not that you're wrong, but just that the experience for the user is identical in most cases.
If you are only doing a-z sure. Its native speed just sitting there too. But doing anything interesting is going to take some chops. You could write a native plugin for phonegap twice, true dat and you're still in js mostly but you still had to do something custom to really get something worth doing that stands out if you are needing to integrate with native functionality.
Definitely, if you're building something with complex UI requirements (aka "interesting" :) hybrid apps probably aren't the right choice. However, most apps typically don't fall into that category - so if you know angular/frontend, there's now virtually no incentive to go native (again, unless you're making a complex UI).
absolutely agree on that one, I'm still learning ios/android native anyway, already have famo.us down pretty decently, going to try the create plugin route because i feel the gains on UI are surpassing doing it all native for both but just doing famo.us vanilla rather than angular because not convinced perf is great on that
Surprised no one has mentioned http://www.appgyver.com/supersonic/ It's basically Ionic with at least SOME of the native speed gripes other comments are complaining about.
I agree that it's not going to meet native but in most cases it's _good enough_ and you are getting both platforms for free. If you can build for both platforms and don't mind learning native stuff then more power to you, but Ionic definitely has it's place. Until I see React Canvas reaching the maturity of Ionic, it'll have its place. I also hope Ionic works on mobile browsers as long as possible, because not many other mobile web frameworks match it.
The problem with such a framework is that the native part is completely blackboxed. I would never consider to adopt an hybrid framework that does not provide access to code because of the concern that some corner cases, which I cannot anticipate, could not be covered properly. I wrote a board game application in which I mix 2d graphics with native UI views. In the end I chose C++ for the business logic + 2d part ( with cocos2d-x) and Java or Objective-c for the GUI part. While It has been sometimes awkward ( especially on Android ) I feel to have done the right choice at the time I started. I have been able to reause a lot of code and the tools and languages I have chosen are fully supported. If I had to start again today I probably would consider Xamarin ( at the time it was too much expensive ) or something like RemObjects Silver.
14 comments
[ 2.8 ms ] story [ 35.7 ms ] threadI personnally look forward to using React Native ,as a Titatinium user, there is no question using native components directly instead of html+CSS in webviews is better, faster and when the UI kit of my mobile is updated , I don't have to restyle all the components to match the current design. If I need a webview,well I have access to the webview anyway.But all the app SHOULDN'T live inside a webview.
That said, React native looks awesome and I'm looking forward to using it - but it != death of Ionic/hybrid apps imho.
The second you go down to the low-end and mid-end devices, it's very obvious that a hybrid app has performance issues.
In other words, it's possible to make a web UI that is indistinguishable from the native components if styled identically.
One big reason why web apps feel slow is that by default there is a 300ms tap delay, which the browser uses to try and distinguish different types of actions.
Here's an example of a web UI that updates at 60fps: http://petehunt.github.io/react-touch/
I agree that it's not going to meet native but in most cases it's _good enough_ and you are getting both platforms for free. If you can build for both platforms and don't mind learning native stuff then more power to you, but Ionic definitely has it's place. Until I see React Canvas reaching the maturity of Ionic, it'll have its place. I also hope Ionic works on mobile browsers as long as possible, because not many other mobile web frameworks match it.