gitmyhub

ionic-framework

TypeScript ★ 53k updated 18h ago

A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.

Ionic is an open-source UI framework that lets web developers build iOS, Android, and Progressive Web Apps from a single codebase using HTML, CSS, and JavaScript they already know.

TypeScriptWeb ComponentsStencil.jsAngularReactVueNode.jssetup: moderatecomplexity 3/5

Ionic is an open-source UI framework that lets web developers build native-quality mobile apps for iOS and Android — as well as Progressive Web Apps (websites that behave like apps) — using the web technologies they already know: HTML, CSS, and JavaScript. The core problem it solves is the need to maintain separate codebases for iOS, Android, and web; with Ionic you write once and deploy everywhere.

Ionic works by providing a large library of pre-built user interface components — buttons, modals, tabs, navigation bars, lists, forms, and many more — that automatically adapt their visual appearance to match the design conventions of the platform the app is running on. On iOS, components look and behave like native iOS elements; on Android they follow Material Design conventions. These components are built using Web Components, a standard browser technology, which means they work independently of any specific JavaScript framework.

Ionic integrates tightly with Angular, React, and Vue — the three most popular JavaScript web frameworks — so developers can choose their preferred approach. When you need to access native device features like the camera, GPS, or push notifications, Ionic pairs with Capacitor, a separate tool that bridges between web code and native device APIs.

You would use Ionic when you are a web developer who wants to ship mobile apps without learning Swift (for iOS) or Kotlin (for Android), or when you need a single codebase to power both a website and mobile apps.

The tech stack is TypeScript at its core, distributed as npm packages for each supported framework. It is built on Web Components using Stencil.js and runs on Node.js for development tooling.

Where it fits