Superpowersfor Mobile App Development
Hybrid Apps!
HTML5 that acts like native
Web wrapped in native layer
Direct access to native APIs
Familiar web dev environment
A single code base (web platform!)
Year
Device
Processor
RAM
2007
iPhone
620 MHz
128 MB
2010
iPhone 4
1 GHz
512 MB
2015
iPhone 6
1.4 GHz dual-core
1 GB
Web Technologies You Already
Know & Love
(You'll feel right at home)
Standing on the Shoulders
of Angular
Extends the HTML vocabulary
Proven for large-scale app development
UI Components using Directives & Services
How it all comes together
- Your App
- Ionic
- Angular
- WebView (Cordova)
- Native App
Collection Repeat
- Replacement for Angular's ng-repeat
- Inspired by iOS’s UICollectionView
- Scroll through thousands of items
- Only renders the viewable items
- Smooth scrolling!
<div class="list">
<div collection-repeat="c in contacts">
<h2>{{ c.name }}</h2>
<p>{{ c.email }}</p>
</div>
</div>
Navigation
- Uses AngularUI Router
- Shows back button when possible
- Transitions follow direction of nav
- Updates the app's URL
- Multi-history stack
<ion-tabs>
<ion-tab title="Home" icon="ion-ios-home">
<ion-nav-view name="home"></ion-nav-view>
</ion-tab>
<ion-tab title="About" icon="ion-ios-information">
<ion-nav-view name="about"></ion-nav-view>
</ion-tab>
<ion-tab title="Contact" icon="ion-ios-world">
<ion-nav-view name="contact"></ion-nav-view>
</ion-tab>
</ion-tabs>
Swipe To Go Back
- Swipe back to previous view
- Interactive transition
- Benefit of cached views
- Still updates the app's URL
- WebView (Cordova) only
Other Components
- Side Menus
- Actionsheet
- Modal
- Pull To Refresh
- Slidebox
- Infinite Scroll
- Swipeable List Options
- Popup
- Popover
- Loading Overlay
- Inputs
- Buttons
- etc.
Spinners
- Animated SVGs
- More than just rotating icons
- Defaults to platform's spinner
- Style with CSS
<ion-spinner></ion-spinner>
<ion-spinner icon="dots"></ion-spinner>
<ion-spinner class="spinner-light"></ion-spinner>
...but there's more to Ionic
npm install -g ionic cordova
Boilerplate app structure ready for customization
LiveReload both local and native builds
Build and run native apps
What's Next!
- Removal of JavaScript scrolling
- Component Modularity
- Customized Animations
- Webworkers and Multi-threading
- Add more Ionic.io services
- ...and much more to come ;)
Superpowersfor Mobile App Development