#ipdc12 www.iphone-‐developer-‐conference.de Was also nehmen? • naMve Power vs. HTML (lange Listen, flackern, etc.) • Monetarisierung der App vs. Freies Deployment (schnelles Update) • Zugriff auf Sensoren vs. HTML5 • nur ein System vs. jedes System • naMve UI vs. Irgend was an UI • SQL Datenbanken vs. local Storage
css magic für mobile-‐gui • denkt einfach an Bootstrap für mobile • ist natürlich responsive • pla(orm conMnuity (mehr dazu gleich) • nutzt Apache Cordova zum App verpacken • nutzt Angular.js für RouMng und Struktur • es ist ein Stack von Tools
$ ionic [run|emulate] <pla(orm> [opMons] – [-‐-‐livereload|-‐l] LiveReload auf dem Device – [-‐-‐consolelogs|-‐c] Applogs auf der Ionic CLI – [-‐-‐serverlogs|-‐s] Serverlogs auf der Ionic CLI $ ionic run ios -‐-‐livereload -‐-‐consolelogs -‐-‐ serverlogs
• plugins -‐> place for cordova plugins • scss -‐> like to assemble your sass • hooks -‐> internal stuff like cordova hooks • config.xml -‐> cordovas manifest
var isWebView = ionic.Platform.isWebView(); var isIPad = ionic.Platform.isIPad(); var isIOS = ionic.Platform.isIOS(); var isAndroid = ionic.Platform.isAndroid(); var isWindowsPhone = ionic.Platform.isWindowsPhone(); var currentPlatform = ionic.Platform.platform(); var currentPlatformVersion = ionic.Platform.version(); ionic.Platform.exitApp(); // stops the app
$scope.takePicture = function() { $cordovaCamera.getPicture({ }).then(function(imageData) { // Success! Image data is here }, function(err) { // An error occured. Show a message to the user }); } });