Favicon of ionic-framework

ionic-framework

Ionic Framework is an open source toolkit for building cross-platform native apps and PWAs from one codebase, with Angular, React, and Vue support.

Ionic is an open source app development toolkit for building cross-platform native apps and Progressive Web Apps from a single codebase, using JavaScript and standard web technology. It's for web developers who want to ship to iOS, Android, and the web without learning a separate native UI toolkit for each platform, and who are already working in Angular, React, or Vue.

Key features

  • Web Components foundation: the core UI library (@ionic/core) is built on Web Components, which the project says brings performance, usability, and feature improvements over older approaches.
  • Framework bindings: official packages wrap the core components for Angular (@ionic/angular), React (@ionic/react), and Vue (@ionic/vue), each with its own README and versioned independently on npm.
  • Single codebase, multiple targets: the same component set targets native mobile apps and Progressive Web Apps, rather than maintaining separate UIs per platform.
  • Migration guides: documented upgrade paths exist for every major version jump, from v3/v4 up through v7 to v8.
  • Example apps: full-featured conference app examples are maintained for Angular, React, and Vue as a reference for structuring a real Ionic app.
  • Active community channels: an official Discord server and community forums exist alongside the GitHub issue tracker for support and discussion.
  • Per-framework documentation: each binding package (core, packages/angular, packages/react, packages/vue) ships its own README with framework-specific usage notes.

Ideal use cases

Ionic fits teams that already have (or want) an Angular, React, or Vue codebase and need to ship that same UI to native mobile app stores in addition to the web, without rewriting the interface in a native toolkit per platform. It's a good match for content-driven or form-heavy business apps where standard mobile UI patterns (lists, tabs, modals, navigation) cover most of what's needed.

It's less of a fit for apps that need deep, platform-specific native functionality or maximum native performance for things like heavy graphics or games, where a fully native toolkit per platform is usually a better match. If your app is being built entirely from scratch with no existing web framework preference, the choice mostly comes down to whether Angular, React, or Vue is the better fit for your team, since Ionic's core benefit is layering consistent components on top of whichever one you pick.

Installation

The README points to the official documentation's quickstart guide (via the Ionic CLI) as the way to start a new project, rather than documenting install commands directly in the repository. From there, you choose the framework binding that matches your project:

npm install @ionic/angular
npm install @ionic/react
npm install @ionic/vue

Each package has its own README under core/, packages/angular/, packages/react/, and packages/vue/ in this monorepo, with framework-specific setup details. If you're upgrading an existing app rather than starting fresh, the migration guides linked from the README walk through changes for each major version (v4 through v8).

Support and discussion happen on the official Discord server and the Ionic forums; bugs and feature requests are filed as GitHub issues on this repository, and the contributing guide covers how to get involved in the framework itself.

New contributors can look through issues labeled "help wanted" as a starting point, and the project publishes a Contributor Code of Conduct that applies to anyone participating in the repository. Ionic also maintains conference app examples for Angular, React, and Vue as more complete references than a typical "hello world," useful for seeing how routing, navigation, and common UI components fit together in a real project rather than in isolated snippets.

Each framework binding is versioned and released independently on npm, so an update to @ionic/react doesn't necessarily mean @ionic/angular or @ionic/vue moved in lockstep, and download counts for each package are tracked separately as a rough signal of adoption per framework. Feedback and issues are meant to go through this repository's GitHub issue tracker rather than the package registries, keeping bug triage centralized in one place regardless of which framework binding you're using.

Categories:

Frequently asked questions

Share:

Stars
52.6K
Forks
13.4K
Last commit
3 hours ago
Repository age
13 years
License
MIT
Self-hosted
No
Activity score
88/100
View Repository
Built with:

Similar to ionic-framework

Favicon

 

  
  
Favicon

 

  
  
Favicon