driftyco/ionic

The best place to start with Ionic is our documentation page.
Ionic currently best supports iOS 7+ and Android 4.1+.
Ionic is the open source HTML5 Mobile Framework for building amazing, cross-platform hybrid native apps with HTML, JavaScript, and CSS.

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: (You may need to prefix the command with sudo depending on your OS and setup.)
$ npm install -g ionic
Then, you can start a new ionic project by running:
$ ionic start myproject
Manual Start
- Download the latest stable release from:
- The 
releasefolder of this repository - Ionic CDN: Latest Release
 - Using bower: 
bower install ionic 
 - The 
 - Download the bleeding edge just-from-master release from:
- Ionic CDN: Nightly Build
 - Using bower: 
bower install driftyco/ionic-bower#master 
 
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
Authors
Originally created by Adam Bradley, Ben Sperry, and Max Lynch, Ionic has seen hundreds of great contributors from around the world, including Ionic Team Members Perry Govier, Mike Hartington, and Tim Lancina.
Development
npm install && npm install -g gulp protractorto setup- (if you wish to run end-to-end tests): 
webdriver-manager update --chrometo install the webdriver. gulporgulp buildto buildgulp docsto generate docs (read Documentation below for how to test docs locally).gulp build --releaseto build with minification & strip debugsgulp watchto watch and rebuild on changegulp karmato test one-timegulp karma-watchto test and re-run on source changegulp snapshotto test e2e tests locally (rungulp demosfirst to generate e2e tests). Be sure to run./node_modules/.bin/webdriver-manager update --chrometo first install the chrome webdriver dependency.
Documentation
- Documentation is generated into 
dist/ionic-site. To test documentation properly, follow these steps:- Clone ionic-site into 
./dist/ionic-site 
git clone [email protected]:driftyco/ionic-site dist/ionic-site
- Start jekyll, telling it to rebuild whenever the site changes
 
cd dist/ionic-site && jekyll serve -w
- Go back to project root and build the docs
 
gulp docs [--doc-version=(versionName|nightly)]
- Open localhost:4000 and see your changes! Re-run 
gulp docsagain whenever you change something, and jekyll will update the site 
 - Clone ionic-site into 
 
Demos / Kitchen Sink
- The demo site is generated into 
dist/ionic-demo. To test the demos, follow these steps:- Run 
gulp demos [--demo-version=(versionName|nightly)] - Start an http server from 
dist/ionic-demo: 
cd dist/ionic-demo && python -m SimpleHTTPServer
- Navigate to 
http://localhost:8000/{versionName|nightly}and use the demos - Run 
gulp demosagain whenever you change the demos 
 - Run 
 
Commit Conventions
- Uses these commit conventions
 
Pushing New Release of Ionic
- Almost all of the logic for releasing Ionic is done on the Travis server
 - To push a new release:
- Update package.json version to new version
 - Generate changelog with 
gulp changelog - Go through the changelog, and fix any mistakes or clarify any unclear commit messages
 - Commit package.json and CHANGELOG.md and push to master
 
 - Travis will detect that this commit changed the version in package.json and push out all necessary for this new release (tags, release files, site config, …)
 
LICENSE
Ionic is licensed under the MIT Open Source license. For more information, see the LICENSE file in this repository.