Hacker News new | ask | show | jobs
by danbucholtz 3427 days ago
Disclosure: I work on Ionic

Ionic 2 is much more performant and scales much better for app development than Ionic 1. I have yet to meet anyone who has not really enjoyed developing Ionic 2 apps. We take a tremendous amount of pride in the developer experience!

Native apps will always be a little faster but if you can get 60FPS either way, who cares? Ionic is easier to build apps with, and developing in the browser is a joy.

A huge advantage of Ionic is being able to deploy the same code base to the web as a PWA and to a phone natively as a cordova app. Soon Ionic Native will expand to support PWA and Electron, too, so it will truly be a write once run anywhere experience.

2 comments

I was really very well impressed by the small size of ionic apps. It's in the order of ~3MB which is great.

But the startup times are somewhat big. I'm talking, for the simplest of applications a startup time of ~5.5 seconds in ionic 2 (the beta) vs ~2 seconds in React Native in Android.

For me, that detail has a significant impact in usability.

Any plans to work on those startup times?

Disclosure: I also work at Ionic

So start up time is something that we are very focused on at the moment. Especially on the PWA side of things, TTI (time to interactive) is exceedingly important to ensure a good user experience. We are working on a few things at the moment but most likely the first one to hit is gonna be code splitting. So with code splitting, instead of shipping just one big bundle you will be shipping smaller bundles that are lazy loaded based on routes. This means that when the app first loads only the first bundle for the first view in your app will have to be loaded, parsed etc and then the other bundles will be lazy loaded. With this setup the browser (or webview) will never have to parse and load a huge bundle all in once, it will instead only have to deal with smaller bundles. This should give a pretty big improvement as parsing javascript is slow in every browser. From my testing on a moto g each MB of JavaScript in an ideal situation takes about 2 seconds to be parsed, so reducing the amount of JavaScript the browser has to deal with is a very fast way to get better load times.

Well, these are good news. Any timeline to expect the results from this to be suitable to apply in production?
The timeline on this stuff is asap haha (:
Well unfortunately ionic2 is super slow to develop.. Ionic1 is nice in the beginning, but if your app grows, you're simply waiting and waiting. This is a problem with all javascript frameworks.. just 'watch' a directory for changes and restart, recompile everything
This isn't that big an issue if you set your JS build pipeline up properly with modern tools. Webpack can chunk your built files and will only rebuild the ones it needs to upon change. Combine that with hot module reloading and things are snappier than they've been in a long time.