SlideShare uma empresa Scribd logo
1 de 65
Baixar para ler offline
Gerenciando 450 apps
sem enlouquecer
Heloisa Simon
Heloisa Simon
Lead Android Developer
mobLee
Como assim 450 apps?Como assim 450 apps?
2012
Módulo
Expositores
Green Valley
Módulo
Mapa do
evento
Módulo
Redes
Sociais
Módulo
Agenda
Dream Valley
Bienal
do Livro
Repositório GIT Android/iOS em 2012
2013
Estrutura
Android
API
iOS
CMS
mobLee
Library
Congresso Y
Evento
Corporativo W
Feira de
Exposição X
Feira de
Exposição Y
Congresso X
Evento
Corporativo T
31º CBEM
Congresso Bras. de
Neurologia
Bienal do Livro
Repositório GIT Android/iOS em 2013
Para cada
evento
Strings
<resources>
<string name="section_info">Informaçõe
<string name="section_description">Des
<string name="section_detail">Detalhes
<string name="section_product_visitati
<string name="section_company_visitati
<string name="section_ongoing_visitati
<string name="section_contact">Contato
<string name="section_company">Empresa
<string name="section_about">Sobre</st
<string name="section_social">Redes so
<string name="section_job">Profissão</
<string name="section_comment">Comentá
<string name="section_qualification">Q
<string name="detail_title_stand">Esta
<string name="detail_title_address">En
<string name="detail_title_phone">Tele
<string name="detail_title_fax">Fax</s
<string name="detail_title_website">Si
Para cada
evento
Cores
<resources>
<color name="past_event_waiting">#9999
<color name="background_color">#F0F0F0
<color name="products">#29ABE2</color>
<color name="alarm_on">#8cc63f</color>
<color name="favorite_on">#f5b519</col
<color name="side_menu_color">#666666<
<color name="pressed_moblee_color">#AA
<color name="list_section_color">#6666
<color name="main_bar_color">#CCCCCC</
<color name="button_color">#E9145F</co
<color name="calendar_line">#BBBBBB</c
<color name="calendar_second_line">#AA
<color name="text">#636363</color>
<color name="pager_indicator">#666666<
<color name="pending_approval">#F7931E
<color name="rating5">#F15A24</color>
<color name="rating4">#F7931E</color>
<color name="rating3">#FBB03B</color>
Para cada
evento
Imagens
Para cada
evento
Screenshots
Para cada
evento
Publicação no
Google Play
Para cada
evento
Repositório git
● Criar repositório
● git push
INVIÁVEL
2015
Automatizando
O checklist
● Dados no backend
○ Strings
○ Cores
○ Imagens
○ Funcionalidades
● Script que substitui o
checklist
Automatizando
O checklist
● Script
○ Lê dados da API REST e
substitui arquivos de
configurações
string.xml, colors.xml
○ Faz download das imagens
necessárias: launcher,
ícones, splashscreen
○ Configura endpoints
○ Configura funcionalidades
○ Assina e Gera os apps
Automatizando
● Android Gradle: Analytics, API Keys, Endpoints
android {
…
defaultConfig {
applicationId [APPLICATION_ID]
minSdkVersion 16
targetSdkVersion 24
versionCode [VERSION_CODE]
versionName [VERSION_NAME]
buildConfigField "String", "ENDPOINT", [END_POINT]
buildConfigField "String", "ANALYTICS", [ANALYTICS]
buildConfigField "String", "PARSE_APP_ID", [APP_ID]
buildConfigField "String", "PARSE_CLIENT_KEY", [CLIENT_KEY]
…
}
Automatizando
App por linha de comando
./gradlew assembleDebug
./gradlew assembleRelease
buildTypes {
debug {
applicationIdSuffix ".dbg"
}
release {
proguardFiles getDefaultProguardFi
}
}
mobLee
Framework
Repositório GIT Android/iOS em 2015
Automatizando
Screenshots
● Existem formas de
automatizar
● No Photoshop
● A aprovação do cliente
é a primeira etapa, por
isso não está junto com
o script.
Photoshop
Publicação
No Google Play
Na App Store
● Manual:
○ Criar app na loja
Publicação
No Google Play
Na App Store
● Mas todo o restante é
possível automatizar
● GET versionCode
https://www.googleapis.com/androidpublis
her/v2/applications/packageName/edits/ed
itId/tracks/track
● POST APK
https://www.googleapis.com/upload/androi
dpublisher/v2/applications/packageName/e
dits/editId/apks
● POST screenshots
https://www.googleapis.com/upload/androi
dpublisher/v2/applications/packageName/e
dits/editId/listings/language/imageType
Publicação
Google Play Developer API
Automatização
Jenkins
● Integração Contínua
○ Compilação de projeto
○ Automatização de testes
● Independente de plataforma
○ Android e iOS
● Faz checkout no master
● Executa script
● Gera App
● Faz upload no app no slack
Automatização
Jenkins-Plugin
google-play-android-publisher
Automatização
● Disponível para
Android e iOS
○ Build
○ Roda testes
○ Tira screenshots
○ Faz upload das screenshots
○ Gera certificados (iOS)
Fastlane
Automatização
Fastlane
default_platform: android
platform :android do
desc "Roda testes"
Lane :test do
gradle(task: "test")
end
desc "Envia nova versão para o Google
lane :deploy do
gradle(task: "assembleRelease")
supply
end
Será que a automatização resolveu tudo?
Atualizações
Dos aplicativos
● Alterações:
○ Ícones
○ Strings
○ Cores
○ Funcionalidades
● Verificar as alterações
● Rodar script
Atualizações
Dos aplicativos
Dinamizar é tão importante quanto Automatizar
Dinamizando
O aplicativo
● Todas as strings
podem ser alteradas
● Todas as cores
podem ser alteradas
● Todos os ícones
podem ser alterados.
● Todas as funcionalidades
podem ser alteradas.
Dinamizando
O aplicativo
● Requisições para a API
● String: verifica se foi
atualizada, senão usa do
strings.xml
● Colors: verifica se foi
atualizada, senão usa do
colors.xml
● Funcionalidades com flag
e permissões de acesso.
Dinamizando
O aplicativo
Dinamizando
O aplicativo
Mas quem vai configurar
tudo no backend?
Dinamizando
O aplicativo
O CLIENTE!
Customer
Success
● Acompanham o cliente
● Recebem e-mail
● Publicam os aplicativos
Desenvolvedores
RELEASE
Customer Success
DEPLOY
Estrutura
And
API
iOS
CMS
REST API
backend
Rápida Leve
Conteúdos Idiomas
REST API
backend
Integração entre APIs
Só tenho um aplicativo, não preciso dinamizar
Chegou o natal.
E agora?
Firebase
● Banco de Dados
● Analytics
● Autenticação
● Armazenamento
● Monitoramento de crash
● Remote Configs
<?xml version="1.0" encoding="utf-8"?>
<defaultsMap>
<entry>
<key>welcome_phrase</key>
<value>Welcome</value>
</entry>
<entry>
<key>primary_color</key>
<value>#A4CA39</value>
</entry>
<entry>
<key>android_image</key>
<value>http://www.example.com/androidimage.jpg</value>
</entry>
</defaultsMap>
mRemoteC.setDefaults(R.xml.remote_config_defaults);
String welcome = mRemoteC.getString("welcome_phrase");
String color = mRemoteC.getString("primary_color");
String image = mRemoteC.getString("android_image");
mRemoteC.fetch(cacheExpiration)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(Task<Void> task) {
if (task.isSuccessful()) {
mRemoteC.activateFetched();
}
}
});
RESUMÃO
● Identifique repetições
○ Atacar tarefas longas
● Automatize tarefas
● Automatize o deploy
● Evite atualização
○ Deixe dinâmico
● Use ferramentas!
Não reinvente a roda
Gerenciando 450 apps
sem enlouquecer
Obrigada
heloisa@moblee.net

Mais conteúdo relacionado

Mais procurados

PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5Rodrigo Cascarrolho
 
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
 
Angular.JS - Estado Atual
Angular.JS - Estado AtualAngular.JS - Estado Atual
Angular.JS - Estado AtualGustavo Costa
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Wennder Santos
 
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
 
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
 
Symfony - PHP pra gente grande
Symfony - PHP pra gente grandeSymfony - PHP pra gente grande
Symfony - PHP pra gente grandeLuã de Souza
 
Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...
Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...
Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...Cássio Nandi Citadin
 
Abra sua cabeça, apps híbridos - PhoneGap/Cordova
Abra sua cabeça, apps híbridos - PhoneGap/CordovaAbra sua cabeça, apps híbridos - PhoneGap/Cordova
Abra sua cabeça, apps híbridos - PhoneGap/CordovaGustavo Costa
 
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
 
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...Criciúma Dev
 
Angular - Um novo change detection
Angular - Um novo change detectionAngular - Um novo change detection
Angular - Um novo change detectionGustavo Costa
 
Desenvolvimento Mobile: Android e iOS caminhando juntos
Desenvolvimento Mobile: Android e iOS caminhando juntosDesenvolvimento Mobile: Android e iOS caminhando juntos
Desenvolvimento Mobile: Android e iOS caminhando juntosElo7
 
Machine Learning para devs com ML.NET
Machine Learning para devs com ML.NETMachine Learning para devs com ML.NET
Machine Learning para devs com ML.NETLetticia Nicoli
 
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos.
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos.Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos.
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos.Letticia Nicoli
 
Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!Luiz Gavinho
 
MVPConf - Azure Functions
MVPConf - Azure FunctionsMVPConf - Azure Functions
MVPConf - Azure FunctionsCDS
 

Mais procurados (19)

PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5
 
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
 
Angular.JS - Estado Atual
Angular.JS - Estado AtualAngular.JS - Estado Atual
Angular.JS - Estado Atual
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
 
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
 
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
 
Conhecendo o PhoneGap
Conhecendo o PhoneGapConhecendo o PhoneGap
Conhecendo o PhoneGap
 
Workshop - Ionic + firebase
Workshop - Ionic + firebaseWorkshop - Ionic + firebase
Workshop - Ionic + firebase
 
Symfony - PHP pra gente grande
Symfony - PHP pra gente grandeSymfony - PHP pra gente grande
Symfony - PHP pra gente grande
 
Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...
Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...
Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...
 
Abra sua cabeça, apps híbridos - PhoneGap/Cordova
Abra sua cabeça, apps híbridos - PhoneGap/CordovaAbra sua cabeça, apps híbridos - PhoneGap/Cordova
Abra sua cabeça, apps híbridos - PhoneGap/Cordova
 
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)
 
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
 
Angular - Um novo change detection
Angular - Um novo change detectionAngular - Um novo change detection
Angular - Um novo change detection
 
Desenvolvimento Mobile: Android e iOS caminhando juntos
Desenvolvimento Mobile: Android e iOS caminhando juntosDesenvolvimento Mobile: Android e iOS caminhando juntos
Desenvolvimento Mobile: Android e iOS caminhando juntos
 
Machine Learning para devs com ML.NET
Machine Learning para devs com ML.NETMachine Learning para devs com ML.NET
Machine Learning para devs com ML.NET
 
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos.
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos.Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos.
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos.
 
Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!
 
MVPConf - Azure Functions
MVPConf - Azure FunctionsMVPConf - Azure Functions
MVPConf - Azure Functions
 

Destaque

InterCon 2016 - Internet of “Thinking” – IoT sem BS com ESP8266
InterCon 2016 - Internet of “Thinking” – IoT sem BS com ESP8266InterCon 2016 - Internet of “Thinking” – IoT sem BS com ESP8266
InterCon 2016 - Internet of “Thinking” – IoT sem BS com ESP8266iMasters
 
InterCon 2016 - Backend do IoT com RethinkDB e Python
InterCon 2016 - Backend do IoT com RethinkDB e PythonInterCon 2016 - Backend do IoT com RethinkDB e Python
InterCon 2016 - Backend do IoT com RethinkDB e PythoniMasters
 
Testes O que são e para que servem? - LadyTalks
Testes O que são e para que servem? - LadyTalksTestes O que são e para que servem? - LadyTalks
Testes O que são e para que servem? - LadyTalksDiana Ungaro Arnos
 
InterCon 2016 - Desenvolvimento para interfaces em vídeo e cases da plataform...
InterCon 2016 - Desenvolvimento para interfaces em vídeo e cases da plataform...InterCon 2016 - Desenvolvimento para interfaces em vídeo e cases da plataform...
InterCon 2016 - Desenvolvimento para interfaces em vídeo e cases da plataform...iMasters
 
InterCon 2016 - HTTP/2 for Web Application Developers
InterCon 2016 - HTTP/2 for Web Application DevelopersInterCon 2016 - HTTP/2 for Web Application Developers
InterCon 2016 - HTTP/2 for Web Application DevelopersiMasters
 
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...iMasters
 
InterCon 2016 - Performance, anti-patterns e stacks para desenvolvimento ágil
InterCon 2016 - Performance, anti-patterns e stacks para desenvolvimento ágilInterCon 2016 - Performance, anti-patterns e stacks para desenvolvimento ágil
InterCon 2016 - Performance, anti-patterns e stacks para desenvolvimento ágiliMasters
 
InterCon 2016 - BioHacking: criando dispositivos de biotecnologia OpenSource/...
InterCon 2016 - BioHacking: criando dispositivos de biotecnologia OpenSource/...InterCon 2016 - BioHacking: criando dispositivos de biotecnologia OpenSource/...
InterCon 2016 - BioHacking: criando dispositivos de biotecnologia OpenSource/...iMasters
 
InterCon 2016 - Desafios de conectividade de dispositivos em realtime
InterCon 2016 - Desafios de conectividade de dispositivos em realtimeInterCon 2016 - Desafios de conectividade de dispositivos em realtime
InterCon 2016 - Desafios de conectividade de dispositivos em realtimeiMasters
 
15 Práticas para você aplicar hoje em Search Marketing e Melhorar o seu ROI
15 Práticas para você aplicar hoje em Search Marketing e Melhorar o seu ROI15 Práticas para você aplicar hoje em Search Marketing e Melhorar o seu ROI
15 Práticas para você aplicar hoje em Search Marketing e Melhorar o seu ROITomás Händel Trojan
 
React e Ratchet, async e websockets com PHP, por Gabriel Couto
React e Ratchet, async e websockets com PHP, por Gabriel CoutoReact e Ratchet, async e websockets com PHP, por Gabriel Couto
React e Ratchet, async e websockets com PHP, por Gabriel CoutoiMasters
 
InterCon 2016 - A revolução da Internet das Coisas na educação
InterCon 2016 - A revolução da Internet das Coisas na educaçãoInterCon 2016 - A revolução da Internet das Coisas na educação
InterCon 2016 - A revolução da Internet das Coisas na educaçãoiMasters
 
PHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesPHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesDiana Ungaro Arnos
 
Android DevConference - Firebase para desenvolvedores
Android DevConference - Firebase para desenvolvedoresAndroid DevConference - Firebase para desenvolvedores
Android DevConference - Firebase para desenvolvedoresiMasters
 
InterCon 2012 - Metricas - Search Marketing Optimization na Prática
InterCon 2012 - Metricas - Search Marketing Optimization na PráticaInterCon 2012 - Metricas - Search Marketing Optimization na Prática
InterCon 2012 - Metricas - Search Marketing Optimization na PráticaiMasters
 
4º Ideias na Laje - Palestrante Tiago Baeta
4º Ideias na Laje - Palestrante Tiago Baeta4º Ideias na Laje - Palestrante Tiago Baeta
4º Ideias na Laje - Palestrante Tiago BaetaIdeias na Laje
 
12º Ideias na Laje - Apresentação 5.0 // Yeti
12º Ideias na Laje - Apresentação 5.0 // Yeti12º Ideias na Laje - Apresentação 5.0 // Yeti
12º Ideias na Laje - Apresentação 5.0 // YetiIdeias na Laje
 

Destaque (20)

InterCon 2016 - Internet of “Thinking” – IoT sem BS com ESP8266
InterCon 2016 - Internet of “Thinking” – IoT sem BS com ESP8266InterCon 2016 - Internet of “Thinking” – IoT sem BS com ESP8266
InterCon 2016 - Internet of “Thinking” – IoT sem BS com ESP8266
 
InterCon 2016 - Backend do IoT com RethinkDB e Python
InterCon 2016 - Backend do IoT com RethinkDB e PythonInterCon 2016 - Backend do IoT com RethinkDB e Python
InterCon 2016 - Backend do IoT com RethinkDB e Python
 
Android Materials Design
Android Materials Design Android Materials Design
Android Materials Design
 
Testes O que são e para que servem? - LadyTalks
Testes O que são e para que servem? - LadyTalksTestes O que são e para que servem? - LadyTalks
Testes O que são e para que servem? - LadyTalks
 
InterCon 2016 - Desenvolvimento para interfaces em vídeo e cases da plataform...
InterCon 2016 - Desenvolvimento para interfaces em vídeo e cases da plataform...InterCon 2016 - Desenvolvimento para interfaces em vídeo e cases da plataform...
InterCon 2016 - Desenvolvimento para interfaces em vídeo e cases da plataform...
 
InterCon 2016 - HTTP/2 for Web Application Developers
InterCon 2016 - HTTP/2 for Web Application DevelopersInterCon 2016 - HTTP/2 for Web Application Developers
InterCon 2016 - HTTP/2 for Web Application Developers
 
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
 
InterCon 2016 - Performance, anti-patterns e stacks para desenvolvimento ágil
InterCon 2016 - Performance, anti-patterns e stacks para desenvolvimento ágilInterCon 2016 - Performance, anti-patterns e stacks para desenvolvimento ágil
InterCon 2016 - Performance, anti-patterns e stacks para desenvolvimento ágil
 
InterCon 2016 - BioHacking: criando dispositivos de biotecnologia OpenSource/...
InterCon 2016 - BioHacking: criando dispositivos de biotecnologia OpenSource/...InterCon 2016 - BioHacking: criando dispositivos de biotecnologia OpenSource/...
InterCon 2016 - BioHacking: criando dispositivos de biotecnologia OpenSource/...
 
InterCon 2016 - Desafios de conectividade de dispositivos em realtime
InterCon 2016 - Desafios de conectividade de dispositivos em realtimeInterCon 2016 - Desafios de conectividade de dispositivos em realtime
InterCon 2016 - Desafios de conectividade de dispositivos em realtime
 
15 Práticas para você aplicar hoje em Search Marketing e Melhorar o seu ROI
15 Práticas para você aplicar hoje em Search Marketing e Melhorar o seu ROI15 Práticas para você aplicar hoje em Search Marketing e Melhorar o seu ROI
15 Práticas para você aplicar hoje em Search Marketing e Melhorar o seu ROI
 
React e Ratchet, async e websockets com PHP, por Gabriel Couto
React e Ratchet, async e websockets com PHP, por Gabriel CoutoReact e Ratchet, async e websockets com PHP, por Gabriel Couto
React e Ratchet, async e websockets com PHP, por Gabriel Couto
 
InterCon 2016 - A revolução da Internet das Coisas na educação
InterCon 2016 - A revolução da Internet das Coisas na educaçãoInterCon 2016 - A revolução da Internet das Coisas na educação
InterCon 2016 - A revolução da Internet das Coisas na educação
 
PHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesPHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de Testes
 
Android DevConference - Firebase para desenvolvedores
Android DevConference - Firebase para desenvolvedoresAndroid DevConference - Firebase para desenvolvedores
Android DevConference - Firebase para desenvolvedores
 
InterCon 2012 - Metricas - Search Marketing Optimization na Prática
InterCon 2012 - Metricas - Search Marketing Optimization na PráticaInterCon 2012 - Metricas - Search Marketing Optimization na Prática
InterCon 2012 - Metricas - Search Marketing Optimization na Prática
 
4º Ideias na Laje - Palestrante Tiago Baeta
4º Ideias na Laje - Palestrante Tiago Baeta4º Ideias na Laje - Palestrante Tiago Baeta
4º Ideias na Laje - Palestrante Tiago Baeta
 
12º Ideias na Laje - Apresentação 5.0 // Yeti
12º Ideias na Laje - Apresentação 5.0 // Yeti12º Ideias na Laje - Apresentação 5.0 // Yeti
12º Ideias na Laje - Apresentação 5.0 // Yeti
 
Imasters
ImastersImasters
Imasters
 
209 Dia do Baralho - COPAG
209   Dia do Baralho - COPAG209   Dia do Baralho - COPAG
209 Dia do Baralho - COPAG
 

Semelhante a Gerenciando 450 apps com automatização

Android DevConference - Gerenciando a publicação e atualização de 450 apps se...
Android DevConference - Gerenciando a publicação e atualização de 450 apps se...Android DevConference - Gerenciando a publicação e atualização de 450 apps se...
Android DevConference - Gerenciando a publicação e atualização de 450 apps se...iMasters
 
Desenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidDesenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidJosé Alexandre Macedo
 
Introdução à programação em Android SENAC 17.06.2013
Introdução à programação em Android SENAC 17.06.2013Introdução à programação em Android SENAC 17.06.2013
Introdução à programação em Android SENAC 17.06.2013guisester
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Androidguisester
 
Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012guisester
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Androidilegra
 
Titanium Mobile - Campus Party Recife 2
Titanium Mobile - Campus Party Recife 2Titanium Mobile - Campus Party Recife 2
Titanium Mobile - Campus Party Recife 2Eric Cavalcanti
 
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
 
WSO2 Platform: Conectando Empresas, negócios e pessoas
WSO2 Platform: Conectando Empresas, negócios e pessoasWSO2 Platform: Conectando Empresas, negócios e pessoas
WSO2 Platform: Conectando Empresas, negócios e pessoasWSO2
 
Workshop sobre códigos em android usp 22.08.2013
Workshop sobre códigos em android   usp 22.08.2013Workshop sobre códigos em android   usp 22.08.2013
Workshop sobre códigos em android usp 22.08.2013guisester
 
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com Swift
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com SwiftSemcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com Swift
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com SwiftJuliana Chahoud
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao androidMessias Batista
 
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...Adriel Café
 
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediAlessandro Binhara
 
Usando React Native & Multi Módulos para Escalar App Creditas
Usando React Native & Multi Módulos para Escalar App CreditasUsando React Native & Multi Módulos para Escalar App Creditas
Usando React Native & Multi Módulos para Escalar App CreditasJuliana Chahoud
 

Semelhante a Gerenciando 450 apps com automatização (20)

Android DevConference - Gerenciando a publicação e atualização de 450 apps se...
Android DevConference - Gerenciando a publicação e atualização de 450 apps se...Android DevConference - Gerenciando a publicação e atualização de 450 apps se...
Android DevConference - Gerenciando a publicação e atualização de 450 apps se...
 
Desenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidDesenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma Android
 
Introdução à programação em Android SENAC 17.06.2013
Introdução à programação em Android SENAC 17.06.2013Introdução à programação em Android SENAC 17.06.2013
Introdução à programação em Android SENAC 17.06.2013
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Android
 
Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Android
 
Titanium Mobile - Campus Party Recife 2
Titanium Mobile - Campus Party Recife 2Titanium Mobile - Campus Party Recife 2
Titanium Mobile - Campus Party Recife 2
 
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
 
Apresentação Google Android
Apresentação Google AndroidApresentação Google Android
Apresentação Google Android
 
Curso Básico Android - Aula 01
Curso Básico Android - Aula 01Curso Básico Android - Aula 01
Curso Básico Android - Aula 01
 
WSO2 Platform: Conectando Empresas, negócios e pessoas
WSO2 Platform: Conectando Empresas, negócios e pessoasWSO2 Platform: Conectando Empresas, negócios e pessoas
WSO2 Platform: Conectando Empresas, negócios e pessoas
 
Workshop sobre códigos em android usp 22.08.2013
Workshop sobre códigos em android   usp 22.08.2013Workshop sobre códigos em android   usp 22.08.2013
Workshop sobre códigos em android usp 22.08.2013
 
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com Swift
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com SwiftSemcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com Swift
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com Swift
 
Android
AndroidAndroid
Android
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
 
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
 
Usando React Native & Multi Módulos para Escalar App Creditas
Usando React Native & Multi Módulos para Escalar App CreditasUsando React Native & Multi Módulos para Escalar App Creditas
Usando React Native & Multi Módulos para Escalar App Creditas
 

Mais de iMasters

O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani MonteiroO que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani MonteiroiMasters
 
Postgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio TellesPostgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio TellesiMasters
 
Por que minha query esta lenta? - Suellen Moraes
Por que minha query esta lenta? - Suellen MoraesPor que minha query esta lenta? - Suellen Moraes
Por que minha query esta lenta? - Suellen MoraesiMasters
 
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...iMasters
 
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalvesORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalvesiMasters
 
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...iMasters
 
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra MartinsArquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra MartinsiMasters
 
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...iMasters
 
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudDesenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudiMasters
 
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
 Use MDD e faça as máquinas trabalharem para você - Andreza Leite Use MDD e faça as máquinas trabalharem para você - Andreza Leite
Use MDD e faça as máquinas trabalharem para você - Andreza LeiteiMasters
 
Entendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesEntendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesiMasters
 
Backend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana ArnosBackend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana ArnosiMasters
 
Dicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato GroffeDicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato GroffeiMasters
 
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle MonteiroiMasters
 
Quem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio MaujorQuem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio MaujoriMasters
 
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaService Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaiMasters
 
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto PascuttiErros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto PascuttiiMasters
 
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...iMasters
 
Construindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina KarklisConstruindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina KarklisiMasters
 
Monitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe RegalgoMonitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe RegalgoiMasters
 

Mais de iMasters (20)

O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani MonteiroO que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
 
Postgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio TellesPostgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio Telles
 
Por que minha query esta lenta? - Suellen Moraes
Por que minha query esta lenta? - Suellen MoraesPor que minha query esta lenta? - Suellen Moraes
Por que minha query esta lenta? - Suellen Moraes
 
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
 
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalvesORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
 
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
 
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra MartinsArquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
 
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
 
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudDesenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
 
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
 Use MDD e faça as máquinas trabalharem para você - Andreza Leite Use MDD e faça as máquinas trabalharem para você - Andreza Leite
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
 
Entendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesEntendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita Bernardes
 
Backend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana ArnosBackend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana Arnos
 
Dicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato GroffeDicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato Groffe
 
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
 
Quem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio MaujorQuem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio Maujor
 
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaService Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
 
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto PascuttiErros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
 
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
 
Construindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina KarklisConstruindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina Karklis
 
Monitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe RegalgoMonitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe Regalgo
 

Gerenciando 450 apps com automatização