A very Typescripty @ionic/vue starter.
Inspired by this article.
Angular has been a great fit for Ionic because of its various first-class citizens that simplify architecting large apps, namely Typescript, single-use components and files and services.
Vue 3 lays the foundation for bringing these same benefits to Vue developers, however it is still early days for the latest iteration of this great JS framework and the best patterns for larger apps are not yet clear.
This starter app wires up a custom state management solution (thanks Mario Brendel 👋) and testing to provide a base for an Ionic Vue app with Typescript thoroughly baked in.
The Achilles' heel of Vuex is that it uses strings to call state management functions, making it a nightmare to refactor and doing away with one of the main benefits of using Typescript in the first place.
You will need Node and the Ionic and Vue CLIs. With Node installed, run:
npm i -g @ionic/cli @vue/cli
git clone https://github.com/alex-steinberg/ionic-vue-custom-state-management your-app-name
cd your-app-name
npm i
ionic serve
- Replicate the idea of Angular services so that things like HTTP calls are not done directly from components.
While ESLint comes standard with the Ionic starters, I ripped it out as it creates unnecessary noise especially during projects such as this with a high level of experimentation.
This project wouldn't be possible without the support of Humanstate.