New project! Where to start? (PWA Tookit? Ionic 4?)

Hello guys

I want to start a new project but with the new stuff coming soon I’m a very confused about where to start.

It will mainly be a WebApp, no need to many mobile stuff (maybe camera, not much more). So I was thinking of going the PWA Toolkit way. But will I lose the ability to build the apps to the proper stores with the same codebase? Should I start an Ionic 4 app instead, and forget about the toolkit? With the toolkit, will I be able to bind a framework to it (like Angular or React) like with the Ionic 4 projects?

Thank you

Start with Angular:

Then move on to Ionic 3:

And PWAs:

I have a post that talks about the different approaches (Ionic/Angular, Ionic/Stencil(PWA Toolkit), other frameworks): https://www.joshmorony.com/what-to-expect-when-ionic-4-is-released/ perhaps that might help you make a decision.

No matter what approach you use, you will be able to bundle it into a native app for submission to app stores using Cordova or Capacitor.

I’m fluent in both Angular and Ionic 3. I just don’t know how to approach a new project with the upcoming changes right around the corner.

MHO I would stick to Ionic3. v4 will introduce many breaking changes and it will take a while to get used to them. And v3 won’t be outdated so fast. But that’s me, you may choose to try v4 burning changes on a new project and hit your head against the keyboard when you face a newly introduced bug :slight_smile:

Ionic 4 has very few breaking changes, most are just simple syntax changes (e.g. <button ion-button> to <ion-button>. The only really big change is the switch to Angular routing, but that isn’t strictly required, you can stick with Ionic push/pop navigation if you want in v4 (it is advisable to switch, though).

@avilao if you are comfortable with Angular/Ionic then it is fine to just switch with that. Start an Ionic 3 project now if you want, and you can upgrade to Ionic 4/Angular when its released if you want. Ionic 4 opens up lots of other options for working with other frameworks, or with Stencil, or using it standalone, but sticking with the Ionic/Angular approach moving forward is perfectly reasonable, and you will get to take advantage of the performance upgrades v4 brings.

Thank you all for the help!

That’s a great start :slight_smile:

One of the first things I think about is how to scaffold a new project.

For example, an Ionic 3 based PWA:

ionic start MyApp --no-cordova blank

See: https://robferguson.org/blog/2017/11/12/theming-your-ionic-3-app/

But I also want alias support: https://robferguson.org/blog/2017/11/22/working-with-typescript-webpack-and-ionic-3/

And support for Unit and End-to-End Testing: https://robferguson.org/blog/2017/11/28/testing-your-ionic-3-app/

And I’d like to take advantage of Angular’s improved support for Progressive Web Applications (e.g., Service Workers): https://robferguson.org/blog/2018/04/16/0ptimising-the-performance-of-an-ionic-pwa-part-1/

Or perhaps to get things just the way I like (e.g., the project structure) then I use Angular Schematics: https://robferguson.org/blog/2017/12/31/the-future-of-the-ionic-cli/

1 Like

Thank you so much :slight_smile:

@joshmorony you mentioned the angular routing in ionic 4. I’m currently developing a new app in Ionic 3 / Ang4 and have heard you can use Angular5 and angular routing in it. I just haven’t looked into it enough to see if it’s worth trying to get it all to work in I3/A5 or just wait awhile and then do some updates once the bugs of I4 are flushed out a bit. Opinion?

1 Like

Overview breaking changes Ionic 4 angular.

https://github.com/ionic-team/ionic/blob/master/angular/BREAKING.md

1 Like

If your project is expected to take more than 6 months, I think you may think about starting with Ionic 4 alpha with Angular 6 (if possible).
I believe, Angular Elements and Ionic 4 are racing to the same goal, and there will be a competition between them, and I think Ionic will be more suitable for iOS than Angular Elements. So, if you care much about iOS, then, Ionic is better, and if don’t mind having Material Design on iOS, then, why not using Angular 6/MD?

While I am inclined to agree, I also think that Ionic UI elements will generally be more focused on mobile, while angular is covering a broad range of form factors and high performance desktop app builders

But in the end, it is indeed going to be interesting for mobile android devs or as you say, iOS devs who don’t mind material design.