Loiane Groner
@loiane
github.com/loiane
loiane.com
loiane.training
2
• 10+ XP TI
• Java, JavaScript, Sencha, Angular,
Phonegap/Ionic
• Blog: http://loiane.com
• Cursos: http://loiane.training
• Meus livros:
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 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
▸ Suporte para Windows Phone 8 via template especial
Visual Studio
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óxima 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óxima 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óxima do nativo
▸Melhoria de performance
▸Suporte para iOS, Android e Windows
Phone 10
DevFest BH: Ionic 2
STACK / DEPENDÊNCIAS
O QUE É IONIC?
CSS + tags HTML do Ionic
O QUE É IONIC?
Base do código com Angular 2
+ ES2015/16 + TypeScript
CSS + tags HTML do Ionic
O QUE É IONIC?
Acesso APIs Nativas (plugins com
Apache Cordova: Ionic Native)
Base do código com Angular 2
+ ES2015/16 + TypeScript
CSS + tags HTML do Ionic
O QUE É IONIC?
Empacotamento do App Nativo (ipa,
apk) com Apache Cordova
Acesso APIs Nativas (plugins com
Apache Cordova: Ionic Native)
Base do código com Angular 2
+ ES2015/16 + TypeScript
CSS + tags HTML do Ionic
ANGULAR 2
▸WebComponents + padrões web
▸Baseado em Componentes
▸TypeScript
▸EcmaScript 2015/2016
▸Components, Services + Observables,
Pipes, Directives
COMPONENTES
E PÁGINAS
DIRETIVAS
NAVEGAÇÃO
SERVIÇOS
TEMPLATE
DATA BINDING
INJEÇÃO
DEPENDÊNCIA
MÓDULOS
Blocos Principais
Angular 2 + Ionic
PLUGINS
CORDOVA (IONIC
NATIVE)
COMPONENTE
{…}
TEMPLATE
<..>
COMPONENTE
{…}
TEMPLATE
<..>
Binding de
Propriedades
COMPONENTE
{…}
TEMPLATE
<..>
Binding de
Propriedades
Binding de
Eventos
COMPONENTE
{…}
TEMPLATE
<..>
DIRETIVAS
{..}
Binding de
Propriedades
Binding de
Eventos
COMPONENTE
{…}
TEMPLATE
<..>
DIRETIVAS
{..}
SERVIÇOS
SERVIÇO A
SERVIÇO B
Binding de
Propriedades
Binding de
Eventos
COMPONENTE
{…}
TEMPLATE
<..>
DIRETIVAS
{..}
SERVIÇOS
SERVIÇO A
SERVIÇO B MÓDULO X
MÓDULO A
MÓDULO B
Binding de
Propriedades
Binding de
Eventos
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
▸ Não usa o roteamento do Angular 2
IONIC 2
▸ Dependência do Angular2 + TypeScript
▸ ES6 (ES2015) / ES7 (ES2016)
▸ Ionic Native entra no lugar no ngCordova
▸ Não usa o roteamento do Angular 2
▸ Navegação por stack (pilha)
COMPONENTES
▸ Action
Sheets
▸ Alerts
▸ Buttons
▸ Cards
▸ Icons
▸ Lists
▸ Search Bar
▸ Tabs
▸ Alert
▸ Modal
▸ IonRefresher
▸ Keyboard
▸ entre outros
https://nodejs.org
INSTALAÇÃO E USO
npm install -g cordova ionic@latest
ionic start minhaApp --v2
DevFest BH: Ionic 2
DevFest BH: Ionic 2
CUSTOMIZAÇÃO CSS
▸ Baseado em Componente
▸ Baseado na App
▸ Baseado no Sistema
Operacional
DevFest BH: Ionic 2
DevFest BH: Ionic 2
DevFest BH: Ionic 2
DevFest BH: Ionic 2
Decorator pra
indicar que é um
componente
Decorator pra
indicar que é um
componente
Seletor: tag
HTML que será
usada para usar esse
componente
Decorator pra
indicar que é um
componente
Seletor: tag
HTML que será
usada para usar esse
componente
Arquivo que
contém o template:
código HTML
Imports das
classes usadas
Construtor
com DI: Injeção de
Dependência
DevFest BH: Ionic 2
h2 | p: tags HTML
"normais"
h2 | p: tags HTML
"normais"
ion-componente
tags HTML do Ionic 2
Sistema de módulos do
Angular 2
E dá pra fazer app real?
DevFest BH: Ionic 2
DevFest BH: Ionic 2
na prática com Pokédex
DevFest BH: Ionic 2
Apps
instalados:
arquivos .ipa e .apk
Apps
instalados:
arquivos .ipa e .apk
DevFest BH: Ionic 2
Apps
instalados:
arquivos .ipa e .apk
Diferenças visuais
entre iOS e Android
DevFest BH: Ionic 2
Apps
instalados:
arquivos .ipa e .apk
Diferenças visuais
entre iOS e Android
DevFest BH: Ionic 2
DevFest BH: Ionic 2
DevFest BH: Ionic 2
PokemonList
PokemonList
PokemonListItem
PokemonList
PokemonList
Cada Item da
lista - loop
DevFest BH: Ionic 2
Ao clicar/tap
abre página de
detalhes
Ao clicar/tap
abre página de
detalhes
E passamos o
objeto pokemon
para o detalhe
DevFest BH: Ionic 2
DevFest BH: Ionic 2
Se existir tipos de
Pokemon - array tem
mais de 1 elemento
Loop for nos tipos
do Pokemon
E aplicamos CSS pra
ficar bonito!
DevFest BH: Ionic 2
Se o campo de
busca estiver vazio,
retorna a lista de
pokemons
Senão, filtramos
os pokemons que tem a
string de busca no nome
DevFest BH: Ionic 2
DevFest BH: Ionic 2
DevFest BH: Ionic 2
Criamos um serviço que irá
fornecer os dados (provider)
Criamos um serviço que irá
fornecer os dados (provider)
DevFest BH: Ionic 2
No Componente injetamos o
serviço no construtor
DevFest BH: Ionic 2
Programação reativa: fluxos:
.map
.do
.catch
Programação reativa: fluxos:
.map
.do
.catch
http://reactivex.io
DevFest BH: Ionic 2
Também pode cachear a
informação e retornar
Observable de variável
DevFest BH: Ionic 2
Fazemos a “inscrição" no
Observable pra receber o
resultado
DevFest BH: Ionic 2
Botão “Voltar" é
adicionado automaticamente
Botão “Voltar" é
adicionado automaticamente
Botão “Voltar" é
adicionado automaticamente
Stack
Pokemo
nList
Stack
PokemonLi
st
Push
PokemonDetail
Pilha
PokemonList
Pop
Botão Voltar
(Back)
(empilha)
(desempilha)
Cada seção dos
detalhes é um componente
auxiliar pra ajudar na
organização do projeto
DevFest BH: Ionic 2
DevFest BH: Ionic 2
Páginas são as Views do
aplicativo
Páginas são as Views do
aplicativo
Componentes são
usados para organizar o
código em blocos
menores
ionic platform add ios
DevFest BH: Ionic 2
Projeto do Xcode
(IDE do iOS)
Nosso código
HTML + JS + CSS
Projeto do Xcode
(IDE do iOS)
DevFest BH: Ionic 2
https://github.com/loiane/ionic2-pokedex
Pokédex
PRA FINALIZAR…
IONIC NATIVE
▸ Plugins populares do Cordova distribuídos na lib do
Ionic:
▸ Camera
▸ Bluetooth
▸ SqLite
▸ Facebook
▸ Push
▸ entre outros
DevFest BH: Ionic 2
DevFest BH: Ionic 2
Imagem
sanitizada pelo
Angular 2 -
segurança
DevFest BH: Ionic 2
Opções da Foto: base64,
salvar no álbum e 90% de
qualidade
DevFest BH: Ionic 2
Atribui base64 à
variável imagem
DevFest BH: Ionic 2
O QUE PRECISO APRENDER PRA DESENVOLVER COM IONIC?
▸ Básico sobre Apache Cordova
▸ Para builds e uso de plugins nativos
▸ camera, geolocation, notificação push, etc
O QUE PRECISO APRENDER PRA DESENVOLVER COM IONIC?
▸ Básico sobre Apache Cordova
▸ Para builds e uso de plugins nativos
▸ camera, geolocation, notificação push, etc
▸ Angular 2 + TypeScript
▸ É a base de todo o código
▸ components, services, pipes, etc
▸ EcmaScript 2015/2016 também
O QUE PRECISO APRENDER PRA DESENVOLVER COM IONIC?
▸ Básico sobre Apache Cordova
▸ Para builds e uso de plugins nativos
▸ camera, geolocation, notificação push, etc
▸ Angular 2 + TypeScript
▸ É a base de todo o código
▸ components, services, pipes, etc
▸ EcmaScript 2015/2016 também
▸ Componentes Ionic
▸ Listas, botões, modais, etc
O QUE PRECISO APRENDER PRA DESENVOLVER COM IONIC?
▸ Básico sobre Apache Cordova
▸ Para builds e uso de plugins nativos
▸ camera, geolocation, notificação push, etc
▸ Angular 2 + TypeScript
▸ É a base de todo o código
▸ components, services, pipes, etc
▸ EcmaScript 2015/2016 também
▸ Componentes Ionic
▸ Listas, botões, modais, etc
Tem curso
grátis no meu canal
do YouTube
Tem curso
grátis no meu canal
do YouTube!
https://ionicframework.com/docs/v2
https://github.com/IonicBrazil/ionic2-docs
Quer aprender mais sobre Cordova e
Angular 2?
/loianegroner
DevFest BH: Ionic 2
http://loiane.com
facebook.com/loianegroner
twitter.com/loiane
https://github.com/loiane
youtube.com/loianegroner
http://loiane.training

Mais conteúdo relacionado

PDF
DevFest Nordeste: Ionic 2
PDF
Mobile Summit Brazil: Ionic 2
PDF
Ionic 2 na pratica!
PDF
Introducao ao Ionic 2 na pratica
PDF
Open Source Mobile Experience: Ionic 2
PDF
Devfest Cerrado: Angular 2
PDF
Angular 2 em 60 minutos
PDF
TDC SP 2016: Ionic 2
DevFest Nordeste: Ionic 2
Mobile Summit Brazil: Ionic 2
Ionic 2 na pratica!
Introducao ao Ionic 2 na pratica
Open Source Mobile Experience: Ionic 2
Devfest Cerrado: Angular 2
Angular 2 em 60 minutos
TDC SP 2016: Ionic 2

Mais procurados (20)

PDF
Campus Party Brasil 2017: Angular 2 #cpbr10
PDF
Mini curso: Ionic Framework
PDF
Angular 4 Ionic 3 Cordova 5
PDF
Angular 2
PDF
Angular 2
PDF
GDG Angular 2
PPTX
Angular 2, TypeScript e Além
PDF
Angular 4 - Introdução
PPTX
Migrando para o Angular 2
PDF
React Native - JSday
PPTX
BaaS com Firebase 3
PPTX
Ionic Framework - Parte 1 - Iniciando um Projeto mais Robusto
PDF
Palestra UFPR - Intro Ionic framework + WordPress
PDF
Desmistificando a programação reativa
PDF
React Native - Experiência Nativa para o usuário e experiência Web para o des...
PDF
Ionic Reativo com RxJS e ngRx
PPTX
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
PDF
Mini curso - Ionic Framework
PDF
Hybrid app phonegap angular ionic
PPTX
Usando PushWoosh com Ionic Framework
Campus Party Brasil 2017: Angular 2 #cpbr10
Mini curso: Ionic Framework
Angular 4 Ionic 3 Cordova 5
Angular 2
Angular 2
GDG Angular 2
Angular 2, TypeScript e Além
Angular 4 - Introdução
Migrando para o Angular 2
React Native - JSday
BaaS com Firebase 3
Ionic Framework - Parte 1 - Iniciando um Projeto mais Robusto
Palestra UFPR - Intro Ionic framework + WordPress
Desmistificando a programação reativa
React Native - Experiência Nativa para o usuário e experiência Web para o des...
Ionic Reativo com RxJS e ngRx
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Mini curso - Ionic Framework
Hybrid app phonegap angular ionic
Usando PushWoosh com Ionic Framework
Anúncio

Semelhante a DevFest BH: Ionic 2 (20)

PDF
SampaJS 2016: Ionic 2
PDF
Ionic 3
PDF
Integrando WordPress com Ionic 3.
PDF
Ionic 2 como ferramenta para desenvolvimento móvel
PPTX
Sinesio bittencourt - Ionic framework {Aplicações móveis híbridas}
PPTX
Ionic framework V2/3 {Aplicações móveis híbridas}
PDF
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...
PPTX
Iniciando o desenvolvimento de aplicativos híbridos com VS Code + Ionic + Typ...
PDF
Ionic 2/3 + Firebase
PPTX
Hello world hybrid apps oportunidades com ionic framework v2
PDF
Ionic, um mundo sem retrabalho
PPTX
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
PDF
Ionic Framework - Configuração do ambiente e a criação da primeira APP
PDF
Front7 React Native
PPTX
Workshop - Cordova e Ionic
PDF
Desenvolvimento de aplicativos Móveis com IONIC
PDF
PDF
Pouch db tdc2016
PDF
Pouch db tdc2016
PDF
FAESA Computação Móvel: Introducao a Phonegap e Cordova
SampaJS 2016: Ionic 2
Ionic 3
Integrando WordPress com Ionic 3.
Ionic 2 como ferramenta para desenvolvimento móvel
Sinesio bittencourt - Ionic framework {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...
Iniciando o desenvolvimento de aplicativos híbridos com VS Code + Ionic + Typ...
Ionic 2/3 + Firebase
Hello world hybrid apps oportunidades com ionic framework v2
Ionic, um mundo sem retrabalho
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
Ionic Framework - Configuração do ambiente e a criação da primeira APP
Front7 React Native
Workshop - Cordova e Ionic
Desenvolvimento de aplicativos Móveis com IONIC
Pouch db tdc2016
Pouch db tdc2016
FAESA Computação Móvel: Introducao a Phonegap e Cordova
Anúncio

Último (12)

PPTX
Analise Estatica de Compiladores para criar uma nova LP
PPT
Conceitos básicos de Redes Neurais Artificiais
PDF
Processos no SAP Extended Warehouse Management, EWM100 Col26
PPTX
Tipos de servidor em redes de computador.pptx
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Utilizando code blockes por andre backes
PPTX
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
Jira Software projetos completos com scrum
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Analise Estatica de Compiladores para criar uma nova LP
Conceitos básicos de Redes Neurais Artificiais
Processos no SAP Extended Warehouse Management, EWM100 Col26
Tipos de servidor em redes de computador.pptx
Viasol Energia Solar -Soluções para geração e economia de energia
Utilizando code blockes por andre backes
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
Manejo integrado de pragas na cultura do algodão
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Jira Software projetos completos com scrum
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf

DevFest BH: Ionic 2