SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler offline
Loiane Groner
github.com/loiane
loiane.com
loiane.training
• 10+ XP TI
• Java, JavaScript, Sencha,
Phonegap/Ionic
• Blog: http://loiane.com
• Cursos: http://loiane.training
• Meus livros:
Seu Código
Web View Nativa (Browser)
Seu Código
APIs Nativas
Web View Nativa (Browser)
Seu Código
App Nativa: .apk, .ipa, etc
APIs Nativas
Web View Nativa (Browser)
Seu Código
IONIC 1
▸ Criado em 2013
IONIC 1
▸ Criado em 2013
▸ Bootstrap para apps mobile
IONIC 1
▸ Criado em 2013
▸ Bootstrap para apps mobile
▸ Fornece componentes e diretivas que parecem nativos
IONIC 1
▸ Criado em 2013
▸ Bootstrap para apps mobile
▸ Fornece componentes e diretivas que parecem nativos
▸ Organização de código com Angular 1
IONIC 1
▸ Criado em 2013
▸ Bootstrap para apps mobile
▸ Fornece componentes e diretivas que parecem nativos
▸ Organização de código com Angular 1
▸ Projeto base Cordova (Phonegap): acesso nativo
através de plugins e geração de executável para app
stores
IONIC 1
▸ Criado em 2013
▸ Bootstrap para apps mobile
▸ Fornece componentes e diretivas que parecem nativos
▸ Organização de código com Angular 1
▸ Projeto base Cordova (Phonegap): acesso nativo
através de plugins e geração de executável para app
stores
▸ Mais de 1 milhão de apps publicadas
IONIC 1
▸ Criado em 2013
▸ Bootstrap para apps mobile
▸ Fornece componentes e diretivas que parecem nativos
▸ Organização de código com Angular 1
▸ Projeto base Cordova (Phonegap): acesso nativo
através de plugins e geração de executável para app
stores
▸ Mais de 1 milhão de apps publicadas
▸ Suporte para iOS e Android
IONIC 2
▸Reescrita do Ionic 1
IONIC 2
▸Reescrita do Ionic 1
▸Organização do código em Angular 2
IONIC 2
▸Reescrita do Ionic 1
▸Organização do código em Angular 2
▸Mesmos componentes do Ionic 1
IONIC 2
▸Reescrita do Ionic 1
▸Organização do código em Angular 2
▸Mesmos componentes do Ionic 1
▸Experiência mais próximo do nativo
IONIC 2
▸Reescrita do Ionic 1
▸Organização do código em Angular 2
▸Mesmos componentes do Ionic 1
▸Experiência mais próximo do nativo
▸Melhoria de performance
IONIC 2
▸Reescrita do Ionic 1
▸Organização do código em Angular 2
▸Mesmos componentes do Ionic 1
▸Experiência mais próximo do nativo
▸Melhoria de performance
▸Suporte para iOS, Android e Windows Phone
IONIC 2
▸Reescrita do Ionic 1
▸Organização do código em Angular 2
▸Mesmos componentes do Ionic 1
▸Experiência mais próximo do nativo
▸Melhoria de performance
▸Suporte para iOS, Android e Windows Phone
▸Atualmente em Beta
IONIC 2
▸ Dependência do Angular2 + TypeScript
IONIC 2
▸ Dependência do Angular2 + TypeScript
▸ ES6 (ES2015) / ES7 (ES2016)
IONIC 2
▸ Dependência do Angular2 + TypeScript
▸ ES6 (ES2015) / ES7 (ES2016)
▸ Ionic Native entra no lugar no ngCordova
IONIC 2
▸ Dependência do Angular2 + TypeScript
▸ ES6 (ES2015) / ES7 (ES2016)
▸ Ionic Native entra no lugar no ngCordova
▸ Sem roteamento por padrão (mas pode usar o
ng2 router ou ui-router2)
IONIC 2
▸ Dependência do Angular2 + TypeScript
▸ ES6 (ES2015) / ES7 (ES2016)
▸ Ionic Native entra no lugar no ngCordova
▸ Sem roteamento por padrão (mas pode usar o
ng2 router ou ui-router2)
▸ Navegação por stack (pilha)
STACK / DEPENDÊNCIAS
ANGULAR 2
▸ Baseado em Componentes
▸ Decorators
▸ Usa imports do ES2015 (ES6)
▸ TypeScript
▸ RIP Controllers, Scope
COMPONENTES
▸ Action
Sheets
▸ Alerts
▸ Buttons
▸ Cards
▸ Icons
▸ Lists
▸ Search Bar
▸ Tabs
▸ Alert
▸ Modal
▸ IonRefresher
▸ Keyboard
<!-- Ionic 1 -->
<button class="button">Default</button>
<button class="button button-light">button-light</button>
<button class="button button-stable">button-stable</button>
<button class="button button-positive">button-positive</button>
<!-- Ionic 1 -->
<button class="button">Default</button>
<button class="button button-light">button-light</button>
<button class="button button-stable">button-stable</button>
<button class="button button-positive">button-positive</button>
<!-- Ionic 2 -->
<button light>Light</button>
<button>Primary</button>
<button secondary>Secondary</button>
<button danger>Danger</button>
<button dark>Dark</button>
<div class="tabs">
<a class="tab-item">
Home
</a>
<a class="tab-item">
Favorites
</a>
<a class="tab-item">
Settings
</a>
</div>
@Component({
template: `
<ion-tabs>
<ion-tab tabIcon="heart" [root]="tab1"></ion-tab>
<ion-tab tabIcon="star" [root]="tab2"></ion-tab>
</ion-tabs>`
})
class MyApp {
constructor() {
this.tab1 = Tab1;
this.tab2 = Tab2;
}
}
ionicBootstrap(MyApp);
@Component({
template: `
<ion-tabs>
<ion-tab tabIcon="heart" [root]="tab1"></ion-tab>
<ion-tab tabIcon="star" [root]="tab2"></ion-tab>
</ion-tabs>`
})
class MyApp {
constructor() {
this.tab1 = Tab1;
this.tab2 = Tab2;
}
}
ionicBootstrap(MyApp);
@Component({
template: `
<ion-navbar *navbar>
<ion-title>Heart</ion-title>
</ion-navbar>
<ion-content>Tab 1</ion-content>`
})
class Tab1 {}
@Component({
template: `
<ion-navbar *navbar>
<ion-title>Star</ion-title>
</ion-navbar>
<ion-content>Tab 2</ion-content>`
})
class Tab2 {}
IONIC NATIVE
▸ Plugins populares do Cordova distribuído na lib do
Ionic:
▸ Camera
▸ Bluetooth
▸ SqLite
▸ Facebook
▸ Push
▸ entre outros
NAVEGAÇÃO NO APP
//Ionic 1
var app = angular.module('myApp', ['ionic']);
app.config(function($stateProvider) {
$stateProvider
.state('index', {
url: '/',
templateUrl: 'home.html'
})
.state('music', {
url: '/music',
templateUrl: 'music.html'
});
});
//Ionic 2
@Component({
template: `
<ion-navbar *navbar>
<ion-title>Login</ion-title>
</ion-navbar>
<ion-content>
<button (click)="goToOtherPage()">
Go to OtherPage
</button>
</ion-content>`
})
export class StartPage {
constructor(private nav: NavController) {}
goToOtherPage(){
this.nav.push(OtherPage);
}
}
@Component({
template: `
<ion-content>
<button (click)="goBack()">
There's no place like home
</button>
</ion-content>`
})
class OtherPage {
constructor(private nav: NavController)
goBack() {
this.nav.pop();
}
//Ionic 2
@Component({
template: `
<ion-navbar *navbar>
<ion-title>Login</ion-title>
</ion-navbar>
<ion-content>
<button (click)="goToOtherPage()">
Go to OtherPage
</button>
</ion-content>`
})
export class StartPage {
constructor(private nav: NavController) {}
goToOtherPage(){
this.nav.push(OtherPage);
}
}
@Component({
template: `
<ion-content>
<button (click)="goBack()">
There's no place like home
</button>
</ion-content>`
})
class OtherPage {
constructor(private nav: NavController)
goBack() {
this.nav.pop();
}
CUSTOMIZAÇÃO CSS
▸ Baseado em Componente
▸ Baseado na App
▸ Baseado no Sistema
Operacional
INSTALAÇÃO E USO
npm install -g ionic@beta
ionic start minhaApp --v2
DEMO
https://github.com/loiane/ionic-tdcjs-app
https://github.com/IonicBrazil/ionic2-docs
http://loiane.com
facebook.com/loianegroner
twitter.com/loiane
https://github.com/loiane
youtube.com/loianegroner
http://loiane.training

Mais conteúdo relacionado

Mais procurados

Devfest Cerrado: Angular 2
Devfest Cerrado: Angular 2 Devfest Cerrado: Angular 2
Devfest Cerrado: Angular 2 Loiane Groner
 
Mini curso: Ionic Framework
Mini curso: Ionic FrameworkMini curso: Ionic Framework
Mini curso: Ionic FrameworkLoiane Groner
 
Angular 2 em 60 minutos
Angular 2 em 60 minutosAngular 2 em 60 minutos
Angular 2 em 60 minutosLoiane Groner
 
Ionic Framework - Parte 1 - Iniciando um Projeto mais Robusto
Ionic Framework - Parte 1 - Iniciando um Projeto mais RobustoIonic Framework - Parte 1 - Iniciando um Projeto mais Robusto
Ionic Framework - Parte 1 - Iniciando um Projeto mais RobustoAlamo Saravali
 
FAESA Computação Móvel: Introducao a Phonegap e Cordova
FAESA Computação Móvel: Introducao a Phonegap e CordovaFAESA Computação Móvel: Introducao a Phonegap e Cordova
FAESA Computação Móvel: Introducao a Phonegap e CordovaLoiane Groner
 
Usando PushWoosh com Ionic Framework
Usando PushWoosh com Ionic FrameworkUsando PushWoosh com Ionic Framework
Usando PushWoosh com Ionic FrameworkEmerson Thompson
 
Congresso TI 2015: Introducao ao Phonegap (Cordova)
Congresso TI 2015: Introducao ao Phonegap (Cordova)Congresso TI 2015: Introducao ao Phonegap (Cordova)
Congresso TI 2015: Introducao ao Phonegap (Cordova)Loiane Groner
 
Sinesio bittencourt - Ionic framework {Aplicações móveis híbridas}
Sinesio bittencourt - Ionic framework  {Aplicações móveis híbridas}Sinesio bittencourt - Ionic framework  {Aplicações móveis híbridas}
Sinesio bittencourt - Ionic framework {Aplicações móveis híbridas}Sinesio Bittencourt
 
Mini curso - Ionic Framework
Mini curso - Ionic FrameworkMini curso - Ionic Framework
Mini curso - Ionic Frameworkjuniorschroder
 
Ionic Framework - Configuração do ambiente e a criação da primeira APP
Ionic Framework - Configuração do ambiente e a criação da primeira APPIonic Framework - Configuração do ambiente e a criação da primeira APP
Ionic Framework - Configuração do ambiente e a criação da primeira APPFabio Godoy
 
Flame Graphs, uma (boa) alternativa para profiling de apps Java
Flame Graphs, uma (boa) alternativa para profiling de apps JavaFlame Graphs, uma (boa) alternativa para profiling de apps Java
Flame Graphs, uma (boa) alternativa para profiling de apps JavaPT.JUG
 
Hybrid app phonegap angular ionic
Hybrid app   phonegap angular ionicHybrid app   phonegap angular ionic
Hybrid app phonegap angular ionicJoelmir Ribacki
 

Mais procurados (18)

Devfest Cerrado: Angular 2
Devfest Cerrado: Angular 2 Devfest Cerrado: Angular 2
Devfest Cerrado: Angular 2
 
Mini curso: Ionic Framework
Mini curso: Ionic FrameworkMini curso: Ionic Framework
Mini curso: Ionic Framework
 
Angular 2 em 60 minutos
Angular 2 em 60 minutosAngular 2 em 60 minutos
Angular 2 em 60 minutos
 
Angular 4 Ionic 3 Cordova 5
Angular 4 Ionic 3 Cordova 5Angular 4 Ionic 3 Cordova 5
Angular 4 Ionic 3 Cordova 5
 
Angular 2
Angular 2Angular 2
Angular 2
 
Ionic Framework - Parte 1 - Iniciando um Projeto mais Robusto
Ionic Framework - Parte 1 - Iniciando um Projeto mais RobustoIonic Framework - Parte 1 - Iniciando um Projeto mais Robusto
Ionic Framework - Parte 1 - Iniciando um Projeto mais Robusto
 
FAESA Computação Móvel: Introducao a Phonegap e Cordova
FAESA Computação Móvel: Introducao a Phonegap e CordovaFAESA Computação Móvel: Introducao a Phonegap e Cordova
FAESA Computação Móvel: Introducao a Phonegap e Cordova
 
Usando PushWoosh com Ionic Framework
Usando PushWoosh com Ionic FrameworkUsando PushWoosh com Ionic Framework
Usando PushWoosh com Ionic Framework
 
React Native - JSday
React Native - JSdayReact Native - JSday
React Native - JSday
 
Angular 4 - Introdução
Angular 4 - IntroduçãoAngular 4 - Introdução
Angular 4 - Introdução
 
Ionic Framework
Ionic FrameworkIonic Framework
Ionic Framework
 
Congresso TI 2015: Introducao ao Phonegap (Cordova)
Congresso TI 2015: Introducao ao Phonegap (Cordova)Congresso TI 2015: Introducao ao Phonegap (Cordova)
Congresso TI 2015: Introducao ao Phonegap (Cordova)
 
Sinesio bittencourt - Ionic framework {Aplicações móveis híbridas}
Sinesio bittencourt - Ionic framework  {Aplicações móveis híbridas}Sinesio bittencourt - Ionic framework  {Aplicações móveis híbridas}
Sinesio bittencourt - Ionic framework {Aplicações móveis híbridas}
 
Mini curso - Ionic Framework
Mini curso - Ionic FrameworkMini curso - Ionic Framework
Mini curso - Ionic Framework
 
Ionic Framework - Configuração do ambiente e a criação da primeira APP
Ionic Framework - Configuração do ambiente e a criação da primeira APPIonic Framework - Configuração do ambiente e a criação da primeira APP
Ionic Framework - Configuração do ambiente e a criação da primeira APP
 
Angular 2
Angular 2Angular 2
Angular 2
 
Flame Graphs, uma (boa) alternativa para profiling de apps Java
Flame Graphs, uma (boa) alternativa para profiling de apps JavaFlame Graphs, uma (boa) alternativa para profiling de apps Java
Flame Graphs, uma (boa) alternativa para profiling de apps Java
 
Hybrid app phonegap angular ionic
Hybrid app   phonegap angular ionicHybrid app   phonegap angular ionic
Hybrid app phonegap angular ionic
 

Destaque

Tutorial do app e o divulgador
Tutorial do app e o divulgadorTutorial do app e o divulgador
Tutorial do app e o divulgadorAdeilton R
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcionaltdc-globalcode
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcionaltdc-globalcode
 
Criando Desktop Apps com Electron
Criando Desktop Apps com ElectronCriando Desktop Apps com Electron
Criando Desktop Apps com ElectronEmerson Thompson
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcionaltdc-globalcode
 
Angular 2 overview in 60 minutes
Angular 2 overview in 60 minutesAngular 2 overview in 60 minutes
Angular 2 overview in 60 minutesLoiane Groner
 
TDC 2016 SP - 5 libs de teste JavaScript que você deveria conhecer
TDC 2016 SP - 5 libs de teste JavaScript que você deveria conhecerTDC 2016 SP - 5 libs de teste JavaScript que você deveria conhecer
TDC 2016 SP - 5 libs de teste JavaScript que você deveria conhecerStefan Teixeira
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-globalcode
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-globalcode
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-globalcode
 
TDC2016SP - Dinâmica e Facilitações
TDC2016SP - Dinâmica e FacilitaçõesTDC2016SP - Dinâmica e Facilitações
TDC2016SP - Dinâmica e Facilitaçõestdc-globalcode
 
TDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDataTDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDatatdc-globalcode
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcionaltdc-globalcode
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcionaltdc-globalcode
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-globalcode
 
TDC2016SP - Dinâmica e Facilitações
TDC2016SP - Dinâmica e FacilitaçõesTDC2016SP - Dinâmica e Facilitações
TDC2016SP - Dinâmica e Facilitaçõestdc-globalcode
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-globalcode
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-globalcode
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-globalcode
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-globalcode
 

Destaque (20)

Tutorial do app e o divulgador
Tutorial do app e o divulgadorTutorial do app e o divulgador
Tutorial do app e o divulgador
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcional
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcional
 
Criando Desktop Apps com Electron
Criando Desktop Apps com ElectronCriando Desktop Apps com Electron
Criando Desktop Apps com Electron
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcional
 
Angular 2 overview in 60 minutes
Angular 2 overview in 60 minutesAngular 2 overview in 60 minutes
Angular 2 overview in 60 minutes
 
TDC 2016 SP - 5 libs de teste JavaScript que você deveria conhecer
TDC 2016 SP - 5 libs de teste JavaScript que você deveria conhecerTDC 2016 SP - 5 libs de teste JavaScript que você deveria conhecer
TDC 2016 SP - 5 libs de teste JavaScript que você deveria conhecer
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TDC2016SP - Dinâmica e Facilitações
TDC2016SP - Dinâmica e FacilitaçõesTDC2016SP - Dinâmica e Facilitações
TDC2016SP - Dinâmica e Facilitações
 
TDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDataTDC2016SP - Trilha BigData
TDC2016SP - Trilha BigData
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcional
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcional
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TDC2016SP - Dinâmica e Facilitações
TDC2016SP - Dinâmica e FacilitaçõesTDC2016SP - Dinâmica e Facilitações
TDC2016SP - Dinâmica e Facilitações
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 

Semelhante a Ionic Framework para apps híbridos

Integrando WordPress com Ionic 3.
Integrando WordPress com Ionic 3.Integrando WordPress com Ionic 3.
Integrando WordPress com Ionic 3.Sinesio Bittencourt
 
Ionic 2 como ferramenta para desenvolvimento móvel
Ionic 2 como ferramenta para desenvolvimento móvelIonic 2 como ferramenta para desenvolvimento móvel
Ionic 2 como ferramenta para desenvolvimento móvelGustavo Costa
 
Ionic framework V2/3 {Aplicações móveis híbridas}
Ionic framework V2/3 {Aplicações móveis híbridas} Ionic framework V2/3 {Aplicações móveis híbridas}
Ionic framework V2/3 {Aplicações móveis híbridas} Sinesio Bittencourt
 
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...Marcelo Marques Gonçalves
 
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e IonicCurso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e IonicFelipe Blini
 
Palestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressPalestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressRômulo Zoch
 
Ionic 2/3 + Firebase
Ionic 2/3 + FirebaseIonic 2/3 + Firebase
Ionic 2/3 + FirebaseBruno Catão
 
Iniciando o desenvolvimento de aplicativos híbridos com VS Code + Ionic + Typ...
Iniciando o desenvolvimento de aplicativos híbridos com VS Code + Ionic + Typ...Iniciando o desenvolvimento de aplicativos híbridos com VS Code + Ionic + Typ...
Iniciando o desenvolvimento de aplicativos híbridos com VS Code + Ionic + Typ...Milton Camara Gomes
 
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Wennder Santos
 
Hello world hybrid apps oportunidades com ionic framework v2
Hello world hybrid apps  oportunidades com ionic framework v2Hello world hybrid apps  oportunidades com ionic framework v2
Hello world hybrid apps oportunidades com ionic framework v2Ricardo Netto - MCP, MSP
 
TDC2016POA | Trilha Web - Front-end that scales
TDC2016POA | Trilha Web - Front-end that scalesTDC2016POA | Trilha Web - Front-end that scales
TDC2016POA | Trilha Web - Front-end that scalestdc-globalcode
 
Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Erisvaldo Junior
 
Curso Sencha Touch 2 - Aula 04: Curso Sencha Touch 2 - Aula 03
Curso Sencha Touch 2 - Aula 04: Curso Sencha Touch 2 - Aula 03Curso Sencha Touch 2 - Aula 04: Curso Sencha Touch 2 - Aula 03
Curso Sencha Touch 2 - Aula 04: Curso Sencha Touch 2 - Aula 03Loiane Groner
 
Do código à produção com Gitlab (mundo python)
Do código à produção com Gitlab (mundo python)Do código à produção com Gitlab (mundo python)
Do código à produção com Gitlab (mundo python)Better Developer
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDeviceRicardo Rufino
 
Phonegap autorefresh - app direto no celular sem emulador
Phonegap autorefresh - app direto no celular sem emuladorPhonegap autorefresh - app direto no celular sem emulador
Phonegap autorefresh - app direto no celular sem emuladorAfonso Fernandes
 
Minicurso sobre AndroidAnnotations, GreenDAO, EventBus e Crouton
Minicurso sobre AndroidAnnotations, GreenDAO, EventBus e CroutonMinicurso sobre AndroidAnnotations, GreenDAO, EventBus e Crouton
Minicurso sobre AndroidAnnotations, GreenDAO, EventBus e CroutonRicardo Longa
 

Semelhante a Ionic Framework para apps híbridos (20)

Ionic 3
Ionic 3Ionic 3
Ionic 3
 
Integrando WordPress com Ionic 3.
Integrando WordPress com Ionic 3.Integrando WordPress com Ionic 3.
Integrando WordPress com Ionic 3.
 
Ionic 2 como ferramenta para desenvolvimento móvel
Ionic 2 como ferramenta para desenvolvimento móvelIonic 2 como ferramenta para desenvolvimento móvel
Ionic 2 como ferramenta para desenvolvimento móvel
 
Ionic framework V2/3 {Aplicações móveis híbridas}
Ionic framework V2/3 {Aplicações móveis híbridas} Ionic framework V2/3 {Aplicações móveis híbridas}
Ionic framework V2/3 {Aplicações móveis híbridas}
 
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...
 
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e IonicCurso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
 
Setup.docx
Setup.docxSetup.docx
Setup.docx
 
Palestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressPalestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPress
 
Ionic 2/3 + Firebase
Ionic 2/3 + FirebaseIonic 2/3 + Firebase
Ionic 2/3 + Firebase
 
Iniciando o desenvolvimento de aplicativos híbridos com VS Code + Ionic + Typ...
Iniciando o desenvolvimento de aplicativos híbridos com VS Code + Ionic + Typ...Iniciando o desenvolvimento de aplicativos híbridos com VS Code + Ionic + Typ...
Iniciando o desenvolvimento de aplicativos híbridos com VS Code + Ionic + Typ...
 
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
 
Hello world hybrid apps oportunidades com ionic framework v2
Hello world hybrid apps  oportunidades com ionic framework v2Hello world hybrid apps  oportunidades com ionic framework v2
Hello world hybrid apps oportunidades com ionic framework v2
 
TDC2016POA | Trilha Web - Front-end that scales
TDC2016POA | Trilha Web - Front-end that scalesTDC2016POA | Trilha Web - Front-end that scales
TDC2016POA | Trilha Web - Front-end that scales
 
Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2
 
Curso Sencha Touch 2 - Aula 04: Curso Sencha Touch 2 - Aula 03
Curso Sencha Touch 2 - Aula 04: Curso Sencha Touch 2 - Aula 03Curso Sencha Touch 2 - Aula 04: Curso Sencha Touch 2 - Aula 03
Curso Sencha Touch 2 - Aula 04: Curso Sencha Touch 2 - Aula 03
 
Android fest
Android festAndroid fest
Android fest
 
Do código à produção com Gitlab (mundo python)
Do código à produção com Gitlab (mundo python)Do código à produção com Gitlab (mundo python)
Do código à produção com Gitlab (mundo python)
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDevice
 
Phonegap autorefresh - app direto no celular sem emulador
Phonegap autorefresh - app direto no celular sem emuladorPhonegap autorefresh - app direto no celular sem emulador
Phonegap autorefresh - app direto no celular sem emulador
 
Minicurso sobre AndroidAnnotations, GreenDAO, EventBus e Crouton
Minicurso sobre AndroidAnnotations, GreenDAO, EventBus e CroutonMinicurso sobre AndroidAnnotations, GreenDAO, EventBus e Crouton
Minicurso sobre AndroidAnnotations, GreenDAO, EventBus e Crouton
 

Ionic Framework para apps híbridos

  • 2. • 10+ XP TI • Java, JavaScript, Sencha, Phonegap/Ionic • Blog: http://loiane.com • Cursos: http://loiane.training
  • 5. Web View Nativa (Browser) Seu Código
  • 6. APIs Nativas Web View Nativa (Browser) Seu Código
  • 7. App Nativa: .apk, .ipa, etc APIs Nativas Web View Nativa (Browser) Seu Código
  • 9. IONIC 1 ▸ Criado em 2013 ▸ Bootstrap para apps mobile
  • 10. IONIC 1 ▸ Criado em 2013 ▸ Bootstrap para apps mobile ▸ Fornece componentes e diretivas que parecem nativos
  • 11. IONIC 1 ▸ Criado em 2013 ▸ Bootstrap para apps mobile ▸ Fornece componentes e diretivas que parecem nativos ▸ Organização de código com Angular 1
  • 12. IONIC 1 ▸ Criado em 2013 ▸ Bootstrap para apps mobile ▸ Fornece componentes e diretivas que parecem nativos ▸ Organização de código com Angular 1 ▸ Projeto base Cordova (Phonegap): acesso nativo através de plugins e geração de executável para app stores
  • 13. IONIC 1 ▸ Criado em 2013 ▸ Bootstrap para apps mobile ▸ Fornece componentes e diretivas que parecem nativos ▸ Organização de código com Angular 1 ▸ Projeto base Cordova (Phonegap): acesso nativo através de plugins e geração de executável para app stores ▸ Mais de 1 milhão de apps publicadas
  • 14. IONIC 1 ▸ Criado em 2013 ▸ Bootstrap para apps mobile ▸ Fornece componentes e diretivas que parecem nativos ▸ Organização de código com Angular 1 ▸ Projeto base Cordova (Phonegap): acesso nativo através de plugins e geração de executável para app stores ▸ Mais de 1 milhão de apps publicadas ▸ Suporte para iOS e Android
  • 16. IONIC 2 ▸Reescrita do Ionic 1 ▸Organização do código em Angular 2
  • 17. IONIC 2 ▸Reescrita do Ionic 1 ▸Organização do código em Angular 2 ▸Mesmos componentes do Ionic 1
  • 18. IONIC 2 ▸Reescrita do Ionic 1 ▸Organização do código em Angular 2 ▸Mesmos componentes do Ionic 1 ▸Experiência mais próximo do nativo
  • 19. IONIC 2 ▸Reescrita do Ionic 1 ▸Organização do código em Angular 2 ▸Mesmos componentes do Ionic 1 ▸Experiência mais próximo do nativo ▸Melhoria de performance
  • 20. IONIC 2 ▸Reescrita do Ionic 1 ▸Organização do código em Angular 2 ▸Mesmos componentes do Ionic 1 ▸Experiência mais próximo do nativo ▸Melhoria de performance ▸Suporte para iOS, Android e Windows Phone
  • 21. IONIC 2 ▸Reescrita do Ionic 1 ▸Organização do código em Angular 2 ▸Mesmos componentes do Ionic 1 ▸Experiência mais próximo do nativo ▸Melhoria de performance ▸Suporte para iOS, Android e Windows Phone ▸Atualmente em Beta
  • 22.
  • 23. IONIC 2 ▸ Dependência do Angular2 + TypeScript
  • 24. IONIC 2 ▸ Dependência do Angular2 + TypeScript ▸ ES6 (ES2015) / ES7 (ES2016)
  • 25. IONIC 2 ▸ Dependência do Angular2 + TypeScript ▸ ES6 (ES2015) / ES7 (ES2016) ▸ Ionic Native entra no lugar no ngCordova
  • 26. IONIC 2 ▸ Dependência do Angular2 + TypeScript ▸ ES6 (ES2015) / ES7 (ES2016) ▸ Ionic Native entra no lugar no ngCordova ▸ Sem roteamento por padrão (mas pode usar o ng2 router ou ui-router2)
  • 27. IONIC 2 ▸ Dependência do Angular2 + TypeScript ▸ ES6 (ES2015) / ES7 (ES2016) ▸ Ionic Native entra no lugar no ngCordova ▸ Sem roteamento por padrão (mas pode usar o ng2 router ou ui-router2) ▸ Navegação por stack (pilha)
  • 29. ANGULAR 2 ▸ Baseado em Componentes ▸ Decorators ▸ Usa imports do ES2015 (ES6) ▸ TypeScript ▸ RIP Controllers, Scope
  • 30.
  • 31. COMPONENTES ▸ Action Sheets ▸ Alerts ▸ Buttons ▸ Cards ▸ Icons ▸ Lists ▸ Search Bar ▸ Tabs ▸ Alert ▸ Modal ▸ IonRefresher ▸ Keyboard
  • 32. <!-- Ionic 1 --> <button class="button">Default</button> <button class="button button-light">button-light</button> <button class="button button-stable">button-stable</button> <button class="button button-positive">button-positive</button>
  • 33. <!-- Ionic 1 --> <button class="button">Default</button> <button class="button button-light">button-light</button> <button class="button button-stable">button-stable</button> <button class="button button-positive">button-positive</button> <!-- Ionic 2 --> <button light>Light</button> <button>Primary</button> <button secondary>Secondary</button> <button danger>Danger</button> <button dark>Dark</button>
  • 34. <div class="tabs"> <a class="tab-item"> Home </a> <a class="tab-item"> Favorites </a> <a class="tab-item"> Settings </a> </div>
  • 35. @Component({ template: ` <ion-tabs> <ion-tab tabIcon="heart" [root]="tab1"></ion-tab> <ion-tab tabIcon="star" [root]="tab2"></ion-tab> </ion-tabs>` }) class MyApp { constructor() { this.tab1 = Tab1; this.tab2 = Tab2; } } ionicBootstrap(MyApp);
  • 36. @Component({ template: ` <ion-tabs> <ion-tab tabIcon="heart" [root]="tab1"></ion-tab> <ion-tab tabIcon="star" [root]="tab2"></ion-tab> </ion-tabs>` }) class MyApp { constructor() { this.tab1 = Tab1; this.tab2 = Tab2; } } ionicBootstrap(MyApp); @Component({ template: ` <ion-navbar *navbar> <ion-title>Heart</ion-title> </ion-navbar> <ion-content>Tab 1</ion-content>` }) class Tab1 {} @Component({ template: ` <ion-navbar *navbar> <ion-title>Star</ion-title> </ion-navbar> <ion-content>Tab 2</ion-content>` }) class Tab2 {}
  • 37. IONIC NATIVE ▸ Plugins populares do Cordova distribuído na lib do Ionic: ▸ Camera ▸ Bluetooth ▸ SqLite ▸ Facebook ▸ Push ▸ entre outros
  • 39. //Ionic 1 var app = angular.module('myApp', ['ionic']); app.config(function($stateProvider) { $stateProvider .state('index', { url: '/', templateUrl: 'home.html' }) .state('music', { url: '/music', templateUrl: 'music.html' }); });
  • 40. //Ionic 2 @Component({ template: ` <ion-navbar *navbar> <ion-title>Login</ion-title> </ion-navbar> <ion-content> <button (click)="goToOtherPage()"> Go to OtherPage </button> </ion-content>` }) export class StartPage { constructor(private nav: NavController) {} goToOtherPage(){ this.nav.push(OtherPage); } } @Component({ template: ` <ion-content> <button (click)="goBack()"> There's no place like home </button> </ion-content>` }) class OtherPage { constructor(private nav: NavController) goBack() { this.nav.pop(); }
  • 41. //Ionic 2 @Component({ template: ` <ion-navbar *navbar> <ion-title>Login</ion-title> </ion-navbar> <ion-content> <button (click)="goToOtherPage()"> Go to OtherPage </button> </ion-content>` }) export class StartPage { constructor(private nav: NavController) {} goToOtherPage(){ this.nav.push(OtherPage); } } @Component({ template: ` <ion-content> <button (click)="goBack()"> There's no place like home </button> </ion-content>` }) class OtherPage { constructor(private nav: NavController) goBack() { this.nav.pop(); }
  • 42. CUSTOMIZAÇÃO CSS ▸ Baseado em Componente ▸ Baseado na App ▸ Baseado no Sistema Operacional
  • 43. INSTALAÇÃO E USO npm install -g ionic@beta ionic start minhaApp --v2
  • 44.
  • 45. DEMO
  • 46.
  • 47.
  • 48.
  • 49.
  • 52.