ionic framework: let's build amazing apps. no excuses!

46
IONIC FRAMEWORK: IONIC FRAMEWORK: LET'S BUILD AMAZING APPS. LET'S BUILD AMAZING APPS.

Upload: matheus-cardoso

Post on 03-Aug-2015

91 views

Category:

Software


5 download

TRANSCRIPT

Page 1: Ionic Framework: Let's build amazing apps. No Excuses!

IONIC FRAMEWORK:IONIC FRAMEWORK:LET'S BUILD AMAZING APPS.LET'S BUILD AMAZING APPS.

Page 2: Ionic Framework: Let's build amazing apps. No Excuses!

MATHEUSMATHEUSCARDOSOCARDOSOWEB AND MOBILEWEB AND MOBILEDEVELOPER AT MAQUINDEVELOPER AT MAQUIN

Salvador, BA, BRA

@matheuscas

matheuscas

Page 3: Ionic Framework: Let's build amazing apps. No Excuses!

HYBRID APPS?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!)

Page 4: Ionic Framework: Let's build amazing apps. No Excuses!

HTML5 ON MOBILE?HTML5 ON MOBILE?THIS THING IS SLOW!THIS THING IS SLOW!

Page 5: Ionic Framework: Let's build amazing apps. No Excuses!

PLEASE...PLEASE...

Page 6: Ionic Framework: Let's build amazing apps. No Excuses!

“It's not 2007anymore”

Page 7: Ionic Framework: Let's build amazing apps. No Excuses!

YEAR DEVICE PROCESSOR RAM2007 iPhone 620 MHz 128 MB2009 Samsung Galaxy 528 MHz 128 MB2010 iPhone 4 1 GHz 512 MB2011 Samsung Galaxy S II 1.2 GHz dual-core 1 GB2014 Moto X 2nd generation 2.5 GHz quad-core 2 GB2015 iPhone 6 1.4 GHz dual-core 1 GB

Page 8: Ionic Framework: Let's build amazing apps. No Excuses!

WEB-STANDARDSWEB-STANDARDS

HAVE IMPROVED!HAVE IMPROVED! is lookin' pretty good nowadays

Android is now Chromium-based

iOS users keep their devices up-to-date

caniuse.com

Page 9: Ionic Framework: Let's build amazing apps. No Excuses!

https://mixpanel.com/trends/#report/ios_8/from_date:-141,report_unit:day,to_date:0

Page 10: Ionic Framework: Let's build amazing apps. No Excuses!

https://mixpanel.com/trends/#report/android_os_adoption

Page 11: Ionic Framework: Let's build amazing apps. No Excuses!

NATIVE SDKS...NATIVE SDKS...

ARE GREAT!ARE GREAT!Common UI, APIs, views, navigation,stack history, transitions, interactions,

gestures, etc.

Page 12: Ionic Framework: Let's build amazing apps. No Excuses!
Page 13: Ionic Framework: Let's build amazing apps. No Excuses!

UNTIL NOW!UNTIL NOW!

Page 14: Ionic Framework: Let's build amazing apps. No Excuses!
Page 15: Ionic Framework: Let's build amazing apps. No Excuses!
Page 16: Ionic Framework: Let's build amazing apps. No Excuses!

WEB TECHNOLOGIES YOU ALREADYWEB TECHNOLOGIES YOU ALREADY

KNOW & LOVEKNOW & LOVE

Page 17: Ionic Framework: Let's build amazing apps. No Excuses!

STANDING ON GIANT'S SHOULDERSSTANDING ON GIANT'S SHOULDERS

ANGULAR JSANGULAR JSExtends the HTML vocabulary

Proven for large-scale app development

UI Components using Directives & Services

Page 18: Ionic Framework: Let's build amazing apps. No Excuses!

Sass!Sass!CSS generated from the Sass preprocessor

Quickly give your app its own look and feel

CSS designed to be easily overridden

Variables based with default settings

Page 19: Ionic Framework: Let's build amazing apps. No Excuses!

HOW IT ALL COMES TOGETHERHOW IT ALL COMES TOGETHER

Your App

Ionic

Angular

WebView (Cordova)

Native App

Page 20: Ionic Framework: Let's build amazing apps. No Excuses!
Page 21: Ionic Framework: Let's build amazing apps. No Excuses!

COLLECTION REPEATCOLLECTION REPEATReplacement for Angular's ng-repeatInspired by iOS’s UICollectionViewScroll through thousands of itemsOnly renders the viewable itemsSmooth scrolling!

<div class="list"> <div collection-repeat="c in contacts"> <h2>{{ c.name }}</h2> <p>{{ c.email }}</p> </div></div>

A

Patrick Adams1

Jeremy Adams2

Judy Adams3

Jessica Adams4

Gloria Adams5

Matthew Adams6

My 3000 Cats

Page 22: Ionic Framework: Let's build amazing apps. No Excuses!

NAVIGATIONNAVIGATIONUses AngularUI RouterShows back button when possibleTransitions follow direction of navUpdates the app's URLMulti-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>

Scientific Facts

Home

Home

Page 23: Ionic Framework: Let's build amazing apps. No Excuses!

CACHED VIEWSCACHED VIEWSView elements left in the DOM$scope disconnected when cachedState maintainedScroll positions maintainedLife Cycle eventsHighly configurable

Page 24: Ionic Framework: Let's build amazing apps. No Excuses!

SWIPE TO GO BACKSWIPE TO GO BACKSwipe back to previous viewInteractive transitionBenefit of cached viewsStill updates the app's URLWebView (Cordova) only

Page 2

Page 1

Page 25: Ionic Framework: Let's build amazing apps. No Excuses!

OTHER COMPONENTSOTHER COMPONENTSSide MenusActionsheetModalPull To RefreshSlideboxInfinite ScrollSwipeable List OptionsPopupPopoverLoading OverlayInputsButtonsetc.

Popups

Item 1

Item 2

Toggle

Checkbox

Lightsaber Green

Components

Page 26: Ionic Framework: Let's build amazing apps. No Excuses!

IONICONSIONICONS

700+ MIT licensed font-icons included

ionicons.com

Page 27: Ionic Framework: Let's build amazing apps. No Excuses!

SPINNERSSPINNERSAnimated SVGsMore than just rotating iconsDefaults to platform's spinnerStyle with CSS

<ion-spinner></ion-spinner>

<ion-spinner icon="dots"></ion-spinner>

<ion-spinner class="spinner-light"></ion-spinner>

Page 28: Ionic Framework: Let's build amazing apps. No Excuses!

NATIVE SCROLLNATIVE SCROLL

Page 29: Ionic Framework: Let's build amazing apps. No Excuses!

...but there's more. Meet the Ionic SDK!

Page 30: Ionic Framework: Let's build amazing apps. No Excuses!

npm install -g ionic cordova

Boilerplate app structure ready for customization

LiveReload both local and native builds

Build and run native apps

Page 31: Ionic Framework: Let's build amazing apps. No Excuses!

MODERNMODERNCHROMIUM!CHROMIUM!Chromium for Android WebViews

Upgrade Android 4.0+ and above

Same hardware, modern software

Amazing performance improvements

Page 32: Ionic Framework: Let's build amazing apps. No Excuses!
Page 33: Ionic Framework: Let's build amazing apps. No Excuses!
Page 34: Ionic Framework: Let's build amazing apps. No Excuses!
Page 35: Ionic Framework: Let's build amazing apps. No Excuses!
Page 36: Ionic Framework: Let's build amazing apps. No Excuses!
Page 37: Ionic Framework: Let's build amazing apps. No Excuses!

IONIC PLAYGROUNDIONIC PLAYGROUND

Page 38: Ionic Framework: Let's build amazing apps. No Excuses!

IONIC TEMPLATES FOR VISUAL STUDIOIONIC TEMPLATES FOR VISUAL STUDIO

Page 39: Ionic Framework: Let's build amazing apps. No Excuses!
Page 40: Ionic Framework: Let's build amazing apps. No Excuses!

IONIC'S ADOPTIONIONIC'S ADOPTION16,000+ Github StarsTop 40 most starred Github reposConsistently Top 10 trending JS Github reposIonic CLI 70,000 downloads/month600,000+ Ionic apps have been started from our CLIReleased Alpha: November 2013Released Beta: March 2014

Page 41: Ionic Framework: Let's build amazing apps. No Excuses!
Page 42: Ionic Framework: Let's build amazing apps. No Excuses!

WHAT'S NEXT!WHAT'S NEXT!Component ModularityCustomized AnimationsWebworkers and Multi-threadingAdd more Ionic.io services...and much more to come. \o/

Page 43: Ionic Framework: Let's build amazing apps. No Excuses!

OH, ONE MORE THING...OH, ONE MORE THING...

Page 44: Ionic Framework: Let's build amazing apps. No Excuses!
Page 45: Ionic Framework: Let's build amazing apps. No Excuses!
Page 46: Ionic Framework: Let's build amazing apps. No Excuses!

</MOHAMMED></MOHAMMED>@matheuscas@matheuscas

http://matheuscas.github.io/ionic-presenthttp://matheuscas.github.io/ionic-present