SlideShare a Scribd company logo
IONIC FRAMEWORK
CREATE MOBILE APPS WITH THE WEB TECHNOLOGIES YOU LOVE
By /@Mr_Jean @DzSteve
WHAT IS IONIC FRAMEWORK
“Free and open source, Ionic offers a library of mobile-
optimized HTML, CSS and JS components, gestures, and tools
for building highly interactive apps. Built with Sass and
optimized for AngularJS.”
APACHE CORDOVA
ANGULARJS
IONIC = FRAMEWORK WITH DOCUMENTATION
CROSSWALK (ANDROID 4.0 - 4.3)
KEY FEATURES
Performance obsessed
Angular & Ionic
Native focused
Beautifully designed
A powerful CLI
Fun to learn
WHY SHOULD I USE IONIC?
Ionic enables any developer with knowledge of HTML, CSS
and JS to build mobile hybrid applications in no time.
COMING SOON: IONIC 2
“With Ionic 2, we've gone back to square one and completely
rethought how a mobile toolkit should work.”
ECOSYSTEM
More than code. Ionic is an ecosystem.
1. IONIC LAB WEB
Build and test iOS and Android versions side-by-side. See
changes instantly.
$ ionic serve --lab
Workshop Ionic Framework - CC FE & UX
2. LIVERELOAD
Instantly update your apps with code changes, even when
running directly on your device.
$ ionic run --livereload
3. ICON/SPLASH GENERATION
Generate icons and splash screens for all devices and device
sizes with a single command.
$ ionic resources
4. VIEW APP
Share your Ionic apps with clients, customers, and testers all
around the world. All without ever going through the App
Store!
Workshop Ionic Framework - CC FE & UX
5. ngCordova
Angular extensions for easily accessing the full native
functionality of the device.
Workshop Ionic Framework - CC FE & UX
6. IONIC.IO PLATFORM
Full-stack backend services and tools for your Ionic app.
Finally, a service that embraces mobile web dev!
Push
Analytics
Deploy
Users
Creator
Lab
Market
7. IONIC LAB
Lab harnesses the power of the Ionic CLI through an intuitive
desktop app for both Windows and Mac.
Workshop Ionic Framework - CC FE & UX
8. IONIC CREATOR
Creator is a drag-&-drop prototyping tool for creating great
apps using Ionic, with just a click of the mouse.
Workshop Ionic Framework - CC FE & UX
HOW TO SETUP IONIC FRAMEWORK
1. Install Ionic
2. Start a project
3. Run it
1. INSTALL IONIC
Make sure you have NodeJS installed
Install Cordova and Ionic
Install Android Studio
Install XCode for Mac
On Mac, install ios-sim
Follow the Android and iOS platform guides to install
required platform dependencies.
$ npm -g install cordova ionic
$ npm -g install ios-sim
2. START A PROJECT
You have three options here:
$ ionic start todoApp blank
$ ionic start todoApp tabs
$ ionic start todoApp sidemenu
This will create a folder with all your application data in it.
3. RUN IT
Using emulation
$ cd todoApp
$ ionic platform add android
$ ionic build android
$ ionic emulate android
Using a real device
$ cd todoApp
$ ionic platform add android
$ ionic build android
$ ionic run android
Using a browser
$ cd todoApp
$ ionic serve --lab
FUNDAMENTALS
IONIC CLI
$ ionic --help
$ ionic start [myAppName] [template]
$ ionic serve
$ ionic serve -- lab
$ ionic setup sass
$ ionic serve --address 68.54.96.105
COMMAND-LINE FLAGS/OPTIONS
[--consolelogs|-c] ...... Print app console logs to Ionic CLI
[--serverlogs|-s] ....... Print dev server logs to Ionic CLI
[--port|-p] ............. Dev server HTTP port (8100 default)
[--livereload-port|-i] .. Live Reload port (35729 default)
[--nobrowser|-b] ........ Disable launching a browser
[--nolivereload|-r] ..... Do not start live reload
[--noproxy|-x] .......... Do not add proxies
ICON AND SPLASH SCREEN
Auto generate icons and splash screens for your application
Place artwork in resources folder in the root of the project
$ ionic resources
$ ionic resources --splash
$ ionic resources --icon
IONIC VIEW APP
Upload your application and preview/share it
$ ionic upload
Before upload you need an account on and the
app on your Android or iOS device. More info
apps.ionic.io
view.ionic.io
USING SASS
To enable Sass in your project, use the following command
$ ionic setup sass
This will enable you to customise different variables used in
theming and layouting the different components. These can
be found in the _variables.scss file.
See for more
information
ionicframework.com/docs/cli/sass.html
TESTING YOUR APPLICATION
For unit testing we will use
Jasmine
ngMock
Karma
PhantomJS
INSTALL DEPENDENCIES
$ npm install karma --save-dev
$ npm install karma-jasmine --save-dev
$ bower install angular-mocks#1.4.3 --save-dev
$ npm install -g karma-cli
$ npm install -g phantomjs
Attention: the version of angular-mocks needs to be the same
of the version of AngularJS used in your Ionic setup
CONFIGURATION
$ mkdir -p tests/unit-tests
$ cd tests
$ karma init unit-tests.conf.js
Hit enter for all questions except:
Do you want to capture any browsers automatically ?
Press tab to list possible options. Enter empty string to move to the next
> PhantomJS
What is the location of your source and test files ?
You can use glob patterns, eg. "js/*.js" or "test/**/*Spec.js".
Enter empty string to move to the next question.
> ../www/lib/ionic/js/ionic.bundle.js
> ../www/app.js
> ../www/lib/angular-mocks/angular-mocks.js
> ../www/projects/*.js
> unit-tests/**/*.js
WRITING TESTS
describe('ProjectsCtrl', function() {
var controller,
projectsServiceMock;
beforeEach(module('todo'));
beforeEach(inject(function($controller, $rootScope) {
scope = $rootScope.$new();
projectsServiceMock = {
getAll: jasmine.createSpy('getAll spy').and.returnValue
getLastActiveIndex: jasmine.createSpy('getAll spy').and.returnVal
};
controller = $controller('ProjectsCtrl', {
'$scope': scope,
'projectsService': projectsServiceMock
RUN TESTS
$ karma start unit-tests.conf.js
LET'S BUILD AN APPLICATION
Get yerr computers running!
DEPLOYING YOUR APP
ANDROID
Create keystore (one time only) with keytool
$ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg
Build, jarsign and zipalign
cordova build --release android
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release
./zipalign -v 4 /path/to/app/platforms/android/build/outputs/apk/android-release-
Put in Play Store
IOS
/usr/bin/xcrun -sdk iphoneos PackageApplication "/Users/NAME/Library/Developer/
No it's not that easy …
REAL LIFE CASES
At Ordina we currently have 2 real life cases.
Proximus MyThings Scanner (in app store since november)
Evonik Weather App
PROXIMUS MYTHINGS SCANNER
EVONIK
IONIC FRAMEWORK
CREATE MOBILE APPS WITH THE WEB TECHNOLOGIES YOU LOVE
By /@Mr_Jean @DzSteve

More Related Content

What's hot (20)

PPT
Ionic Framework
Thinh VoXuan
 
PDF
Creating mobile apps - an introduction to Ionic (Engage 2016)
Mark Leusink
 
PPTX
Mobile Applications with Angular 4 and Ionic 3
Oleksandr Tryshchenko
 
PPTX
Hybrid vs. Native app - Ionic Framework with AngularJS
Zvika Epstein
 
PDF
Cordova, Angularjs & Ionic @ Codeaholics
Eddie Lau
 
PPTX
Developing Hybrid Applications with IONIC
Fuat Buğra AYDIN
 
PDF
Hybrid Apps with Angular & Ionic Framework
Cihad Horuzoğlu
 
PDF
Ionic Framework
Dylan Swartz
 
PPTX
Intro to Ionic for Building Hybrid Mobile Applications
Sasha dos Santos
 
PPTX
Introduction to Ionic framework
Shyjal Raazi
 
PDF
Ionic Crash Course! Hack-a-ton SF
Lukas Ruebbelke
 
PDF
Intro to mobile apps with the ionic framework & angular js
Hector Iribarne
 
PPTX
Getting started with the Ionic Framework
Anuradha Weeraman
 
PDF
Ionic CLI Adventures
Juarez Filho
 
PPTX
Hybrid mobile and Ionic
Liju Pillai
 
PDF
Building Mobile Apps with Cordova , AngularJS and Ionic
Kadhem Soltani
 
PPTX
IONIC - Hybrid Mobile App Development
Malan Amarasinghe
 
PPTX
Ionic Framework - Intro to Hybrid Mobile Application Development
Max Kaplan
 
PPTX
Ionic Framework - get up and running to build hybrid mobile apps
Andreas Sahle
 
PDF
Ionic adventures - Hybrid Mobile App Development rocks
Juarez Filho
 
Ionic Framework
Thinh VoXuan
 
Creating mobile apps - an introduction to Ionic (Engage 2016)
Mark Leusink
 
Mobile Applications with Angular 4 and Ionic 3
Oleksandr Tryshchenko
 
Hybrid vs. Native app - Ionic Framework with AngularJS
Zvika Epstein
 
Cordova, Angularjs & Ionic @ Codeaholics
Eddie Lau
 
Developing Hybrid Applications with IONIC
Fuat Buğra AYDIN
 
Hybrid Apps with Angular & Ionic Framework
Cihad Horuzoğlu
 
Ionic Framework
Dylan Swartz
 
Intro to Ionic for Building Hybrid Mobile Applications
Sasha dos Santos
 
Introduction to Ionic framework
Shyjal Raazi
 
Ionic Crash Course! Hack-a-ton SF
Lukas Ruebbelke
 
Intro to mobile apps with the ionic framework & angular js
Hector Iribarne
 
Getting started with the Ionic Framework
Anuradha Weeraman
 
Ionic CLI Adventures
Juarez Filho
 
Hybrid mobile and Ionic
Liju Pillai
 
Building Mobile Apps with Cordova , AngularJS and Ionic
Kadhem Soltani
 
IONIC - Hybrid Mobile App Development
Malan Amarasinghe
 
Ionic Framework - Intro to Hybrid Mobile Application Development
Max Kaplan
 
Ionic Framework - get up and running to build hybrid mobile apps
Andreas Sahle
 
Ionic adventures - Hybrid Mobile App Development rocks
Juarez Filho
 

Viewers also liked (16)

PDF
Lean UX is Haaaard
Zac Halbert
 
PDF
Agile14 - Anatomy Of A UX Framework
Martina Hodges Schell
 
PDF
A Framework for Implementing Lean UX
Zac Halbert
 
PDF
Workshop 15: Ionic framework
Visual Engineering
 
PPT
Effective Communication Of Data Inspired by Stephen Few
Cory Grenier
 
PDF
Crash Course in AngularJS + Ionic (Deep dive)
ColdFusionConference
 
PDF
Rethinking Mobile with Ionic
Mike Hartington
 
PPTX
Ionic 2 - Hybridapps auf Steroiden
Hendrik Lösch
 
PDF
Art and Science of Dashboard Design
SavvyData
 
PPTX
Hybrid app in ionic framework overview
Sanket Devlekar
 
ODP
Desenvolvendo uma aplicação híbrida para Android e IOs utilizando Ionic, aces...
Juliano Martins
 
PDF
Ionic - Revolutionizing Hybrid Mobile Application Development
Justin James
 
PDF
Cordova + Ionic + MobileFirst
Raymond Camden
 
PDF
Building Mobile Applications with Ionic
Morris Singer
 
KEY
Scaling Teams, Processes and Architectures
Lorenzo Alberton
 
PPTX
Rapid mobile app development using Ionic framework
Swaminathan Vetri
 
Lean UX is Haaaard
Zac Halbert
 
Agile14 - Anatomy Of A UX Framework
Martina Hodges Schell
 
A Framework for Implementing Lean UX
Zac Halbert
 
Workshop 15: Ionic framework
Visual Engineering
 
Effective Communication Of Data Inspired by Stephen Few
Cory Grenier
 
Crash Course in AngularJS + Ionic (Deep dive)
ColdFusionConference
 
Rethinking Mobile with Ionic
Mike Hartington
 
Ionic 2 - Hybridapps auf Steroiden
Hendrik Lösch
 
Art and Science of Dashboard Design
SavvyData
 
Hybrid app in ionic framework overview
Sanket Devlekar
 
Desenvolvendo uma aplicação híbrida para Android e IOs utilizando Ionic, aces...
Juliano Martins
 
Ionic - Revolutionizing Hybrid Mobile Application Development
Justin James
 
Cordova + Ionic + MobileFirst
Raymond Camden
 
Building Mobile Applications with Ionic
Morris Singer
 
Scaling Teams, Processes and Architectures
Lorenzo Alberton
 
Rapid mobile app development using Ionic framework
Swaminathan Vetri
 
Ad

Similar to Workshop Ionic Framework - CC FE & UX (20)

PDF
Developing ionic apps for android and ios
gautham_m79
 
PDF
Cross Platform Mobile Apps with the Ionic Framework
Troy Miles
 
PDF
Ionic2 First Lesson of Four
Ahmed Mahmoud Kesha
 
PPTX
Building mobile apps using meteorJS
Entrepreneur / Startup
 
PDF
Ionic: The Web SDK for Develop Mobile Apps.
Matheus Cardoso
 
PDF
Mobile App Development With Ionic Crossplatform Apps With Ionic Angular And C...
zhuhaigally
 
PPTX
Ionic Mobile Applications - Hybrid Mobile Applications Without Compromises
Jacob Friesen
 
PDF
HTML5 App Skills for Android Developers
DroidConTLV
 
PDF
Common Ionic Development Mistakes Developers Tend To Make!
Techugo
 
PPTX
Hybrid Apps in a Snap
Paulina Gallo
 
PDF
Ionic Hybrid Mobile Application
Al Sayed Gamal
 
PPTX
Ionic framework
Software Infrastructure
 
PPTX
Developing a native mobile apps using Ionic&Cordova
Damir Beylkhanov
 
PPTX
Introduction to Ionic (SB AngularJS Meetup)
Sol Tran
 
PPTX
Introduction To Ionic3
Knoldus Inc.
 
PPTX
Listfy Sprint #0
Riderman Sousa
 
PPTX
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Ermias Bayu
 
PDF
Mobile app development with Ionic cross platform apps with Ionic Angular and ...
sestayobstk2
 
PDF
Ionic creator
Xavier Lozinguez
 
PPTX
[not edited] Demo on mobile app development using ionic framework
Sayed Ahmed
 
Developing ionic apps for android and ios
gautham_m79
 
Cross Platform Mobile Apps with the Ionic Framework
Troy Miles
 
Ionic2 First Lesson of Four
Ahmed Mahmoud Kesha
 
Building mobile apps using meteorJS
Entrepreneur / Startup
 
Ionic: The Web SDK for Develop Mobile Apps.
Matheus Cardoso
 
Mobile App Development With Ionic Crossplatform Apps With Ionic Angular And C...
zhuhaigally
 
Ionic Mobile Applications - Hybrid Mobile Applications Without Compromises
Jacob Friesen
 
HTML5 App Skills for Android Developers
DroidConTLV
 
Common Ionic Development Mistakes Developers Tend To Make!
Techugo
 
Hybrid Apps in a Snap
Paulina Gallo
 
Ionic Hybrid Mobile Application
Al Sayed Gamal
 
Ionic framework
Software Infrastructure
 
Developing a native mobile apps using Ionic&Cordova
Damir Beylkhanov
 
Introduction to Ionic (SB AngularJS Meetup)
Sol Tran
 
Introduction To Ionic3
Knoldus Inc.
 
Listfy Sprint #0
Riderman Sousa
 
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Ermias Bayu
 
Mobile app development with Ionic cross platform apps with Ionic Angular and ...
sestayobstk2
 
Ionic creator
Xavier Lozinguez
 
[not edited] Demo on mobile app development using ionic framework
Sayed Ahmed
 
Ad

More from JWORKS powered by Ordina (20)

PDF
Introduction to Webpack - Ordina JWorks - CC JS & Web
JWORKS powered by Ordina
 
PDF
Lagom in Practice
JWORKS powered by Ordina
 
PDF
Netflix OSS and HATEOAS deployed on production - JavaLand
JWORKS powered by Ordina
 
PDF
Cc internet of things @ Thomas More
JWORKS powered by Ordina
 
PDF
Introduction to Docker
JWORKS powered by Ordina
 
PDF
An introduction to Cloud Foundry
JWORKS powered by Ordina
 
PDF
Cc internet of things LoRa and IoT - Innovation Enablers
JWORKS powered by Ordina
 
PPTX
Mongodb @ vrt
JWORKS powered by Ordina
 
PPTX
Mongo db intro.pptx
JWORKS powered by Ordina
 
PPTX
Big data document and graph d bs - couch-db and orientdb
JWORKS powered by Ordina
 
PPTX
Big data key-value and column stores redis - cassandra
JWORKS powered by Ordina
 
PPTX
Hadoop bootcamp getting started
JWORKS powered by Ordina
 
PPTX
Big data elasticsearch practical
JWORKS powered by Ordina
 
PDF
Intro to cassandra
JWORKS powered by Ordina
 
PPTX
Android wear - CC Mobile
JWORKS powered by Ordina
 
PPTX
Clean Code - A&BP CC
JWORKS powered by Ordina
 
PDF
Unit testing - A&BP CC
JWORKS powered by Ordina
 
PDF
Integration testing - A&BP CC
JWORKS powered by Ordina
 
PDF
Documenting your REST API with Swagger - JOIN 2014
JWORKS powered by Ordina
 
PDF
Spring 4 - A&BP CC
JWORKS powered by Ordina
 
Introduction to Webpack - Ordina JWorks - CC JS & Web
JWORKS powered by Ordina
 
Lagom in Practice
JWORKS powered by Ordina
 
Netflix OSS and HATEOAS deployed on production - JavaLand
JWORKS powered by Ordina
 
Cc internet of things @ Thomas More
JWORKS powered by Ordina
 
Introduction to Docker
JWORKS powered by Ordina
 
An introduction to Cloud Foundry
JWORKS powered by Ordina
 
Cc internet of things LoRa and IoT - Innovation Enablers
JWORKS powered by Ordina
 
Mongo db intro.pptx
JWORKS powered by Ordina
 
Big data document and graph d bs - couch-db and orientdb
JWORKS powered by Ordina
 
Big data key-value and column stores redis - cassandra
JWORKS powered by Ordina
 
Hadoop bootcamp getting started
JWORKS powered by Ordina
 
Big data elasticsearch practical
JWORKS powered by Ordina
 
Intro to cassandra
JWORKS powered by Ordina
 
Android wear - CC Mobile
JWORKS powered by Ordina
 
Clean Code - A&BP CC
JWORKS powered by Ordina
 
Unit testing - A&BP CC
JWORKS powered by Ordina
 
Integration testing - A&BP CC
JWORKS powered by Ordina
 
Documenting your REST API with Swagger - JOIN 2014
JWORKS powered by Ordina
 
Spring 4 - A&BP CC
JWORKS powered by Ordina
 

Recently uploaded (8)

PDF
Building Smart, Scalable Solutions with Android App Development
Brancosoft Private Limited
 
PPT
lec2 wireless transmission exlaining.ppt
212231
 
PPTX
The Intersection of Emoji and NFT. What can be the Consequences?
Refit Global
 
PPTX
Mobile Apps Helping Business Grow in 2025
Infylo Techsolutions
 
PDF
Call For Papers - International Journal on Natural Language Computing (IJNLC)
kevig
 
PPT
lect 1 Introduction.ppt11112222333344455
212231
 
PDF
INTERLINGUAL SYNTACTIC PARSING: AN OPTIMIZED HEAD-DRIVEN PARSING FOR ENGLISH ...
kevig
 
PDF
💡 Digital Marketing Decoded: Mastering Online Growth Strategies for 2025 🚀
marketingaura24
 
Building Smart, Scalable Solutions with Android App Development
Brancosoft Private Limited
 
lec2 wireless transmission exlaining.ppt
212231
 
The Intersection of Emoji and NFT. What can be the Consequences?
Refit Global
 
Mobile Apps Helping Business Grow in 2025
Infylo Techsolutions
 
Call For Papers - International Journal on Natural Language Computing (IJNLC)
kevig
 
lect 1 Introduction.ppt11112222333344455
212231
 
INTERLINGUAL SYNTACTIC PARSING: AN OPTIMIZED HEAD-DRIVEN PARSING FOR ENGLISH ...
kevig
 
💡 Digital Marketing Decoded: Mastering Online Growth Strategies for 2025 🚀
marketingaura24
 

Workshop Ionic Framework - CC FE & UX

  • 1. IONIC FRAMEWORK CREATE MOBILE APPS WITH THE WEB TECHNOLOGIES YOU LOVE By /@Mr_Jean @DzSteve
  • 2. WHAT IS IONIC FRAMEWORK “Free and open source, Ionic offers a library of mobile- optimized HTML, CSS and JS components, gestures, and tools for building highly interactive apps. Built with Sass and optimized for AngularJS.”
  • 5. IONIC = FRAMEWORK WITH DOCUMENTATION
  • 7. KEY FEATURES Performance obsessed Angular & Ionic Native focused Beautifully designed A powerful CLI Fun to learn
  • 8. WHY SHOULD I USE IONIC? Ionic enables any developer with knowledge of HTML, CSS and JS to build mobile hybrid applications in no time.
  • 9. COMING SOON: IONIC 2 “With Ionic 2, we've gone back to square one and completely rethought how a mobile toolkit should work.”
  • 10. ECOSYSTEM More than code. Ionic is an ecosystem.
  • 11. 1. IONIC LAB WEB Build and test iOS and Android versions side-by-side. See changes instantly. $ ionic serve --lab
  • 13. 2. LIVERELOAD Instantly update your apps with code changes, even when running directly on your device. $ ionic run --livereload
  • 14. 3. ICON/SPLASH GENERATION Generate icons and splash screens for all devices and device sizes with a single command. $ ionic resources
  • 15. 4. VIEW APP Share your Ionic apps with clients, customers, and testers all around the world. All without ever going through the App Store!
  • 17. 5. ngCordova Angular extensions for easily accessing the full native functionality of the device.
  • 19. 6. IONIC.IO PLATFORM Full-stack backend services and tools for your Ionic app. Finally, a service that embraces mobile web dev! Push Analytics Deploy Users Creator Lab Market
  • 20. 7. IONIC LAB Lab harnesses the power of the Ionic CLI through an intuitive desktop app for both Windows and Mac.
  • 22. 8. IONIC CREATOR Creator is a drag-&-drop prototyping tool for creating great apps using Ionic, with just a click of the mouse.
  • 24. HOW TO SETUP IONIC FRAMEWORK 1. Install Ionic 2. Start a project 3. Run it
  • 25. 1. INSTALL IONIC Make sure you have NodeJS installed Install Cordova and Ionic Install Android Studio Install XCode for Mac On Mac, install ios-sim Follow the Android and iOS platform guides to install required platform dependencies. $ npm -g install cordova ionic $ npm -g install ios-sim
  • 26. 2. START A PROJECT You have three options here: $ ionic start todoApp blank $ ionic start todoApp tabs $ ionic start todoApp sidemenu This will create a folder with all your application data in it.
  • 27. 3. RUN IT Using emulation $ cd todoApp $ ionic platform add android $ ionic build android $ ionic emulate android Using a real device $ cd todoApp $ ionic platform add android $ ionic build android $ ionic run android Using a browser $ cd todoApp $ ionic serve --lab
  • 29. IONIC CLI $ ionic --help $ ionic start [myAppName] [template] $ ionic serve $ ionic serve -- lab $ ionic setup sass $ ionic serve --address 68.54.96.105
  • 30. COMMAND-LINE FLAGS/OPTIONS [--consolelogs|-c] ...... Print app console logs to Ionic CLI [--serverlogs|-s] ....... Print dev server logs to Ionic CLI [--port|-p] ............. Dev server HTTP port (8100 default) [--livereload-port|-i] .. Live Reload port (35729 default) [--nobrowser|-b] ........ Disable launching a browser [--nolivereload|-r] ..... Do not start live reload [--noproxy|-x] .......... Do not add proxies
  • 31. ICON AND SPLASH SCREEN Auto generate icons and splash screens for your application Place artwork in resources folder in the root of the project $ ionic resources $ ionic resources --splash $ ionic resources --icon
  • 32. IONIC VIEW APP Upload your application and preview/share it $ ionic upload Before upload you need an account on and the app on your Android or iOS device. More info apps.ionic.io view.ionic.io
  • 33. USING SASS To enable Sass in your project, use the following command $ ionic setup sass This will enable you to customise different variables used in theming and layouting the different components. These can be found in the _variables.scss file. See for more information ionicframework.com/docs/cli/sass.html
  • 34. TESTING YOUR APPLICATION For unit testing we will use Jasmine ngMock Karma PhantomJS
  • 35. INSTALL DEPENDENCIES $ npm install karma --save-dev $ npm install karma-jasmine --save-dev $ bower install angular-mocks#1.4.3 --save-dev $ npm install -g karma-cli $ npm install -g phantomjs Attention: the version of angular-mocks needs to be the same of the version of AngularJS used in your Ionic setup
  • 36. CONFIGURATION $ mkdir -p tests/unit-tests $ cd tests $ karma init unit-tests.conf.js Hit enter for all questions except: Do you want to capture any browsers automatically ? Press tab to list possible options. Enter empty string to move to the next > PhantomJS What is the location of your source and test files ? You can use glob patterns, eg. "js/*.js" or "test/**/*Spec.js". Enter empty string to move to the next question. > ../www/lib/ionic/js/ionic.bundle.js > ../www/app.js > ../www/lib/angular-mocks/angular-mocks.js > ../www/projects/*.js > unit-tests/**/*.js
  • 37. WRITING TESTS describe('ProjectsCtrl', function() { var controller, projectsServiceMock; beforeEach(module('todo')); beforeEach(inject(function($controller, $rootScope) { scope = $rootScope.$new(); projectsServiceMock = { getAll: jasmine.createSpy('getAll spy').and.returnValue getLastActiveIndex: jasmine.createSpy('getAll spy').and.returnVal }; controller = $controller('ProjectsCtrl', { '$scope': scope, 'projectsService': projectsServiceMock
  • 38. RUN TESTS $ karma start unit-tests.conf.js
  • 39. LET'S BUILD AN APPLICATION Get yerr computers running!
  • 41. ANDROID Create keystore (one time only) with keytool $ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg Build, jarsign and zipalign cordova build --release android jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release ./zipalign -v 4 /path/to/app/platforms/android/build/outputs/apk/android-release- Put in Play Store
  • 42. IOS /usr/bin/xcrun -sdk iphoneos PackageApplication "/Users/NAME/Library/Developer/ No it's not that easy …
  • 43. REAL LIFE CASES At Ordina we currently have 2 real life cases. Proximus MyThings Scanner (in app store since november) Evonik Weather App
  • 46. IONIC FRAMEWORK CREATE MOBILE APPS WITH THE WEB TECHNOLOGIES YOU LOVE By /@Mr_Jean @DzSteve