(Go: >> BACK << -|- >> HOME <<)

SlideShare a Scribd company logo
Introduction about hybrid & Ionic
framework
Thinh VoXuan
Sprint 2016
• Native vs Hybrid Apps
• Intro Ionic
• Apache Cordova
• AngularJS
• Eco system
• Ionic Basic
• Installation
• Ionic CLI
• Directory Source code
• Routing
• View lifecycle
• UI Component
• Demo
Agenda
Introduction about hybrid & Ionic framework
2
Pros:
•Natives UI allows users to quickly learn
the app
•Access to device hardware software
(GPS, Location, shake, Calendar, etc…)
•Native applications have the best
performance, highest security, and best
user experience.
Pros:
•Single code-base, multi platform
•Development Cost Reasonable
•All the content will be updated from
web directly
•The in-app interaction has a look
and feel consistent
•Web technology
Cons:
•Entirely separate code bases
•Timely & expensive development
•More Platforms. More Problems.
Cons:
•Run on Webview
•Base on Plugins
•May require native coding in device-
related case
Native vs Hybrid Apps
Introduction about hybrid & Ionic framework
3
Part 1 - Intro Ionic
4
• Website: http://ionicframework.com/
• Ionic is a powerful HTML5 SDK that helps you
build native-feeling mobile apps using web
technologies like HTML, CSS, and Javascript.
• top of the world's #1 mobile hybrid Framework
• Cordova + Twitter Bootstrap + AngularJS
• http://blog.ionic.io/where-does-the-ionic-framework-fit-i
Intro Ionic
Introduction about hybrid & Ionic framework
5
Intro Ionic
Introduction about hybrid & Ionic framework
6
Intro Ionic
Introduction about hybrid & Ionic framework
7
Cordova
Introduction about hybrid & Ionic framework
8
• An open-source mobile development
framework
• Use standard web technologies - HTML5,
CSS3, and JavaScript for cross-platform
development
• Applications execute within wrappers
targeted to each platform
• Rely on standards-compliant API bindings to
access each device's capabilities such as
sensors, data, network status, etc.
Cordova
Introduction about hybrid & Ionic framework
9
• PhoneGap is an HTML5 app platform that
allows you to author native applications
with web technologies and get access to
APIs and app stores. PhoneGap is a
distribution of Apache Cordova. You can
think of Apache Cordova as the engine
that powers PhoneGap, similar to how
WebKit is the engine that powers
Chrome or Safari.
PhoneGap vs Cordova
Introduction about hybrid & Ionic framework
10
• MV*: Model-View-Whatever
• organize your JavaScript modular
• Interconnection with HTML at the root
level
• Data Handling made simple
• Two-way Data Binding
AngularJS
Introduction about hybrid & Ionic framework
11
AngularJS
Introduction about hybrid & Ionic framework
12
• Controller
• Template & Filtering
• Two-way Data Binding
• Routing & Multiple Views
• Built-in Directives
• Forms
• Custom Directives
• Services & Factory.
AngularJS
Introduction about hybrid & Ionic framework
13
• Ionic market: http://market.ionic.io/
• Plugins
• Themes
• Ionic platform: http://ionic.io/platform
• Live Deploys
• User Authentications
• Push Notification
• Native Builds
Ionic Ecosystem
Introduction about hybrid & Ionic framework
14
Ionic Ecosystem
Introduction about hybrid & Ionic framework
15
• http://ionic.io/products/creator
• Is a drag-&-drop prototyping tool for creating great
apps using Ionic, with just a click of the mouse.
• http://lab.ionic.io/
• Lab is a desktop app for Mac, Windows, and Linux,
that makes it a joy to get started with Ionic.
• http://view.ionic.io/
• Ionic View makes it easy to share your Ionic and
Cordova apps with clients and testers around the
world, all without ever going through the App Store.
Ionic Ecosystem
Introduction about hybrid & Ionic framework
16
Part 2 – Basic Ionic
17
• What need to install:
• Node-JS (prefer install via NVM)
• Apache Cordova
• npm install -g cordova
• Ionic
• npm install -g ionic
Install and start first project
Introduction about hybrid & Ionic framework
18
• Start project
• Ionic start –a <app_name> <newApp> <template>
• <template> can either come from a named template, a Github repo, a
Codepen url, or a local directory.
• Run with local server
• ionic serve
• Add platform iOs or Android:
• ionic platform add [ios/android]
• Prepare iOs and Android
• ionic platform [ios/android] prepare
• Build iOS and Android
• ionic platform [ios/android] build
• Run on device:
• ionic run [ios/android] --device
Ionic CLI
Introduction about hybrid & Ionic framework
19
Directory Source code
Introduction about hybrid & Ionic framework
20
• platforms: directory contains your iOS and
Android projects.
• plugins: are where Cordova stores the
plugins that you add to your project
• scss: for your app’s SASS file
• www: where your app is developed and
where you’ll spend most of your time when
building an Ionic app.
• config.xml: config base to platform
• bower.json: bower config file
• gulpfile.js: build scss script.
Directory Source code
Introduction about hybrid & Ionic framework
21
• css: all css file
• img: image file
• Js: angular source code
• lib: bower install file
• Index.html: starting file
Run app
Introduction about hybrid & Ionic framework
22
• ionic.js
• angular.js
• angular-animate.js
• angular-sanitize.js
• angular-ui-router.js
• ionic-angular.js
ionic.bundle.js
Introduction about hybrid & Ionic framework
23
View life cycle
Introduction about hybrid & Ionic framework
24
• $ionicView.loaded
• $ionicView.beforeEnter
• $ionicView.enter
• $ionicView.afterEnter
• $ionicView.beforeLeave
• $ionicView.leave
• $ionicView.afterLeave
• $ionicView.unloaded
View life cycle
Introduction about hybrid & Ionic framework
25
Routing
Introduction about hybrid & Ionic framework
26
• List
• Navigation
• Tabs
• Side menu
• Slide box
• Action Sheet
• Pull-to-refresh & Infinite loading
UI Component
Introduction about hybrid & Ionic framework
27
• http://ionicframework.com/docs/api/directive/ionList/
UI Component - List
Introduction about hybrid & Ionic framework
28
• http://ionicframework.com/docs/api/directive/ionNavView/
UI Component - Navigation
Introduction about hybrid & Ionic framework
29
UI Component - Tabs
Introduction about hybrid & Ionic framework
30
• http://ionicframework.com/docs/api/directive/ionNavView/
UI Component - Side menu
Introduction about hybrid & Ionic framework
31
• http://ionicframework.com/docs/api/directive/ionSideMenus/
UI Component - Slide box
Introduction about hybrid & Ionic framework
32
• http://ionicframework.com/docs/api/directive/ionSlideBox/
UI Component - Action Sheet
Introduction about hybrid & Ionic framework
33
• http://ionicframework.com/docs/api/service/$ionicActionSheet/
• http://ionicframework.com/docs/api/directive/ionRefresher/
Pull-to-refresh
Introduction about hybrid & Ionic framework
34
• TODO List application
• Source code: https://github.com/voxuanthinh/todolist-
ionic
Demo
Introduction about hybrid & Ionic framework
35
Question & Answers
Introduction about hybrid & Ionic framework
36
• Ionic present slide: http://ionicframework.com/present-
ionic/slides/#/6
• Hybird vs native mobile:
http://www.ymedialabs.com/hybrid-vs-native-mobile-
apps-the-answer-is-clear/
• Ionic Framework: http://ionicframework.com/docs/
References
Introduction about hybrid & Ionic framework
37
Thank you
Introduction about hybrid & Ionic framework
38

More Related Content

What's hot

Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)
Zhentian Wan
 
INTRODUCTION TO FLUTTER BASICS.pptx
INTRODUCTION TO FLUTTER BASICS.pptxINTRODUCTION TO FLUTTER BASICS.pptx
INTRODUCTION TO FLUTTER BASICS.pptx
20TUCS033DHAMODHARAK
 
Ionic & Angular
Ionic & AngularIonic & Angular
Ionic & Angular
Knoldus Inc.
 
Angular overview
Angular overviewAngular overview
Angular overview
Thanvilahari
 
Angular 9
Angular 9 Angular 9
Angular 9
Raja Vishnu
 
Introduction to Node js
Introduction to Node jsIntroduction to Node js
Introduction to Node js
Akshay Mathur
 
React native
React nativeReact native
React native
Vikrant Negi
 
Node js Introduction
Node js IntroductionNode js Introduction
Node js Introduction
sanskriti agarwal
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Software Infrastructure
 
Next.js vs React | what to choose for frontend development_
Next.js vs React | what to choose for frontend development_Next.js vs React | what to choose for frontend development_
Next.js vs React | what to choose for frontend development_
ForceBolt
 
Node.js Basics
Node.js Basics Node.js Basics
Node.js Basics
TheCreativedev Blog
 
Angular 16 – the rise of Signals
Angular 16 – the rise of SignalsAngular 16 – the rise of Signals
Angular 16 – the rise of Signals
Coding Academy
 
Introduction to flutter
Introduction to flutter Introduction to flutter
Introduction to flutter
Wan Muzaffar Wan Hashim
 
Nodejs presentation
Nodejs presentationNodejs presentation
Nodejs presentation
Arvind Devaraj
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application Development
Tharindu Dassanayake
 
Angular 6 - The Complete Guide
Angular 6 - The Complete GuideAngular 6 - The Complete Guide
Angular 6 - The Complete Guide
Sam Dias
 
Full stack web development
Full stack web developmentFull stack web development
Full stack web development
Crampete
 
Building beautiful apps with Google flutter
Building beautiful apps with Google flutterBuilding beautiful apps with Google flutter
Building beautiful apps with Google flutter
Ahmed Abu Eldahab
 
Introduction to angular with a simple but complete project
Introduction to angular with a simple but complete projectIntroduction to angular with a simple but complete project
Introduction to angular with a simple but complete project
Jadson Santos
 
Android Development Slides
Android Development SlidesAndroid Development Slides
Android Development Slides
Victor Miclovich
 

What's hot (20)

Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)
 
INTRODUCTION TO FLUTTER BASICS.pptx
INTRODUCTION TO FLUTTER BASICS.pptxINTRODUCTION TO FLUTTER BASICS.pptx
INTRODUCTION TO FLUTTER BASICS.pptx
 
Ionic & Angular
Ionic & AngularIonic & Angular
Ionic & Angular
 
Angular overview
Angular overviewAngular overview
Angular overview
 
Angular 9
Angular 9 Angular 9
Angular 9
 
Introduction to Node js
Introduction to Node jsIntroduction to Node js
Introduction to Node js
 
React native
React nativeReact native
React native
 
Node js Introduction
Node js IntroductionNode js Introduction
Node js Introduction
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Next.js vs React | what to choose for frontend development_
Next.js vs React | what to choose for frontend development_Next.js vs React | what to choose for frontend development_
Next.js vs React | what to choose for frontend development_
 
Node.js Basics
Node.js Basics Node.js Basics
Node.js Basics
 
Angular 16 – the rise of Signals
Angular 16 – the rise of SignalsAngular 16 – the rise of Signals
Angular 16 – the rise of Signals
 
Introduction to flutter
Introduction to flutter Introduction to flutter
Introduction to flutter
 
Nodejs presentation
Nodejs presentationNodejs presentation
Nodejs presentation
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application Development
 
Angular 6 - The Complete Guide
Angular 6 - The Complete GuideAngular 6 - The Complete Guide
Angular 6 - The Complete Guide
 
Full stack web development
Full stack web developmentFull stack web development
Full stack web development
 
Building beautiful apps with Google flutter
Building beautiful apps with Google flutterBuilding beautiful apps with Google flutter
Building beautiful apps with Google flutter
 
Introduction to angular with a simple but complete project
Introduction to angular with a simple but complete projectIntroduction to angular with a simple but complete project
Introduction to angular with a simple but complete project
 
Android Development Slides
Android Development SlidesAndroid Development Slides
Android Development Slides
 

Viewers also liked

Creating an hybrid app in minutes with Ionic Framework
Creating an hybrid app in minutes with Ionic FrameworkCreating an hybrid app in minutes with Ionic Framework
Creating an hybrid app in minutes with Ionic Framework
Julien Renaux
 
Intro to ionic 2
Intro to ionic 2Intro to ionic 2
Intro to ionic 2
Jamal Sinclair O'Garro
 
Palestra sobre desenvolvimento de aplicativos híbridos (SEMAC 2016)
Palestra sobre desenvolvimento de aplicativos híbridos (SEMAC 2016)Palestra sobre desenvolvimento de aplicativos híbridos (SEMAC 2016)
Palestra sobre desenvolvimento de aplicativos híbridos (SEMAC 2016)
Henrique Dezani
 
Promise on iOs
Promise on iOsPromise on iOs
Promise on iOs
Thinh VoXuan
 
Ionic - Hybrid Mobile Application Framework
Ionic - Hybrid Mobile Application FrameworkIonic - Hybrid Mobile Application Framework
Ionic - Hybrid Mobile Application Framework
Sanjay Kumar
 
Ionic Hybrid Mobile Application
Ionic Hybrid Mobile ApplicationIonic Hybrid Mobile Application
Ionic Hybrid Mobile Application
Al Sayed Gamal
 
building HTML hybrid app
 with ionic
building HTML hybrid app
 with ionicbuilding HTML hybrid app
 with ionic
building HTML hybrid app
 with ionic
Nakano Kyohei
 
Ionic 2 intro
Ionic 2   introIonic 2   intro
Ionic 2 intro
Wojciech Langiewicz
 
Unit testing in Force.com platform
Unit testing in Force.com platformUnit testing in Force.com platform
Unit testing in Force.com platform
Chamil Madusanka
 
Step by step guide to build ionic hybrid app using cordova android
Step by step guide to build ionic hybrid app using cordova androidStep by step guide to build ionic hybrid app using cordova android
Step by step guide to build ionic hybrid app using cordova android
swagat parida
 
Building Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and IonicBuilding Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and Ionic
Younes Adounis
 
Hybrid mobile app
Hybrid mobile appHybrid mobile app
Hybrid mobile app
Palani Kumar
 
Building Mobile Applications with Ionic
Building Mobile Applications with IonicBuilding Mobile Applications with Ionic
Building Mobile Applications with Ionic
Morris Singer
 
Ionic framework one day training
Ionic framework one day trainingIonic framework one day training
Ionic framework one day training
Troy Miles
 
Building Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and IonicBuilding Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and Ionic
Kadhem Soltani
 
Hybrid mobile app development
Hybrid mobile app developmentHybrid mobile app development
Hybrid mobile app development
Chamil Madusanka
 
Intro to Ionic for Building Hybrid Mobile Applications
Intro to Ionic for Building Hybrid Mobile ApplicationsIntro to Ionic for Building Hybrid Mobile Applications
Intro to Ionic for Building Hybrid Mobile Applications
Sasha dos Santos
 
Workshop on Hybrid App Development with Ionic Framework
Workshop on Hybrid App Development with Ionic FrameworkWorkshop on Hybrid App Development with Ionic Framework
Workshop on Hybrid App Development with Ionic Framework
Aayush Shrestha
 
Building a Progressive Web App
Building a  Progressive Web AppBuilding a  Progressive Web App
Building a Progressive Web App
Ido Green
 
Mobile app architectures
Mobile app architecturesMobile app architectures
Mobile app architectures
swagat parida
 

Viewers also liked (20)

Creating an hybrid app in minutes with Ionic Framework
Creating an hybrid app in minutes with Ionic FrameworkCreating an hybrid app in minutes with Ionic Framework
Creating an hybrid app in minutes with Ionic Framework
 
Intro to ionic 2
Intro to ionic 2Intro to ionic 2
Intro to ionic 2
 
Palestra sobre desenvolvimento de aplicativos híbridos (SEMAC 2016)
Palestra sobre desenvolvimento de aplicativos híbridos (SEMAC 2016)Palestra sobre desenvolvimento de aplicativos híbridos (SEMAC 2016)
Palestra sobre desenvolvimento de aplicativos híbridos (SEMAC 2016)
 
Promise on iOs
Promise on iOsPromise on iOs
Promise on iOs
 
Ionic - Hybrid Mobile Application Framework
Ionic - Hybrid Mobile Application FrameworkIonic - Hybrid Mobile Application Framework
Ionic - Hybrid Mobile Application Framework
 
Ionic Hybrid Mobile Application
Ionic Hybrid Mobile ApplicationIonic Hybrid Mobile Application
Ionic Hybrid Mobile Application
 
building HTML hybrid app
 with ionic
building HTML hybrid app
 with ionicbuilding HTML hybrid app
 with ionic
building HTML hybrid app
 with ionic
 
Ionic 2 intro
Ionic 2   introIonic 2   intro
Ionic 2 intro
 
Unit testing in Force.com platform
Unit testing in Force.com platformUnit testing in Force.com platform
Unit testing in Force.com platform
 
Step by step guide to build ionic hybrid app using cordova android
Step by step guide to build ionic hybrid app using cordova androidStep by step guide to build ionic hybrid app using cordova android
Step by step guide to build ionic hybrid app using cordova android
 
Building Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and IonicBuilding Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and Ionic
 
Hybrid mobile app
Hybrid mobile appHybrid mobile app
Hybrid mobile app
 
Building Mobile Applications with Ionic
Building Mobile Applications with IonicBuilding Mobile Applications with Ionic
Building Mobile Applications with Ionic
 
Ionic framework one day training
Ionic framework one day trainingIonic framework one day training
Ionic framework one day training
 
Building Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and IonicBuilding Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and Ionic
 
Hybrid mobile app development
Hybrid mobile app developmentHybrid mobile app development
Hybrid mobile app development
 
Intro to Ionic for Building Hybrid Mobile Applications
Intro to Ionic for Building Hybrid Mobile ApplicationsIntro to Ionic for Building Hybrid Mobile Applications
Intro to Ionic for Building Hybrid Mobile Applications
 
Workshop on Hybrid App Development with Ionic Framework
Workshop on Hybrid App Development with Ionic FrameworkWorkshop on Hybrid App Development with Ionic Framework
Workshop on Hybrid App Development with Ionic Framework
 
Building a Progressive Web App
Building a  Progressive Web AppBuilding a  Progressive Web App
Building a Progressive Web App
 
Mobile app architectures
Mobile app architecturesMobile app architectures
Mobile app architectures
 

Similar to Ionic Framework

Developing Hybrid Applications with IONIC
Developing Hybrid Applications with IONICDeveloping Hybrid Applications with IONIC
Developing Hybrid Applications with IONIC
Fuat Buğra AYDIN
 
Building mobile apps using meteorJS
Building mobile apps using meteorJSBuilding mobile apps using meteorJS
Building mobile apps using meteorJS
Entrepreneur / Startup
 
Developing ionic apps for android and ios
Developing ionic apps for android and iosDeveloping ionic apps for android and ios
Developing ionic apps for android and ios
gautham_m79
 
Ionic framework
Ionic frameworkIonic framework
Ionic framework
Software Infrastructure
 
IONIC - Hybrid Mobile App Development
IONIC - Hybrid Mobile App DevelopmentIONIC - Hybrid Mobile App Development
IONIC - Hybrid Mobile App Development
Malan Amarasinghe
 
Getting started with the Ionic Framework
Getting started with the Ionic FrameworkGetting started with the Ionic Framework
Getting started with the Ionic Framework
Anuradha Weeraman
 
Cross-Platform Development
Cross-Platform DevelopmentCross-Platform Development
Cross-Platform Development
Syed Owais Ali Chishti
 
Ionic on visualforce and sf1 df14
Ionic on visualforce and sf1   df14Ionic on visualforce and sf1   df14
Ionic on visualforce and sf1 df14
Kevin Poorman
 
Mobile Vue.js – From PWA to Native
Mobile Vue.js – From PWA to NativeMobile Vue.js – From PWA to Native
Mobile Vue.js – From PWA to Native
MartinSotirov
 
Building iOS app using meteor
Building iOS app using meteorBuilding iOS app using meteor
Building iOS app using meteor
Entrepreneur / Startup
 
Hybrid app development with ionic
Hybrid app development with ionicHybrid app development with ionic
Hybrid app development with ionic
Wan Muzaffar Wan Hashim
 
I knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsI knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile apps
Alius Petraška
 
Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and
Ryan Cuprak
 
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails BackendBuilding iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
Andrew Chalkley
 
Ionic
IonicIonic
Cross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open SourceCross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open Source
All Things Open
 
WebCamp 2016: Front-end. Виталий Бобров: JavaScript для мобильной разработки.
WebCamp 2016: Front-end. Виталий Бобров: JavaScript для мобильной разработки.WebCamp 2016: Front-end. Виталий Бобров: JavaScript для мобильной разработки.
WebCamp 2016: Front-end. Виталий Бобров: JavaScript для мобильной разработки.
WebCamp
 
Developing a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDeveloping a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&Cordova
Damir Beylkhanov
 
[2015/2016] Apache Cordova
[2015/2016] Apache Cordova[2015/2016] Apache Cordova
[2015/2016] Apache Cordova
Ivano Malavolta
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Ryan Cuprak
 

Similar to Ionic Framework (20)

Developing Hybrid Applications with IONIC
Developing Hybrid Applications with IONICDeveloping Hybrid Applications with IONIC
Developing Hybrid Applications with IONIC
 
Building mobile apps using meteorJS
Building mobile apps using meteorJSBuilding mobile apps using meteorJS
Building mobile apps using meteorJS
 
Developing ionic apps for android and ios
Developing ionic apps for android and iosDeveloping ionic apps for android and ios
Developing ionic apps for android and ios
 
Ionic framework
Ionic frameworkIonic framework
Ionic framework
 
IONIC - Hybrid Mobile App Development
IONIC - Hybrid Mobile App DevelopmentIONIC - Hybrid Mobile App Development
IONIC - Hybrid Mobile App Development
 
Getting started with the Ionic Framework
Getting started with the Ionic FrameworkGetting started with the Ionic Framework
Getting started with the Ionic Framework
 
Cross-Platform Development
Cross-Platform DevelopmentCross-Platform Development
Cross-Platform Development
 
Ionic on visualforce and sf1 df14
Ionic on visualforce and sf1   df14Ionic on visualforce and sf1   df14
Ionic on visualforce and sf1 df14
 
Mobile Vue.js – From PWA to Native
Mobile Vue.js – From PWA to NativeMobile Vue.js – From PWA to Native
Mobile Vue.js – From PWA to Native
 
Building iOS app using meteor
Building iOS app using meteorBuilding iOS app using meteor
Building iOS app using meteor
 
Hybrid app development with ionic
Hybrid app development with ionicHybrid app development with ionic
Hybrid app development with ionic
 
I knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsI knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile apps
 
Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and
 
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails BackendBuilding iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
 
Ionic
IonicIonic
Ionic
 
Cross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open SourceCross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open Source
 
WebCamp 2016: Front-end. Виталий Бобров: JavaScript для мобильной разработки.
WebCamp 2016: Front-end. Виталий Бобров: JavaScript для мобильной разработки.WebCamp 2016: Front-end. Виталий Бобров: JavaScript для мобильной разработки.
WebCamp 2016: Front-end. Виталий Бобров: JavaScript для мобильной разработки.
 
Developing a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDeveloping a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&Cordova
 
[2015/2016] Apache Cordova
[2015/2016] Apache Cordova[2015/2016] Apache Cordova
[2015/2016] Apache Cordova
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
 

Recently uploaded

Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
STKI Israeli Market Study 2024 final v1
STKI Israeli Market Study 2024 final  v1STKI Israeli Market Study 2024 final  v1
STKI Israeli Market Study 2024 final v1
Dr. Jimmy Schwarzkopf
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
Edge AI and Vision Alliance
 
How to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory ModelHow to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory Model
ScyllaDB
 
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design ApproachesKnowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Earley Information Science
 
Data Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber SecurityData Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber Security
anupriti
 
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
amitchopra0215
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
What Not to Document and Why_ (North Bay Python 2024)
What Not to Document and Why_ (North Bay Python 2024)What Not to Document and Why_ (North Bay Python 2024)
What Not to Document and Why_ (North Bay Python 2024)
Margaret Fero
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
uuuot
 
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating AppsecGDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
James Anderson
 
K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024
The Digital Insurer
 
How Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global ScaleHow Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global Scale
ScyllaDB
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 

Recently uploaded (20)

Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
STKI Israeli Market Study 2024 final v1
STKI Israeli Market Study 2024 final  v1STKI Israeli Market Study 2024 final  v1
STKI Israeli Market Study 2024 final v1
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
 
How to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory ModelHow to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory Model
 
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design ApproachesKnowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
 
Data Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber SecurityData Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber Security
 
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
@Call @Girls Pune 0000000000 Riya Khan Beautiful Girl any Time
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
What Not to Document and Why_ (North Bay Python 2024)
What Not to Document and Why_ (North Bay Python 2024)What Not to Document and Why_ (North Bay Python 2024)
What Not to Document and Why_ (North Bay Python 2024)
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
 
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating AppsecGDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
 
K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024
 
How Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global ScaleHow Netflix Builds High Performance Applications at Global Scale
How Netflix Builds High Performance Applications at Global Scale
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 

Ionic Framework

  • 1. Introduction about hybrid & Ionic framework Thinh VoXuan Sprint 2016
  • 2. • Native vs Hybrid Apps • Intro Ionic • Apache Cordova • AngularJS • Eco system • Ionic Basic • Installation • Ionic CLI • Directory Source code • Routing • View lifecycle • UI Component • Demo Agenda Introduction about hybrid & Ionic framework 2
  • 3. Pros: •Natives UI allows users to quickly learn the app •Access to device hardware software (GPS, Location, shake, Calendar, etc…) •Native applications have the best performance, highest security, and best user experience. Pros: •Single code-base, multi platform •Development Cost Reasonable •All the content will be updated from web directly •The in-app interaction has a look and feel consistent •Web technology Cons: •Entirely separate code bases •Timely & expensive development •More Platforms. More Problems. Cons: •Run on Webview •Base on Plugins •May require native coding in device- related case Native vs Hybrid Apps Introduction about hybrid & Ionic framework 3
  • 4. Part 1 - Intro Ionic 4
  • 5. • Website: http://ionicframework.com/ • Ionic is a powerful HTML5 SDK that helps you build native-feeling mobile apps using web technologies like HTML, CSS, and Javascript. • top of the world's #1 mobile hybrid Framework • Cordova + Twitter Bootstrap + AngularJS • http://blog.ionic.io/where-does-the-ionic-framework-fit-i Intro Ionic Introduction about hybrid & Ionic framework 5
  • 6. Intro Ionic Introduction about hybrid & Ionic framework 6
  • 7. Intro Ionic Introduction about hybrid & Ionic framework 7
  • 8. Cordova Introduction about hybrid & Ionic framework 8 • An open-source mobile development framework • Use standard web technologies - HTML5, CSS3, and JavaScript for cross-platform development • Applications execute within wrappers targeted to each platform • Rely on standards-compliant API bindings to access each device's capabilities such as sensors, data, network status, etc.
  • 9. Cordova Introduction about hybrid & Ionic framework 9
  • 10. • PhoneGap is an HTML5 app platform that allows you to author native applications with web technologies and get access to APIs and app stores. PhoneGap is a distribution of Apache Cordova. You can think of Apache Cordova as the engine that powers PhoneGap, similar to how WebKit is the engine that powers Chrome or Safari. PhoneGap vs Cordova Introduction about hybrid & Ionic framework 10
  • 11. • MV*: Model-View-Whatever • organize your JavaScript modular • Interconnection with HTML at the root level • Data Handling made simple • Two-way Data Binding AngularJS Introduction about hybrid & Ionic framework 11
  • 12. AngularJS Introduction about hybrid & Ionic framework 12
  • 13. • Controller • Template & Filtering • Two-way Data Binding • Routing & Multiple Views • Built-in Directives • Forms • Custom Directives • Services & Factory. AngularJS Introduction about hybrid & Ionic framework 13
  • 14. • Ionic market: http://market.ionic.io/ • Plugins • Themes • Ionic platform: http://ionic.io/platform • Live Deploys • User Authentications • Push Notification • Native Builds Ionic Ecosystem Introduction about hybrid & Ionic framework 14
  • 15. Ionic Ecosystem Introduction about hybrid & Ionic framework 15
  • 16. • http://ionic.io/products/creator • Is a drag-&-drop prototyping tool for creating great apps using Ionic, with just a click of the mouse. • http://lab.ionic.io/ • Lab is a desktop app for Mac, Windows, and Linux, that makes it a joy to get started with Ionic. • http://view.ionic.io/ • Ionic View makes it easy to share your Ionic and Cordova apps with clients and testers around the world, all without ever going through the App Store. Ionic Ecosystem Introduction about hybrid & Ionic framework 16
  • 17. Part 2 – Basic Ionic 17
  • 18. • What need to install: • Node-JS (prefer install via NVM) • Apache Cordova • npm install -g cordova • Ionic • npm install -g ionic Install and start first project Introduction about hybrid & Ionic framework 18
  • 19. • Start project • Ionic start –a <app_name> <newApp> <template> • <template> can either come from a named template, a Github repo, a Codepen url, or a local directory. • Run with local server • ionic serve • Add platform iOs or Android: • ionic platform add [ios/android] • Prepare iOs and Android • ionic platform [ios/android] prepare • Build iOS and Android • ionic platform [ios/android] build • Run on device: • ionic run [ios/android] --device Ionic CLI Introduction about hybrid & Ionic framework 19
  • 20. Directory Source code Introduction about hybrid & Ionic framework 20 • platforms: directory contains your iOS and Android projects. • plugins: are where Cordova stores the plugins that you add to your project • scss: for your app’s SASS file • www: where your app is developed and where you’ll spend most of your time when building an Ionic app. • config.xml: config base to platform • bower.json: bower config file • gulpfile.js: build scss script.
  • 21. Directory Source code Introduction about hybrid & Ionic framework 21 • css: all css file • img: image file • Js: angular source code • lib: bower install file • Index.html: starting file
  • 22. Run app Introduction about hybrid & Ionic framework 22
  • 23. • ionic.js • angular.js • angular-animate.js • angular-sanitize.js • angular-ui-router.js • ionic-angular.js ionic.bundle.js Introduction about hybrid & Ionic framework 23
  • 24. View life cycle Introduction about hybrid & Ionic framework 24 • $ionicView.loaded • $ionicView.beforeEnter • $ionicView.enter • $ionicView.afterEnter • $ionicView.beforeLeave • $ionicView.leave • $ionicView.afterLeave • $ionicView.unloaded
  • 25. View life cycle Introduction about hybrid & Ionic framework 25
  • 26. Routing Introduction about hybrid & Ionic framework 26
  • 27. • List • Navigation • Tabs • Side menu • Slide box • Action Sheet • Pull-to-refresh & Infinite loading UI Component Introduction about hybrid & Ionic framework 27
  • 28. • http://ionicframework.com/docs/api/directive/ionList/ UI Component - List Introduction about hybrid & Ionic framework 28
  • 29. • http://ionicframework.com/docs/api/directive/ionNavView/ UI Component - Navigation Introduction about hybrid & Ionic framework 29
  • 30. UI Component - Tabs Introduction about hybrid & Ionic framework 30 • http://ionicframework.com/docs/api/directive/ionNavView/
  • 31. UI Component - Side menu Introduction about hybrid & Ionic framework 31 • http://ionicframework.com/docs/api/directive/ionSideMenus/
  • 32. UI Component - Slide box Introduction about hybrid & Ionic framework 32 • http://ionicframework.com/docs/api/directive/ionSlideBox/
  • 33. UI Component - Action Sheet Introduction about hybrid & Ionic framework 33 • http://ionicframework.com/docs/api/service/$ionicActionSheet/
  • 35. • TODO List application • Source code: https://github.com/voxuanthinh/todolist- ionic Demo Introduction about hybrid & Ionic framework 35
  • 36. Question & Answers Introduction about hybrid & Ionic framework 36
  • 37. • Ionic present slide: http://ionicframework.com/present- ionic/slides/#/6 • Hybird vs native mobile: http://www.ymedialabs.com/hybrid-vs-native-mobile- apps-the-answer-is-clear/ • Ionic Framework: http://ionicframework.com/docs/ References Introduction about hybrid & Ionic framework 37
  • 38. Thank you Introduction about hybrid & Ionic framework 38

Editor's Notes

  1. most companies will be better off choosing native instead of hybrid in the long run website performance user experience speed to market release cycles
  2. ionic start -a sampleApplication sampleApplication blank
  3. ionic start -a sampleApplication sampleApplication blank