The beautiful, open source framework for developing hybrid mobile apps with HTML 5
@digitaldrummerj
"So you want to build a native app?"
@digitaldrummerj
Why are we still coding for multiple platforms?
@digitaldrummerj
@digitaldrummerj
"Is there an alternative?"
@digitaldrummerj
@digitaldrummerj
@digitaldrummerj
Awesome MVC Framework
Developed by Google and the community
Features:
Live data binding
Two-way binding
Attaching code-behind to DOM element
Directives
Repeating DOM elements
Templates
Dependency Injection
@digitaldrummerj
@digitaldrummerj
@digitaldrummerj
@digitaldrummerj
@digitaldrummerj
iOS 6+
Android 4+
Windows Phone 
(planned)
FireFox OS 
(planned)
@digitaldrummerj
@digitaldrummerj
@digitaldrummerj
Plus more...ngcordova.com/docs/plugins/
Over 600 MIT licensed font-icons included
@digitaldrummerj
@digitaldrummerj
@digitaldrummerj
@digitaldrummerj
@digitaldrummerj
@digitaldrummerj
@digitaldrummerj
@digitaldrummerj
<div class="list">
  <div class="item item-divider">
    Candy Bars
  </div>
  <a class="item" href="#">
    Butterfinger
  </a>
  <a class="item" href="#">
    Kit Kat
  </a>
  ...
</div>
        @digitaldrummerj
<ion-list>
  <ion-item
         ng-repeat="item in items" 
         class="item-thumbnail-left">
    <img ng-src="{{ item.pic }}">
    <h2>{{ item.name }}</h2>
    <p>{{ item.quote }}</p>
  </ion-item>
</ion-list>
        @digitaldrummerj
<div class="list">
  <div collection-repeat="c in contacts" class="item">
    <h2>{{ c.name }}</h2>
    <p>{{ c.email }}</p>
  </div>
</div>
        @digitaldrummerj
<ion-tabs class="tabs-icon-only">
  <ion-tab title="Home" 
        icon="ion-star">
    <ion-nav-view></ion-nav-view>
  </ion-tab>
  <ion-tab title="Feedback"
         icon="ion-thumbsdown">
    <ion-nav-view></ion-nav-view>
  </ion-tab>
  <ion-tab title="Messages" 
        icon="ion-chatbubble-working">
    <ion-nav-view></ion-nav-view>
  </ion-tab>
</ion-tabs>
        @digitaldrummerj
<ion-side-menus>
  <ion-side-menu-content>
    <ion-nav-bar></ion-nav-bar>
    <ion-nav-view></ion-nav-view>
  </ion-side-menu-content>
  <ion-side-menu side="left">
    <header class="bar 
            bar-header bar-positive">
      <div class="title">Projects</div>
    </header>
    <ion-content has-header="true">
      <div class="list">
        <a href="#/work" class="item">Work</a>
        <a href="#/home" class="item">Home</a>
      </div>
    </ion-content>
  </ion-side-menu>
</ion-side-menus>
        @digitaldrummerj
<ion-slide-box 
    on-slide-changed="change(index)">
  <ion-slide>
    Slide 1
  </ion-slide>
  <ion-slide>
    Slide 2
  </ion-slide>
  <ion-slide>
    Slide 3
  </ion-slide>
</ion-slide-box>
        @digitaldrummerj
$ionicActionSheet.show({
  titleText: 'Modify your album',
  buttons: [
    { text: 'Share' },
    { text: 'Move' },
  ],
  destructiveText: 'Delete',
  cancelText: 'Cancel',
  buttonClicked: function(index) {
    console.log('BUTTON CLICKED', index);
    return true;
  }
});
        @digitaldrummerj
<ion-content on-refresh="refreshData()">
  <ion-refresher></ion-refresher>
  <!-- content -->
</ion-content>
        @digitaldrummerj
<ion-nav-bar>
  <ion-nav-back-button>
    Back
  </ion-nav-back-button>
</ion-nav-bar>
<ion-nav-view animation="slide-left-right">
  <!-- content -->
</ion-nav-view>
        @digitaldrummerj
$ npm install -g cordova ionic@digitaldrummerj
@digitaldrummerj
@digitaldrummerj
@digitaldrummerj
@digitaldrummerj
What's building an app like?
Create new project
Test on web browser
Add mobile platform (Android or iOS)
Run test on device/emulator
ionic start myApp [blank/tabs/sideMenu]
    ionic serve
    ionic platform add [android/ios]
    ionic [run/emulate] [ android/ios]
    @digitaldrummerj
$ ionic start myApp
$ cd myApp
$ ionic upload@digitaldrummerj
@digitaldrummerj
$ionic start my_app
$cd my_app
$ionic browser add crosswalk
$ionic run android@digitaldrummerj
Side by Side view of Android and iOS Phone
	 
Supports Live Reload
$ ionic start my_app
$ cd my_app
$ ionic serve --lab@digitaldrummerj
@digitaldrummerj
Videos, tutorials, and formulas: learn.ionicframework.com
Community Forum: forum.ionicframework.com
Ionic Creator: creator.ionic.io
Blog: ionicframework.com/blog/
GitHub: github.com/driftyco/ionic
Twitter: @ionicframework
Ionic Framework Examples: codepen.io/ionic
Nic Raboy's Blog: https://www.thepolyglotdeveloper.com
Andrew McGivery: http://mcgivery.com/
My blog - http://digitaldrummerj.github.io/
@digitaldrummerj
@digitaldrummerj