SlideShare a Scribd company logo
1 of 22
Hybrid Mobile Application Development
Starting >> Ionic 2 & Angular 2
Hybrid Mobile Application Development
Starting >> Ionic 2 & Angular 2
Nikhil Kumar | Software Consultant
KnÓldus Software LLP
Nikhil Kumar | Software Consultant
KnÓldus Software LLP
AgendaAgenda
● What is hybrid mobile application : The Concept
● What is IONIC Framework
● Ionic 1 vs Ionic 2: A Comparison
● Ionic 2 & Angular 2
● Going Into IONIC world
● Designing in IONIC
● What is Apache Cordova
● Get Into Cordova
● Demo
-Hybrid apps are like anyother app you'll find in your phone.
-Hybrid mobile apps are built with a combination of web technologies like
HTML, CSS, and JavaScript...
From users view: It doesn't matter if wine tastes well.
-The key difference is that hybrid apps are hosted inside a native
application that utilizes a mobile platform’s WebView.
-Today, most hybrid mobile applications leverage Apache Cordova.
-Hybrid apps are like anyother app you'll find in your phone.
-Hybrid mobile apps are built with a combination of web technologies like
HTML, CSS, and JavaScript...
From users view: It doesn't matter if wine tastes well.
-The key difference is that hybrid apps are hosted inside a native
application that utilizes a mobile platform’s WebView.
-Today, most hybrid mobile applications leverage Apache Cordova.
The Concept
What – Why – Where – coming slides...
Motivation for HybridMotivation for Hybrid
Hybrid mobile applications provide a way for developers to re-use their existing skills in web
development.
WHY
Hybrid mobile application development looks appealing to an organization’s. Why hire a
developer for each platform when you can hire one developer and target all of them through
HTML, CSS, and JavaScript? But Reality is???
When should you build a hybrid mobile app?
● Which mobile platforms do you wish to target?
● Do you want to distribute your application via app stores?
● Are you looking to utilize the capabilities of the mobile
device?
● What are the technical abilities of your development
team?
● Does the one-size-fit-all approach of hybrid really live up
to its promise?
When should you build a hybrid mobile app?
● Which mobile platforms do you wish to target?
● Do you want to distribute your application via app stores?
● Are you looking to utilize the capabilities of the mobile
device?
● What are the technical abilities of your development
team?
● Does the one-size-fit-all approach of hybrid really live up
to its promise?
Examples of Hybrid ApplicationsExamples of Hybrid Applications
Insta
untappd
yelp
FitFyles
http://showcase.ionicframework.com/
Drifty: Ben Sperry and Max Lynch- 2012
Ionic: 2013
­ Developers have created 500,000 apps
­ 15,000 stars on GitHub and has risen to become one of the top 40 
   most popular projects worldwide, notes Lynch. 
Drifty: Ben Sperry and Max Lynch- 2012
Ionic: 2013
­ Developers have created 500,000 apps
­ 15,000 stars on GitHub and has risen to become one of the top 40 
   most popular projects worldwide, notes Lynch. 
Ionic : A Large scale overview
Drifty, a company that has been making it possible for web developers to build 
and publish native mobile applications that can then be published to the major 
app stores, including Apple’s iTunes, Amazon’s Appstore and Google Play, has 
now raised an additional $2.6 million led by Lightbank in Chicago.
Ionic is the open source HTML5 Mobile Framework for building amazing, cross-platform
hybrid native apps and mobile websites with HTML, JavaScript, and CSS. If you know
how to build or design websites, you will be able to build a real mobile app with Ionic!
Ionic is the open source HTML5 Mobile Framework for building amazing, cross-platform
hybrid native apps and mobile websites with HTML, JavaScript, and CSS. If you know
how to build or design websites, you will be able to build a real mobile app with Ionic!
Ionic Framework
Ionic 2 Vs Ionic1Ionic 2 Vs Ionic1
Ionic 2 is currently in beta and is being actively devleoped
At a high level, Ionic 2 is very similar conceptually to Ionic 1. In Ionic 1 you have
controllers that hold your logic, and templates that define your views. Ionic 2 is the same,
except you have classes instead of controllers. There are some differences in the
template syntax, and a lot of differences in the class structure.
So, let’s jump into some specifics. Here’s 5 reasons why I think Ionic 2 is better than Ionic 1.So, let’s jump into some specifics. Here’s 5 reasons why I think Ionic 2 is better than Ionic 1.
1- Organisation and Structure1- Organisation and Structure
home
home.js
home.html
home.scss
about
about.js
about.html
about.scss
Of course, you could organise your Ionic 1 projects like this as well, but
it wasn’t really the default style that was used. It would require prior
knowledge and motivation to achieve a sensible and scalable structure
like this in Ionic 1.
but in Ionic 2 you can’t really do that.
2- Tooling : it's simple but one of my favorate
$ ionic generate page MyPage
which can also be shortened to:
$ ionic g page MyPage
● my-page
my-page.js
my-page.html
my-page.scss
3- Navigation3- Navigation
Navigation in Ionic 2 is very different to Ionic 1. In Ionic 1 navigation was defined using URLs,
for example:
.config(function($stateProvider, $urlRouterProvider) {.config(function($stateProvider, $urlRouterProvider) {
$stateProvider$stateProvider
.state('intro', {.state('intro', {
url: '/',url: '/',
templateUrl: 'templates/intro.html',templateUrl: 'templates/intro.html',
controller: 'IntroCtrl'controller: 'IntroCtrl'
})})
.state('main', {.state('main', {
url: '/main',url: '/main',
templateUrl: 'templates/main.html',templateUrl: 'templates/main.html',
controller: 'MainCtrl'controller: 'MainCtrl'
});});
$urlRouterProvider.otherwise("/");$urlRouterProvider.otherwise("/");
});});
and you would activate these states by linking to them, which is a very “web” approach. In Ionic 2 a more “native” approach is used where
pages are “pushed” and “popped”:
this.nav.push(MyPage);
4. It’s Just Javascript4. It’s Just Javascript
In Angular 1 and Ionic 1 there was a lot of framework specific terminology and syntax to learn, but
with Ionic 2 it’s basically just plain old (or rather new) Javascript. Everything you build is basically
just ES6 (or TypeScript if you prefer) code, which isn’t specific to any framework. It’s just
Javascript.
The benefit of this is that everything you learn when
building Ionic 2 application isn’t just going to help you
build Ionic 2 applications, it’s also going to help you be
a better Javascript developer in general. The skills you
develop with Ionic 2 are going to be.
able to be applied in a bunch of other places as ES6
eventually becomes the new “normal” Javascript.
5. Building5. Building
In Ionic 2 almost all of your coding will be done inside of
the app folder,
which is completely separate to the www folders.
Folder StructureFolder Structure
If you’re not familiar with Ionic 2, it’s the latest incarnation
of Ionic – “the world’s most popular cross-platform mobile
development technology.”
Summary of comparisonSummary of comparison
Without a doubt, I would recommend everybody switch to Ionic 2
- If you’re completely new to Ionic, start with Ionic 2
- If you’re using Ionic 1 for existing projects, stick with Ionic 1 and upgrade it later
- If you’re using Ionic 1 and starting a new project, use Ionic 1 if it is a mission critical
or complex application
Ionic-2 Compotnents
checkout
Ionic-2 Compotnents
checkout
Going Into Ionic world
Ionic 1Ionic 1
- npm install -g ionic
- ionic start myproject
- adding platform
- adding plugings etc
Building for iOSBuilding for iOS
-ionic platform add ios
Building for AndroidBuilding for Android
- ionic platform add android
Ionic 1Ionic 1
- npm install -g ionic
- ionic start myproject
- adding platform
- adding plugings etc
Building for iOSBuilding for iOS
-ionic platform add ios
Building for AndroidBuilding for Android
- ionic platform add android
Quick Start
The default templates name are below:
● tabs (Default)
● sidemenu
● maps
● salesforce
● tests
● complex-list
● blank
Ionic 2Ionic 2
- npm install -g ionic@beta
- ionic start cutePuppyPics –v2 --ts
- cd cutePuppyPics
- ionic serve
Adding platforms is same...
Ionic 2Ionic 2
- npm install -g ionic@beta
- ionic start cutePuppyPics –v2 --ts
- cd cutePuppyPics
- ionic serve
Adding platforms is same...
IONIC CREATORIONIC CREATORIONIC CREATORIONIC CREATOR
Ionic Designing Magic & Cloud
IONIC APPSIONIC APPS
Today, most hybrid mobile applications leverage Apache Cordova.
Ionic builds on top of Cordova
Apache Cordova takes care of packaging your HTML5 app as a native
app that can run in Android, iOS, and other platforms.
But if you simply take an existing website and package it as a mobile app
the result will look nothing like a native app: users will notice very quickly
that the styles and behaviours are pretty different.
Today, most hybrid mobile applications leverage Apache Cordova.
Ionic builds on top of Cordova
Apache Cordova takes care of packaging your HTML5 app as a native
app that can run in Android, iOS, and other platforms.
But if you simply take an existing website and package it as a mobile app
the result will look nothing like a native app: users will notice very quickly
that the styles and behaviours are pretty different.
Apache Cordova
ngCordova comes with over 70 native Cordova plugins that you
can easily add to your Angular Cordova apps. Choose the plugin
you’d like to use from the menu, which will have information on
which plugin you need to install and an example of how to use it in
your Angular code.
Checkout : The game begins...
ngCordova comes with over 70 native Cordova plugins that you
can easily add to your Angular Cordova apps. Choose the plugin
you’d like to use from the menu, which will have information on
which plugin you need to install and an example of how to use it in
your Angular code.
Checkout : The game begins...
Into Cordova
References
● Knoldus Blog [Offcial]
● Telerik Documentation [Official]
● Cordova Documentation [Official]
● Ionic Framework Documentation [Official]
Presenter
nikhil@knoldus.com
Presenter
nikhil@knoldus.com
Organizer
@Knolspeak
http://www.knoldus.com
http://blog.knoldus.com
Organizer
@Knolspeak
http://www.knoldus.com
http://blog.knoldus.com
Thanks

More Related Content

Viewers also liked

Introduction to Ionic framework
Introduction to Ionic frameworkIntroduction to Ionic framework
Introduction to Ionic frameworkShyjal Raazi
 
HTML5, CSS, JavaScript Style guide and coding conventions
HTML5, CSS, JavaScript Style guide and coding conventionsHTML5, CSS, JavaScript Style guide and coding conventions
HTML5, CSS, JavaScript Style guide and coding conventionsKnoldus Inc.
 
Functional programming in Javascript
Functional programming in JavascriptFunctional programming in Javascript
Functional programming in JavascriptKnoldus Inc.
 
Introduction to BDD
Introduction to BDDIntroduction to BDD
Introduction to BDDKnoldus Inc.
 
Deep dive into sass
Deep dive into sassDeep dive into sass
Deep dive into sassKnoldus Inc.
 
Building an Ionic hybrid mobile app with TypeScript
Building an Ionic hybrid mobile app with TypeScript Building an Ionic hybrid mobile app with TypeScript
Building an Ionic hybrid mobile app with TypeScript Serge van den Oever
 
Akka Finite State Machine
Akka Finite State MachineAkka Finite State Machine
Akka Finite State MachineKnoldus Inc.
 
TypeScript - Angular 2 - ionic 2
TypeScript - Angular 2 - ionic 2TypeScript - Angular 2 - ionic 2
TypeScript - Angular 2 - ionic 2Micael Gallego
 
Hybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkHybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkCihad Horuzoğlu
 
Mobile Day - Ionic 2
Mobile Day - Ionic 2Mobile Day - Ionic 2
Mobile Day - Ionic 2Software Guru
 
Mandrill Templates
Mandrill TemplatesMandrill Templates
Mandrill TemplatesKnoldus Inc.
 
Fast dataarchitecture
Fast dataarchitectureFast dataarchitecture
Fast dataarchitectureKnoldus Inc.
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application developmentKnoldus Inc.
 
Introduction to Knockout Js
Introduction to Knockout JsIntroduction to Knockout Js
Introduction to Knockout JsKnoldus Inc.
 
Lambda Architecture with Spark
Lambda Architecture with SparkLambda Architecture with Spark
Lambda Architecture with SparkKnoldus Inc.
 
Cassandra - Tips And Techniques
Cassandra - Tips And TechniquesCassandra - Tips And Techniques
Cassandra - Tips And TechniquesKnoldus Inc.
 
Introduction to Apache Cassandra
Introduction to Apache Cassandra Introduction to Apache Cassandra
Introduction to Apache Cassandra Knoldus Inc.
 
Getting started with typescript and angular 2
Getting started with typescript  and angular 2Getting started with typescript  and angular 2
Getting started with typescript and angular 2Knoldus Inc.
 

Viewers also liked (20)

Introduction to Ionic framework
Introduction to Ionic frameworkIntroduction to Ionic framework
Introduction to Ionic framework
 
HTML5, CSS, JavaScript Style guide and coding conventions
HTML5, CSS, JavaScript Style guide and coding conventionsHTML5, CSS, JavaScript Style guide and coding conventions
HTML5, CSS, JavaScript Style guide and coding conventions
 
Functional programming in Javascript
Functional programming in JavascriptFunctional programming in Javascript
Functional programming in Javascript
 
Introduction to BDD
Introduction to BDDIntroduction to BDD
Introduction to BDD
 
Ionic Framework
Ionic FrameworkIonic Framework
Ionic Framework
 
Deep dive into sass
Deep dive into sassDeep dive into sass
Deep dive into sass
 
Building an Ionic hybrid mobile app with TypeScript
Building an Ionic hybrid mobile app with TypeScript Building an Ionic hybrid mobile app with TypeScript
Building an Ionic hybrid mobile app with TypeScript
 
Akka Finite State Machine
Akka Finite State MachineAkka Finite State Machine
Akka Finite State Machine
 
TypeScript - Angular 2 - ionic 2
TypeScript - Angular 2 - ionic 2TypeScript - Angular 2 - ionic 2
TypeScript - Angular 2 - ionic 2
 
Hybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkHybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic Framework
 
How to setup ionic 2
How to setup ionic 2How to setup ionic 2
How to setup ionic 2
 
Mobile Day - Ionic 2
Mobile Day - Ionic 2Mobile Day - Ionic 2
Mobile Day - Ionic 2
 
Mandrill Templates
Mandrill TemplatesMandrill Templates
Mandrill Templates
 
Fast dataarchitecture
Fast dataarchitectureFast dataarchitecture
Fast dataarchitecture
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application development
 
Introduction to Knockout Js
Introduction to Knockout JsIntroduction to Knockout Js
Introduction to Knockout Js
 
Lambda Architecture with Spark
Lambda Architecture with SparkLambda Architecture with Spark
Lambda Architecture with Spark
 
Cassandra - Tips And Techniques
Cassandra - Tips And TechniquesCassandra - Tips And Techniques
Cassandra - Tips And Techniques
 
Introduction to Apache Cassandra
Introduction to Apache Cassandra Introduction to Apache Cassandra
Introduction to Apache Cassandra
 
Getting started with typescript and angular 2
Getting started with typescript  and angular 2Getting started with typescript  and angular 2
Getting started with typescript and angular 2
 

More from Knoldus Inc.

Robusta -Tool Presentation (DevOps).pptx
Robusta -Tool Presentation (DevOps).pptxRobusta -Tool Presentation (DevOps).pptx
Robusta -Tool Presentation (DevOps).pptxKnoldus Inc.
 
Optimizing Kubernetes using GOLDILOCKS.pptx
Optimizing Kubernetes using GOLDILOCKS.pptxOptimizing Kubernetes using GOLDILOCKS.pptx
Optimizing Kubernetes using GOLDILOCKS.pptxKnoldus Inc.
 
Azure Function App Exception Handling.pptx
Azure Function App Exception Handling.pptxAzure Function App Exception Handling.pptx
Azure Function App Exception Handling.pptxKnoldus Inc.
 
CQRS Design Pattern Presentation (Java).pptx
CQRS Design Pattern Presentation (Java).pptxCQRS Design Pattern Presentation (Java).pptx
CQRS Design Pattern Presentation (Java).pptxKnoldus Inc.
 
ETL Observability: Azure to Snowflake Presentation
ETL Observability: Azure to Snowflake PresentationETL Observability: Azure to Snowflake Presentation
ETL Observability: Azure to Snowflake PresentationKnoldus Inc.
 
Scripting with K6 - Beyond the Basics Presentation
Scripting with K6 - Beyond the Basics PresentationScripting with K6 - Beyond the Basics Presentation
Scripting with K6 - Beyond the Basics PresentationKnoldus Inc.
 
Getting started with dotnet core Web APIs
Getting started with dotnet core Web APIsGetting started with dotnet core Web APIs
Getting started with dotnet core Web APIsKnoldus Inc.
 
Introduction To Rust part II Presentation
Introduction To Rust part II PresentationIntroduction To Rust part II Presentation
Introduction To Rust part II PresentationKnoldus Inc.
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Configuring Workflows & Validators in JIRA
Configuring Workflows & Validators in JIRAConfiguring Workflows & Validators in JIRA
Configuring Workflows & Validators in JIRAKnoldus Inc.
 
Advanced Python (with dependency injection and hydra configuration packages)
Advanced Python (with dependency injection and hydra configuration packages)Advanced Python (with dependency injection and hydra configuration packages)
Advanced Python (with dependency injection and hydra configuration packages)Knoldus Inc.
 
Azure Databricks (For Data Analytics).pptx
Azure Databricks (For Data Analytics).pptxAzure Databricks (For Data Analytics).pptx
Azure Databricks (For Data Analytics).pptxKnoldus Inc.
 
The Power of Dependency Injection with Dagger 2 and Kotlin
The Power of Dependency Injection with Dagger 2 and KotlinThe Power of Dependency Injection with Dagger 2 and Kotlin
The Power of Dependency Injection with Dagger 2 and KotlinKnoldus Inc.
 
Data Engineering with Databricks Presentation
Data Engineering with Databricks PresentationData Engineering with Databricks Presentation
Data Engineering with Databricks PresentationKnoldus Inc.
 
Databricks for MLOps Presentation (AI/ML)
Databricks for MLOps Presentation (AI/ML)Databricks for MLOps Presentation (AI/ML)
Databricks for MLOps Presentation (AI/ML)Knoldus Inc.
 
NoOps - (Automate Ops) Presentation.pptx
NoOps - (Automate Ops) Presentation.pptxNoOps - (Automate Ops) Presentation.pptx
NoOps - (Automate Ops) Presentation.pptxKnoldus Inc.
 
Mastering Distributed Performance Testing
Mastering Distributed Performance TestingMastering Distributed Performance Testing
Mastering Distributed Performance TestingKnoldus Inc.
 
MLops on Vertex AI Presentation (AI/ML).pptx
MLops on Vertex AI Presentation (AI/ML).pptxMLops on Vertex AI Presentation (AI/ML).pptx
MLops on Vertex AI Presentation (AI/ML).pptxKnoldus Inc.
 
Introduction to Ansible Tower Presentation
Introduction to Ansible Tower PresentationIntroduction to Ansible Tower Presentation
Introduction to Ansible Tower PresentationKnoldus Inc.
 
CQRS with dot net services presentation.
CQRS with dot net services presentation.CQRS with dot net services presentation.
CQRS with dot net services presentation.Knoldus Inc.
 

More from Knoldus Inc. (20)

Robusta -Tool Presentation (DevOps).pptx
Robusta -Tool Presentation (DevOps).pptxRobusta -Tool Presentation (DevOps).pptx
Robusta -Tool Presentation (DevOps).pptx
 
Optimizing Kubernetes using GOLDILOCKS.pptx
Optimizing Kubernetes using GOLDILOCKS.pptxOptimizing Kubernetes using GOLDILOCKS.pptx
Optimizing Kubernetes using GOLDILOCKS.pptx
 
Azure Function App Exception Handling.pptx
Azure Function App Exception Handling.pptxAzure Function App Exception Handling.pptx
Azure Function App Exception Handling.pptx
 
CQRS Design Pattern Presentation (Java).pptx
CQRS Design Pattern Presentation (Java).pptxCQRS Design Pattern Presentation (Java).pptx
CQRS Design Pattern Presentation (Java).pptx
 
ETL Observability: Azure to Snowflake Presentation
ETL Observability: Azure to Snowflake PresentationETL Observability: Azure to Snowflake Presentation
ETL Observability: Azure to Snowflake Presentation
 
Scripting with K6 - Beyond the Basics Presentation
Scripting with K6 - Beyond the Basics PresentationScripting with K6 - Beyond the Basics Presentation
Scripting with K6 - Beyond the Basics Presentation
 
Getting started with dotnet core Web APIs
Getting started with dotnet core Web APIsGetting started with dotnet core Web APIs
Getting started with dotnet core Web APIs
 
Introduction To Rust part II Presentation
Introduction To Rust part II PresentationIntroduction To Rust part II Presentation
Introduction To Rust part II Presentation
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Configuring Workflows & Validators in JIRA
Configuring Workflows & Validators in JIRAConfiguring Workflows & Validators in JIRA
Configuring Workflows & Validators in JIRA
 
Advanced Python (with dependency injection and hydra configuration packages)
Advanced Python (with dependency injection and hydra configuration packages)Advanced Python (with dependency injection and hydra configuration packages)
Advanced Python (with dependency injection and hydra configuration packages)
 
Azure Databricks (For Data Analytics).pptx
Azure Databricks (For Data Analytics).pptxAzure Databricks (For Data Analytics).pptx
Azure Databricks (For Data Analytics).pptx
 
The Power of Dependency Injection with Dagger 2 and Kotlin
The Power of Dependency Injection with Dagger 2 and KotlinThe Power of Dependency Injection with Dagger 2 and Kotlin
The Power of Dependency Injection with Dagger 2 and Kotlin
 
Data Engineering with Databricks Presentation
Data Engineering with Databricks PresentationData Engineering with Databricks Presentation
Data Engineering with Databricks Presentation
 
Databricks for MLOps Presentation (AI/ML)
Databricks for MLOps Presentation (AI/ML)Databricks for MLOps Presentation (AI/ML)
Databricks for MLOps Presentation (AI/ML)
 
NoOps - (Automate Ops) Presentation.pptx
NoOps - (Automate Ops) Presentation.pptxNoOps - (Automate Ops) Presentation.pptx
NoOps - (Automate Ops) Presentation.pptx
 
Mastering Distributed Performance Testing
Mastering Distributed Performance TestingMastering Distributed Performance Testing
Mastering Distributed Performance Testing
 
MLops on Vertex AI Presentation (AI/ML).pptx
MLops on Vertex AI Presentation (AI/ML).pptxMLops on Vertex AI Presentation (AI/ML).pptx
MLops on Vertex AI Presentation (AI/ML).pptx
 
Introduction to Ansible Tower Presentation
Introduction to Ansible Tower PresentationIntroduction to Ansible Tower Presentation
Introduction to Ansible Tower Presentation
 
CQRS with dot net services presentation.
CQRS with dot net services presentation.CQRS with dot net services presentation.
CQRS with dot net services presentation.
 

Recently uploaded

A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 

Recently uploaded (20)

A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 

Ionic 2 with Angular 2

  • 1. Hybrid Mobile Application Development Starting >> Ionic 2 & Angular 2 Hybrid Mobile Application Development Starting >> Ionic 2 & Angular 2 Nikhil Kumar | Software Consultant KnÓldus Software LLP Nikhil Kumar | Software Consultant KnÓldus Software LLP
  • 2. AgendaAgenda ● What is hybrid mobile application : The Concept ● What is IONIC Framework ● Ionic 1 vs Ionic 2: A Comparison ● Ionic 2 & Angular 2 ● Going Into IONIC world ● Designing in IONIC ● What is Apache Cordova ● Get Into Cordova ● Demo
  • 3. -Hybrid apps are like anyother app you'll find in your phone. -Hybrid mobile apps are built with a combination of web technologies like HTML, CSS, and JavaScript... From users view: It doesn't matter if wine tastes well. -The key difference is that hybrid apps are hosted inside a native application that utilizes a mobile platform’s WebView. -Today, most hybrid mobile applications leverage Apache Cordova. -Hybrid apps are like anyother app you'll find in your phone. -Hybrid mobile apps are built with a combination of web technologies like HTML, CSS, and JavaScript... From users view: It doesn't matter if wine tastes well. -The key difference is that hybrid apps are hosted inside a native application that utilizes a mobile platform’s WebView. -Today, most hybrid mobile applications leverage Apache Cordova. The Concept What – Why – Where – coming slides...
  • 4. Motivation for HybridMotivation for Hybrid Hybrid mobile applications provide a way for developers to re-use their existing skills in web development. WHY Hybrid mobile application development looks appealing to an organization’s. Why hire a developer for each platform when you can hire one developer and target all of them through HTML, CSS, and JavaScript? But Reality is???
  • 5. When should you build a hybrid mobile app? ● Which mobile platforms do you wish to target? ● Do you want to distribute your application via app stores? ● Are you looking to utilize the capabilities of the mobile device? ● What are the technical abilities of your development team? ● Does the one-size-fit-all approach of hybrid really live up to its promise? When should you build a hybrid mobile app? ● Which mobile platforms do you wish to target? ● Do you want to distribute your application via app stores? ● Are you looking to utilize the capabilities of the mobile device? ● What are the technical abilities of your development team? ● Does the one-size-fit-all approach of hybrid really live up to its promise?
  • 6. Examples of Hybrid ApplicationsExamples of Hybrid Applications Insta untappd yelp FitFyles http://showcase.ionicframework.com/
  • 7. Drifty: Ben Sperry and Max Lynch- 2012 Ionic: 2013 ­ Developers have created 500,000 apps ­ 15,000 stars on GitHub and has risen to become one of the top 40     most popular projects worldwide, notes Lynch.  Drifty: Ben Sperry and Max Lynch- 2012 Ionic: 2013 ­ Developers have created 500,000 apps ­ 15,000 stars on GitHub and has risen to become one of the top 40     most popular projects worldwide, notes Lynch.  Ionic : A Large scale overview Drifty, a company that has been making it possible for web developers to build  and publish native mobile applications that can then be published to the major  app stores, including Apple’s iTunes, Amazon’s Appstore and Google Play, has  now raised an additional $2.6 million led by Lightbank in Chicago.
  • 8. Ionic is the open source HTML5 Mobile Framework for building amazing, cross-platform hybrid native apps and mobile websites with HTML, JavaScript, and CSS. If you know how to build or design websites, you will be able to build a real mobile app with Ionic! Ionic is the open source HTML5 Mobile Framework for building amazing, cross-platform hybrid native apps and mobile websites with HTML, JavaScript, and CSS. If you know how to build or design websites, you will be able to build a real mobile app with Ionic! Ionic Framework
  • 9. Ionic 2 Vs Ionic1Ionic 2 Vs Ionic1 Ionic 2 is currently in beta and is being actively devleoped At a high level, Ionic 2 is very similar conceptually to Ionic 1. In Ionic 1 you have controllers that hold your logic, and templates that define your views. Ionic 2 is the same, except you have classes instead of controllers. There are some differences in the template syntax, and a lot of differences in the class structure. So, let’s jump into some specifics. Here’s 5 reasons why I think Ionic 2 is better than Ionic 1.So, let’s jump into some specifics. Here’s 5 reasons why I think Ionic 2 is better than Ionic 1.
  • 10. 1- Organisation and Structure1- Organisation and Structure home home.js home.html home.scss about about.js about.html about.scss Of course, you could organise your Ionic 1 projects like this as well, but it wasn’t really the default style that was used. It would require prior knowledge and motivation to achieve a sensible and scalable structure like this in Ionic 1. but in Ionic 2 you can’t really do that. 2- Tooling : it's simple but one of my favorate $ ionic generate page MyPage which can also be shortened to: $ ionic g page MyPage ● my-page my-page.js my-page.html my-page.scss
  • 11. 3- Navigation3- Navigation Navigation in Ionic 2 is very different to Ionic 1. In Ionic 1 navigation was defined using URLs, for example: .config(function($stateProvider, $urlRouterProvider) {.config(function($stateProvider, $urlRouterProvider) { $stateProvider$stateProvider .state('intro', {.state('intro', { url: '/',url: '/', templateUrl: 'templates/intro.html',templateUrl: 'templates/intro.html', controller: 'IntroCtrl'controller: 'IntroCtrl' })}) .state('main', {.state('main', { url: '/main',url: '/main', templateUrl: 'templates/main.html',templateUrl: 'templates/main.html', controller: 'MainCtrl'controller: 'MainCtrl' });}); $urlRouterProvider.otherwise("/");$urlRouterProvider.otherwise("/"); });}); and you would activate these states by linking to them, which is a very “web” approach. In Ionic 2 a more “native” approach is used where pages are “pushed” and “popped”: this.nav.push(MyPage);
  • 12. 4. It’s Just Javascript4. It’s Just Javascript In Angular 1 and Ionic 1 there was a lot of framework specific terminology and syntax to learn, but with Ionic 2 it’s basically just plain old (or rather new) Javascript. Everything you build is basically just ES6 (or TypeScript if you prefer) code, which isn’t specific to any framework. It’s just Javascript. The benefit of this is that everything you learn when building Ionic 2 application isn’t just going to help you build Ionic 2 applications, it’s also going to help you be a better Javascript developer in general. The skills you develop with Ionic 2 are going to be. able to be applied in a bunch of other places as ES6 eventually becomes the new “normal” Javascript.
  • 13. 5. Building5. Building In Ionic 2 almost all of your coding will be done inside of the app folder, which is completely separate to the www folders.
  • 14. Folder StructureFolder Structure If you’re not familiar with Ionic 2, it’s the latest incarnation of Ionic – “the world’s most popular cross-platform mobile development technology.”
  • 15. Summary of comparisonSummary of comparison Without a doubt, I would recommend everybody switch to Ionic 2 - If you’re completely new to Ionic, start with Ionic 2 - If you’re using Ionic 1 for existing projects, stick with Ionic 1 and upgrade it later - If you’re using Ionic 1 and starting a new project, use Ionic 1 if it is a mission critical or complex application
  • 17. Ionic 1Ionic 1 - npm install -g ionic - ionic start myproject - adding platform - adding plugings etc Building for iOSBuilding for iOS -ionic platform add ios Building for AndroidBuilding for Android - ionic platform add android Ionic 1Ionic 1 - npm install -g ionic - ionic start myproject - adding platform - adding plugings etc Building for iOSBuilding for iOS -ionic platform add ios Building for AndroidBuilding for Android - ionic platform add android Quick Start The default templates name are below: ● tabs (Default) ● sidemenu ● maps ● salesforce ● tests ● complex-list ● blank Ionic 2Ionic 2 - npm install -g ionic@beta - ionic start cutePuppyPics –v2 --ts - cd cutePuppyPics - ionic serve Adding platforms is same... Ionic 2Ionic 2 - npm install -g ionic@beta - ionic start cutePuppyPics –v2 --ts - cd cutePuppyPics - ionic serve Adding platforms is same...
  • 18. IONIC CREATORIONIC CREATORIONIC CREATORIONIC CREATOR Ionic Designing Magic & Cloud IONIC APPSIONIC APPS
  • 19. Today, most hybrid mobile applications leverage Apache Cordova. Ionic builds on top of Cordova Apache Cordova takes care of packaging your HTML5 app as a native app that can run in Android, iOS, and other platforms. But if you simply take an existing website and package it as a mobile app the result will look nothing like a native app: users will notice very quickly that the styles and behaviours are pretty different. Today, most hybrid mobile applications leverage Apache Cordova. Ionic builds on top of Cordova Apache Cordova takes care of packaging your HTML5 app as a native app that can run in Android, iOS, and other platforms. But if you simply take an existing website and package it as a mobile app the result will look nothing like a native app: users will notice very quickly that the styles and behaviours are pretty different. Apache Cordova
  • 20. ngCordova comes with over 70 native Cordova plugins that you can easily add to your Angular Cordova apps. Choose the plugin you’d like to use from the menu, which will have information on which plugin you need to install and an example of how to use it in your Angular code. Checkout : The game begins... ngCordova comes with over 70 native Cordova plugins that you can easily add to your Angular Cordova apps. Choose the plugin you’d like to use from the menu, which will have information on which plugin you need to install and an example of how to use it in your Angular code. Checkout : The game begins... Into Cordova
  • 21. References ● Knoldus Blog [Offcial] ● Telerik Documentation [Official] ● Cordova Documentation [Official] ● Ionic Framework Documentation [Official]

Editor's Notes

  1. (You can think of the WebView as a chromeless browser window that’s typically configured to run fullscreen.) This enables them to access device capabilities such as the accelerometer, camera, contacts, and more. These are capabilities that are often restricted to access from inside mobile browsers.
  2. Today, Ionic powers over 1.5 million mobile apps and websites (and even some desktop apps!), built by small startups up to Fortune 50 companies. Ionic developers come from hundreds of countries around the world
  3. which is completely separate to the www folder which contains the code that is actually served to the browser. When you run an Ionic 2 application, the code in the app folder is automatically transpiled and bundled into a single Javascript file which is copied into the www folder and served. For the most part, you don’t have to touch your index.html file at all. I prefer this to Ionic 1 where you would have to import all of the Javascript files you’ve created into your index.html file, and this also meant that your final built application would contain bunch of different Javascript files (your source code). Although the Ionic 2 bundled code isn’t minified or obfuscated automatically, I like that by default the built application won’t contain the source code directly (just the single, transpiled Javascript file, which looks pretty funky and hard to reverse engineer). This does however make debugging a little trickier, which is about the only thing I prefer about Ionic 1 so far.
  4. accelerometer, camera, contacts, and more Apache Cordova originally started as a project named PhoneGap. These days, PhoneGap exists as a distribution of Apache Cordova that includes additional tools.
  5. Piyush Mishra