The best place to start with Ionic is our documentation page.
Note: Ionic currently best supports iOS 6+ and Android 4.1+, with limited support for Android 2.3. Ionic is changing quickly as we work towards the beta.
What is Ionic?
Ionic is the open source HTML5 Mobile Framework for building amazing, cross-platform hybrid native apps with HTML, JavaScript, and CSS. Just like this one:
We built Ionic because we wanted a framework that focused on building hybrid native apps, rather than mobile websites. We wanted this framework to be obsessive about great design and performance. A framework that left the past behind and focused on the future where mobile devices could make HTML5 feel native.
It's important to realize that Ionic is not a replacement for frameworks used for building mobile web apps. There are a lot of great solutions that work well for websites, like jQuery Mobile.
Ionic is also not a good solution if you need to support older generation devices. Our compatibility starts at iOS 6 and Android 4.1. We will never support versions earlier than those. This is a framework for the future. Learn more: Where does the Ionic Framework fit in?
Quick Start
To start using ionic, you have two options: copy over the built JS and CSS files, or
use the ionic tool (ionic-cli) which can be installed through npm:
$ sudo npm install -g ionicThen, you can start a new ionic project by running:
$ ionic start myprojectManual Start
- Download the latest stable release from:
- The release folder of this repository
- The Ionic CDN: Latest Release
bower install ionic
- Download the bleeding edge just-from-master release from:
- The Ionic CDN: Nightly Build
- Look in the ionic-bower Repository for the latest version, and do for example
bower install driftyco/ionic-bower#0.9.23-alpha-652(bower install ionicwill have the latest available soon)
Once you have a release, use js/ionic.js, js/ionic-angular.js, and css/ionic.css.
For most cases, you'll need AngularJS as well. This is bundled in js/angular/ and js/angular-ui-router/.
Demos
Community
- Follow @ionicframework on Twitter.
- Subscribe to the Ionic Newsletter.
- Have a question that's not a feature request or bug report? Discuss on the Ionic Forum.
- Read our Blog.
- Have a feature request or find a bug? Submit an issue.
Authors
Max Lynch
Ben Sperry
Adam Bradley
Development
npm installto setupgruntto jshint & buildgrunt watchto watch and rebuild on changegrunt karma:singleto test one-timegrunt karma:watchto test and re-run on source changegrunt protractor:localto test e2e tests locally (requires static server on port 8080)grunt e2e-watchto run end to end tests on change of files intest/e2e/**/*grunt cloudtestto run unit & e2e tests in the cloud
Commit Conventions
- Uses http://github.com/ajoslin/conventional-changelog conventions
Pushing Releases
(uses AngularJS's bash utils - when you run any script, run it with --git-push-dryrun=true to do 'mock' git pushes)
- Run
./scripts/release/finalize-version.sh --action=prepareto:- Remove version suffix
- Write new version to package/bower/component.json
- Move build files to
release/ - Commit & tag the release
- Run
./scripts/release/finalize-version.sh --action=publishto:- Push out new version
- Once new version is pushed out, run
./scripts/release/initialize-new-version.sh(usage is shown in file), to bump to next version with bump type / version suffix / version name specified.
LICENSE
Ionic is licensed under the MIT Open Source license. For more information, see the LICENSE file in this repository.

