Just be aware that ionic3 is full of bugs.
You can use angular 4 which is absolutely ready now. Ionic is full of promises (literally and
figuratively), but it is not even ready as a beta.
- I spent days to make workaround for making it work. Even basic things like routers.
- I suffered a lot with its build process. Transpiling my typescript is a so much pain for my mac. That is even worse than when I compiled java years ago.
- The need to wait 2 minutes for the live reload (when it actually reloads the change like expected) is a big loss for the web development process.
Anyway for me the point is totally true. I was only on natives and now only what you call "PWA"
Interesting that you had so many pain points. I like Ionic, don't love it but I find it to be very very easy to work with.
I don't mean to flame, I just want to provide a counter example as I was using Ionic on the day to day basis for about 5 months.
- I find the router to be very easy to use, requiring no work arounds, you call the nav controller and push / set a view, nothing crazy here.
- The build process, specifically for the TypeScript? Are you using the CLI? There's just about nothing you need to do
-I was able to start fresh on a mac and have everything up and running for both Android and iOS within 2 hours (this is mostly installing the Android SDKS).
- And the live reloading will reload your entire app within 20 seconds, and this was on a pretty large Banking application using most of the plugins that are available (Camera, fingerprint, maps, etc etc etc).
Note that this is all done through using the Ionic CLI, which really eases the development process. I personally wouldn't try it without the CLI.
I use "ionic-app-scripts" (@ionic/app-scripts) for watching the change. It's what is used by ionic cli I think.
Since the recent update to webpack 3 things are better but I still loss my focus on each build :)
In fact I just checked and it's around 1 minute to finish the watch process, but many time consecutively, it become worse.
When I only update scss that is very quick indeed.
The start process is very quick also.
For the router, things have became messy when I tried nested ion-nav. A method is deprecated (getRootNav) and the new is not even ready to use! (getRootNavById)
I post many issues on github. Still using ionic router (no other choices now, but by using tricks like events), and ionic cli for building, some buttons also, and I avoid anything else.
ion-menu was too buggy on ios, I had to make a menu by myself
The general quality on ios is very poor
Some plugins are great but I have bizarre issues... Keyboard plugin for exemple, I had to "ngZone" it to make it work.
Using the grid was too verbose and too buggy also. I design everything in flexbox now. It fells that ionic is trying to build a good WYSIWYGs editor with ionic creator but making developpers "beta-testing" their frameworks (sorry to complain after a open source project)
Hmm, definitely hop on the entire CLI, you won't regret it.
As far as live reload goes, it definitely is faster than 1 minute, are you connected via USB? For live reload I would stay connected via USB and then obviously you need to be on the same Wi-Fi, (For iOS, I've only used the simulator for development, but we test on a real iPhone all the time)
What kind of issues are you having with the menu? The only bugs that I've found had to do with animations, I had to use CSS animations as opposed to the Angular way of doing animations for iOS.
Other than that though, I've found the iOS to be the most stable version of the application, even though I developed it almost exclusively on Android (with some spurts on iOS to ensure everything worked).
As for the router, yeah I see what you're saying, our app is pretty straight forward as far as navigation goes.
The grid, I agree, it's annoying, it's like they threw bootstrap grid system and flexbox into one, and it's a bit strange.
Which app were you developing? Is it actually in the app store? What kind of usage does it have?
I've always entertained the idea of using a hybrid framework--like Ionic--but I have never heard of a successful business betting the farm on one (especially a "Banking" one like you say).
- I spent days to make workaround for making it work. Even basic things like routers.
- I suffered a lot with its build process. Transpiling my typescript is a so much pain for my mac. That is even worse than when I compiled java years ago.
- The need to wait 2 minutes for the live reload (when it actually reloads the change like expected) is a big loss for the web development process.
Anyway for me the point is totally true. I was only on natives and now only what you call "PWA"