Default Ionic structure is bad for large projects


#1

It’s not really a new topic as I’ve seen a few other topics on the matter, but I would like to gather the voices in one place and shed some light in this fact: the starter projects generated by the Ionic CLI encourages bad practices.

  • First and foremost, all Angular apps should follow the Angular Style Guide. Ionic apps are based on Angular, and there is no good reasons to not follow the best practices and app structure used everywhere else.

  • Not using a folder-by-feature organization hurts scalability and modularity. Even worst, the whole new pages concept from Ionic 3 prevents us from doing this properly! It’s not new, and has really proven to be way more effective than folder-by-type organization.

  • Due to Ionic’s specific oddities, it’s hard to share code and/or structure an app designed for both mobile and web with the same code.

  • No unit tests by default, seriously? We’re in 2017 guys…

And a bonus question: why not using angular-cli under the hood for the build tools? It works better than your yet-another-build-workflow, and would simplify moving between web and mobile projects.

Mobile web apps - hybrid or not - are not specific cases of web apps, they ARE web apps and should be considered as such, especially seeing how you promote PWA. Good web apps in 2017 are fully unit and end-to-end tested, scalable and built for speed, which is not what your tools promotes.

Don’t get me wrong, I love Ionic since I’ve started using the first v1 beta, but I’m really disappointed with the direction it’s taking in.