SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Arquitetura
Android/Flutter
Ricardo da Silva Ogliari
Agenda
● Eu
● Introdução
● Android
● Flutter
● Conclusão
Eu
● Ricardo da Silva Ogliari;
● Tech Lead Android GoK;
● Android Engineer na Wisefy;
● Professor Graduação IMED;
● Professor MBA FIAP;
● GDG Passo Fundo.
Introdução
● Arquitetura, Clean Code, Clean
Architecture, Padrões;
● Código fala por você;
● Crescimento
profissional/Oportunidades;
● Mais alegria no dia-a-dia.
Android
● Guia estabelecido;
● MVVM;
● JetPack.
https://developer.android.com/jetpack/guide
Activity Fragment
● Activity e Fragment.. visual;
● Diversas telas ou single activity
com JetPack Navigation?
● Nem um, nem outro!!!
Android
● Ciclo de vida dos componentes;
● Activities, Receiver, Services, Providers...
● Padrão observer, pub/sub...
● ViewBinding ou DataBinding.
https://developer.android.com/topic/libraries/data-binding?hl=pt-br https://developer.android.com/topic/libraries/data-binding?hl=pt-br
Algo mais?
● Hilt para injeção de dependências;
● Nomes de recursos;
● Gitflow;
● Android lint;
● KTlint -> https://ktlint.github.io/.
Algo mais?
● Modularização.
https://www.youtube.com/watch?v=PZBg5DIzNww
Flutter
● Sem padrão estabelecido;
● Meu pitaco -> Uma idéia para Arquitetura de Aplicativos Flutter
https://dev.to/ricardoogliari/uma-ideia-para-arquitetura-de-aplicativos
-flutter-32cn
● JetPack + Gerenciamento de Estados
Perguntas
rogliariping@gmail.com

Mais conteúdo relacionado

Mais procurados

TDC Floripa - Trilha iOS - Debate sobre o futuro da plataforma
TDC Floripa - Trilha iOS - Debate sobre o futuro da plataformaTDC Floripa - Trilha iOS - Debate sobre o futuro da plataforma
TDC Floripa - Trilha iOS - Debate sobre o futuro da plataformaDouglas Fischer
 
GDG Aracaju: Introdução
GDG Aracaju: IntroduçãoGDG Aracaju: Introdução
GDG Aracaju: IntroduçãoErick Mendonça
 
Open Source Projects - Indo além da colaboração
Open Source Projects - Indo além da colaboraçãoOpen Source Projects - Indo além da colaboração
Open Source Projects - Indo além da colaboraçãoJonathan Lamim
 
google maps api - v1
 google maps api - v1 google maps api - v1
google maps api - v1Lucas Aquiles
 
Comunidade, por onde começar
Comunidade, por onde começarComunidade, por onde começar
Comunidade, por onde começarRamon Mota
 
Tecnologias & Desafios: a Vida de uma Front-ender na Europa
Tecnologias & Desafios: a Vida de uma Front-ender na EuropaTecnologias & Desafios: a Vida de uma Front-ender na Europa
Tecnologias & Desafios: a Vida de uma Front-ender na EuropaTatiane Aguirres Nogueira
 
Desenvolvendo Widgets QML para o KDE Plasma
Desenvolvendo Widgets QML para o KDE PlasmaDesenvolvendo Widgets QML para o KDE Plasma
Desenvolvendo Widgets QML para o KDE PlasmaSandro Andrade
 
Aula 1 - Curso Git e Github - Webschool
Aula 1 - Curso Git e Github - WebschoolAula 1 - Curso Git e Github - Webschool
Aula 1 - Curso Git e Github - WebschoolBruno Orlandi
 
Overview de Grails: O Java em alta produtividade
Overview de Grails: O Java em alta produtividadeOverview de Grails: O Java em alta produtividade
Overview de Grails: O Java em alta produtividadeCleórbete Santos
 
Desenvolvendo Aplicações Android com Qt
Desenvolvendo Aplicações Android com QtDesenvolvendo Aplicações Android com Qt
Desenvolvendo Aplicações Android com QtSandro Andrade
 
V Café & CODE - Provocações do Mestre - Prof. MSc. Cloves Rocha
V Café & CODE - Provocações do Mestre - Prof. MSc. Cloves RochaV Café & CODE - Provocações do Mestre - Prof. MSc. Cloves Rocha
V Café & CODE - Provocações do Mestre - Prof. MSc. Cloves RochaCloves da Rocha
 
Simplesmente Python: Por que você não deve deixar de aprender essa linguagem
Simplesmente Python: Por que você não deve deixar de aprender essa linguagemSimplesmente Python: Por que você não deve deixar de aprender essa linguagem
Simplesmente Python: Por que você não deve deixar de aprender essa linguagemEric Hideki
 
LPUG Meetup #13 - Agenda e community updates - 2021-06-30
LPUG Meetup #13 - Agenda e community updates - 2021-06-30LPUG Meetup #13 - Agenda e community updates - 2021-06-30
LPUG Meetup #13 - Agenda e community updates - 2021-06-30Fernando Fernández
 
#SGames Desenvolvendo o GPS Coquetel Musical
#SGames Desenvolvendo o GPS Coquetel Musical#SGames Desenvolvendo o GPS Coquetel Musical
#SGames Desenvolvendo o GPS Coquetel MusicalLaudivan de Almeida
 
LPUG Meetup #12 - Agenda e Community Updates
LPUG Meetup #12 - Agenda e Community UpdatesLPUG Meetup #12 - Agenda e Community Updates
LPUG Meetup #12 - Agenda e Community UpdatesFernando Fernández
 
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016Sandro Andrade
 

Mais procurados (20)

TDC Floripa - Trilha iOS - Debate sobre o futuro da plataforma
TDC Floripa - Trilha iOS - Debate sobre o futuro da plataformaTDC Floripa - Trilha iOS - Debate sobre o futuro da plataforma
TDC Floripa - Trilha iOS - Debate sobre o futuro da plataforma
 
GDG Aracaju: Introdução
GDG Aracaju: IntroduçãoGDG Aracaju: Introdução
GDG Aracaju: Introdução
 
Open Source Projects - Indo além da colaboração
Open Source Projects - Indo além da colaboraçãoOpen Source Projects - Indo além da colaboração
Open Source Projects - Indo além da colaboração
 
google maps api - v1
 google maps api - v1 google maps api - v1
google maps api - v1
 
Comunidade, por onde começar
Comunidade, por onde começarComunidade, por onde começar
Comunidade, por onde começar
 
Tecnologias & Desafios: a Vida de uma Front-ender na Europa
Tecnologias & Desafios: a Vida de uma Front-ender na EuropaTecnologias & Desafios: a Vida de uma Front-ender na Europa
Tecnologias & Desafios: a Vida de uma Front-ender na Europa
 
Desenvolvendo Widgets QML para o KDE Plasma
Desenvolvendo Widgets QML para o KDE PlasmaDesenvolvendo Widgets QML para o KDE Plasma
Desenvolvendo Widgets QML para o KDE Plasma
 
Aula 1 - Curso Git e Github - Webschool
Aula 1 - Curso Git e Github - WebschoolAula 1 - Curso Git e Github - Webschool
Aula 1 - Curso Git e Github - Webschool
 
Open Networking
Open NetworkingOpen Networking
Open Networking
 
Overview de Grails: O Java em alta produtividade
Overview de Grails: O Java em alta produtividadeOverview de Grails: O Java em alta produtividade
Overview de Grails: O Java em alta produtividade
 
Desenvolvendo Aplicações Android com Qt
Desenvolvendo Aplicações Android com QtDesenvolvendo Aplicações Android com Qt
Desenvolvendo Aplicações Android com Qt
 
V Café & CODE - Provocações do Mestre - Prof. MSc. Cloves Rocha
V Café & CODE - Provocações do Mestre - Prof. MSc. Cloves RochaV Café & CODE - Provocações do Mestre - Prof. MSc. Cloves Rocha
V Café & CODE - Provocações do Mestre - Prof. MSc. Cloves Rocha
 
GDG Cabreúva
GDG CabreúvaGDG Cabreúva
GDG Cabreúva
 
Simplesmente Python: Por que você não deve deixar de aprender essa linguagem
Simplesmente Python: Por que você não deve deixar de aprender essa linguagemSimplesmente Python: Por que você não deve deixar de aprender essa linguagem
Simplesmente Python: Por que você não deve deixar de aprender essa linguagem
 
O KDE no mundo
O KDE no mundoO KDE no mundo
O KDE no mundo
 
LPUG Meetup #13 - Agenda e community updates - 2021-06-30
LPUG Meetup #13 - Agenda e community updates - 2021-06-30LPUG Meetup #13 - Agenda e community updates - 2021-06-30
LPUG Meetup #13 - Agenda e community updates - 2021-06-30
 
#SGames Desenvolvendo o GPS Coquetel Musical
#SGames Desenvolvendo o GPS Coquetel Musical#SGames Desenvolvendo o GPS Coquetel Musical
#SGames Desenvolvendo o GPS Coquetel Musical
 
LPUG Meetup #12 - Agenda e Community Updates
LPUG Meetup #12 - Agenda e Community UpdatesLPUG Meetup #12 - Agenda e Community Updates
LPUG Meetup #12 - Agenda e Community Updates
 
O que é hackathon e como participar de um?
O que é hackathon e como participar de um?O que é hackathon e como participar de um?
O que é hackathon e como participar de um?
 
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
 

Semelhante a Arquitetura Android/Flutter

Android Lollipop e Android Wear
Android Lollipop e Android WearAndroid Lollipop e Android Wear
Android Lollipop e Android WearSilas Limeira
 
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterGerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterEdlaine Zamora
 
Desenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGapDesenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGapMayron Cachina
 
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGapAplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGapThiago Colares
 
See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010Marcelo Fleury
 
O QGIS, caso de sucesso de um projeto aberto da OSGEO
O QGIS, caso de sucesso de um projeto aberto da OSGEOO QGIS, caso de sucesso de um projeto aberto da OSGEO
O QGIS, caso de sucesso de um projeto aberto da OSGEOLucas Cavalcante
 
Márcio Mangar - Desenvolvimento Nativo: usar ou não usar?
Márcio Mangar - Desenvolvimento Nativo: usar ou não usar?Márcio Mangar - Desenvolvimento Nativo: usar ou não usar?
Márcio Mangar - Desenvolvimento Nativo: usar ou não usar?iMasters
 
InterCon Dev +Android 2013 - Marcio Mangar
InterCon Dev +Android 2013 - Marcio MangarInterCon Dev +Android 2013 - Marcio Mangar
InterCon Dev +Android 2013 - Marcio MangarMarcio Mangar
 
TDC2015 - Um drone para chamar de seu
TDC2015 - Um drone para chamar de seuTDC2015 - Um drone para chamar de seu
TDC2015 - Um drone para chamar de seuOdair Bonin Borges
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento4Soft
 
Design for change: Fatores que influenciam na longevidade de um Software PHP
Design for change: Fatores que influenciam na longevidade de um Software PHPDesign for change: Fatores que influenciam na longevidade de um Software PHP
Design for change: Fatores que influenciam na longevidade de um Software PHPPablo Dall'Oglio
 
Ligando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e AndroidLigando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e AndroidGDGFoz
 
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDKTDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDKtdc-globalcode
 
Tem gente demais mexendo no APP!
Tem gente demais mexendo no APP!Tem gente demais mexendo no APP!
Tem gente demais mexendo no APP!tdc-globalcode
 
FLISoL'11: Desenvolvendo Games para Android
FLISoL'11: Desenvolvendo Games para AndroidFLISoL'11: Desenvolvendo Games para Android
FLISoL'11: Desenvolvendo Games para AndroidMaurílio Silva
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwarePablo Dall'Oglio
 

Semelhante a Arquitetura Android/Flutter (20)

Android Lollipop e Android Wear
Android Lollipop e Android WearAndroid Lollipop e Android Wear
Android Lollipop e Android Wear
 
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterGerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
 
Desenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGapDesenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGap
 
Study jam - dia 1
Study jam  - dia 1Study jam  - dia 1
Study jam - dia 1
 
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGapAplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
 
See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010
 
O QGIS, caso de sucesso de um projeto aberto da OSGEO
O QGIS, caso de sucesso de um projeto aberto da OSGEOO QGIS, caso de sucesso de um projeto aberto da OSGEO
O QGIS, caso de sucesso de um projeto aberto da OSGEO
 
Márcio Mangar - Desenvolvimento Nativo: usar ou não usar?
Márcio Mangar - Desenvolvimento Nativo: usar ou não usar?Márcio Mangar - Desenvolvimento Nativo: usar ou não usar?
Márcio Mangar - Desenvolvimento Nativo: usar ou não usar?
 
InterCon Dev +Android 2013 - Marcio Mangar
InterCon Dev +Android 2013 - Marcio MangarInterCon Dev +Android 2013 - Marcio Mangar
InterCon Dev +Android 2013 - Marcio Mangar
 
TDC2015 - Um drone para chamar de seu
TDC2015 - Um drone para chamar de seuTDC2015 - Um drone para chamar de seu
TDC2015 - Um drone para chamar de seu
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento
 
Design for change: Fatores que influenciam na longevidade de um Software PHP
Design for change: Fatores que influenciam na longevidade de um Software PHPDesign for change: Fatores que influenciam na longevidade de um Software PHP
Design for change: Fatores que influenciam na longevidade de um Software PHP
 
Ligando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e AndroidLigando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e Android
 
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDKTDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
 
Tem gente demais mexendo no APP!
Tem gente demais mexendo no APP!Tem gente demais mexendo no APP!
Tem gente demais mexendo no APP!
 
Phonegap
PhonegapPhonegap
Phonegap
 
Putting a-heat-with-thermostat
Putting a-heat-with-thermostatPutting a-heat-with-thermostat
Putting a-heat-with-thermostat
 
FLISoL'11: Desenvolvendo Games para Android
FLISoL'11: Desenvolvendo Games para AndroidFLISoL'11: Desenvolvendo Games para Android
FLISoL'11: Desenvolvendo Games para Android
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um Software
 
São Paulo MuleSoft Meetups - DevOps
São Paulo MuleSoft Meetups - DevOpsSão Paulo MuleSoft Meetups - DevOps
São Paulo MuleSoft Meetups - DevOps
 

Mais de Ricardo Ogliari

Mobile, Flutter e Mercado
Mobile, Flutter e MercadoMobile, Flutter e Mercado
Mobile, Flutter e MercadoRicardo Ogliari
 
Aula 1 view model livedata e databinding.pptx
Aula 1   view model livedata e databinding.pptxAula 1   view model livedata e databinding.pptx
Aula 1 view model livedata e databinding.pptxRicardo Ogliari
 
Programando em ruby para arduino
Programando em ruby para arduinoProgramando em ruby para arduino
Programando em ruby para arduinoRicardo Ogliari
 
Intel edison Primeiro Projeto
Intel edison Primeiro ProjetoIntel edison Primeiro Projeto
Intel edison Primeiro ProjetoRicardo Ogliari
 
Internacionalizando um aplicativo BlackBerry API
Internacionalizando um aplicativo BlackBerry APIInternacionalizando um aplicativo BlackBerry API
Internacionalizando um aplicativo BlackBerry APIRicardo Ogliari
 
Como criar interfaces gráficas com android
Como criar interfaces gráficas com androidComo criar interfaces gráficas com android
Como criar interfaces gráficas com androidRicardo Ogliari
 
Criando itens de menu em aplicativos nativos com a BlackBerry API
Criando itens de menu em aplicativos nativos com a BlackBerry APICriando itens de menu em aplicativos nativos com a BlackBerry API
Criando itens de menu em aplicativos nativos com a BlackBerry APIRicardo Ogliari
 
Utilizando O Cell Id Para Popularizar Os Sistemas Lbs
Utilizando O Cell Id Para Popularizar Os Sistemas LbsUtilizando O Cell Id Para Popularizar Os Sistemas Lbs
Utilizando O Cell Id Para Popularizar Os Sistemas LbsRicardo Ogliari
 
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.Ricardo Ogliari
 
A hora de criar LBS para pequenos dispositivos é agora!!
A hora de criar LBS para pequenos dispositivos é agora!!A hora de criar LBS para pequenos dispositivos é agora!!
A hora de criar LBS para pequenos dispositivos é agora!!Ricardo Ogliari
 

Mais de Ricardo Ogliari (15)

IoT além do Arduino
IoT além do ArduinoIoT além do Arduino
IoT além do Arduino
 
Mobile, Flutter e Mercado
Mobile, Flutter e MercadoMobile, Flutter e Mercado
Mobile, Flutter e Mercado
 
Aula 1 view model livedata e databinding.pptx
Aula 1   view model livedata e databinding.pptxAula 1   view model livedata e databinding.pptx
Aula 1 view model livedata e databinding.pptx
 
Programando em ruby para arduino
Programando em ruby para arduinoProgramando em ruby para arduino
Programando em ruby para arduino
 
Intel edison Primeiro Projeto
Intel edison Primeiro ProjetoIntel edison Primeiro Projeto
Intel edison Primeiro Projeto
 
Internacionalizando um aplicativo BlackBerry API
Internacionalizando um aplicativo BlackBerry APIInternacionalizando um aplicativo BlackBerry API
Internacionalizando um aplicativo BlackBerry API
 
Como criar interfaces gráficas com android
Como criar interfaces gráficas com androidComo criar interfaces gráficas com android
Como criar interfaces gráficas com android
 
Bada
BadaBada
Bada
 
Internacionalizacao
InternacionalizacaoInternacionalizacao
Internacionalizacao
 
Palm e web os
Palm e web osPalm e web os
Palm e web os
 
Trechos interessantes
Trechos interessantesTrechos interessantes
Trechos interessantes
 
Criando itens de menu em aplicativos nativos com a BlackBerry API
Criando itens de menu em aplicativos nativos com a BlackBerry APICriando itens de menu em aplicativos nativos com a BlackBerry API
Criando itens de menu em aplicativos nativos com a BlackBerry API
 
Utilizando O Cell Id Para Popularizar Os Sistemas Lbs
Utilizando O Cell Id Para Popularizar Os Sistemas LbsUtilizando O Cell Id Para Popularizar Os Sistemas Lbs
Utilizando O Cell Id Para Popularizar Os Sistemas Lbs
 
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.
 
A hora de criar LBS para pequenos dispositivos é agora!!
A hora de criar LBS para pequenos dispositivos é agora!!A hora de criar LBS para pequenos dispositivos é agora!!
A hora de criar LBS para pequenos dispositivos é agora!!
 

Arquitetura Android/Flutter