SlideShare a Scribd company logo
1 of 41
Download to read offline
Nextel + React Native:
Lições aprendidas após quase
2 anos de desafios
Conclusão
Introdução
Agenda
Nextel: README.md
React Native: Hello World
Perguntas e Respostas
29 anos - Guarulhos - SP
Bacharel em Ciência da Computação e
Mestrando em Física e Astronomia, pela
Universidade do Vale do Paraíba
(UNIVAP).
Com início em 2012, minha carreira como
desenvolvedor para plataforma da maçã
foi bastante diversificada em
experiências, desenvolvi apps para os
mercados de eventos, automotivo,
infantil e varejo.
Hoje atuo como líder técnico do time de
mobile da Nextel, onde estou desde 2017.
Principais hobbies são Astronomia,
Ciência, Hackathons, Swift e Tênis de
Mesa.
Felipe Antonio
Cardoso
Líder Técnico iOS
Mini Bio
Gabriel Pacheco
Coordenador
Técnico Front
29 anos - São Paulo - SP
Casado com Gabriela Pacheco
Pai da Nina
Sou viciado em pesca e tem como
hobbies tocar alguns instrumentos e
cantar
Bacharel em Ciência da Computação pelo
Mackenzie
Formação profissional bem Nutella,
comparada com outros profissionais da
minha idade, trabalhando sempre no
mundo Mobile.
Em 2012-2013 tive um aplicativo de
localização dos ônibus de São Paulo
chamado Onde está meu ônibus?
Mini Bio
Temos uma herança de inovações revolucionárias, exemplificadas na
tecnologia Push-to-Talk, que nos leva a continuar a alimentar nosso
espírito empreendedor e a desafiar os padrões do setor.
Nextel
Início da era Nextel
Nextel
Sermos a empresa de telecomunicações mais admirada e de mais
confiança, reconhecidos pela excelência no atendimento, na
inovação e contribuição para com as comunidades em que
operamos.
Nossa visão
Nextel - Apps
Melhores notas nas lojas entre todas as telecoms do Brasil
Meu Nextel iOS - 4.6
Meu Nextel Android - 4.5
Happy iOS - 4.7
Happy Android - 4.0
BACI IN TIME
Nextel A.R.N. (Antes do React Native)
● 4 aplicativos de atendimento aos planos nas lojas
● Equipes de desenvolvedores nativos de alto desempenho
○ 7 desenvolvedores iOS
○ 4 desenvolvedores Android
● Aplicativo Happy com arquitetura e desempenho 5 ★
● Aplicativo Meu Nextel à todo vapor em refactors
Cenário no desenvolvimento de apps em 2017
Nextel A.R.N. (Antes do React Native)
2018 - Novos direcionamentos
● Equilibrar investimentos e retorno
● Objetivo de unificar produtos/code bases
● Manter a qualidade dos nosso aplicativos
● Sustentar o crescimento/evolução
"React Native será 3
vezes mais rápido para
desenvolver e 3 vezes
mais barato"
React Native: Como começamos
Formação da equipe e conteúdo de estudo
● 3 Desenvolvedores iOS.
● 2 Desenvolvedores REACT WEB.
● Paradigma dev. WEB.
● Javascript.
● REDUX.
● Componentização
● Navegação no aplicativo.
● Objetivo: Pré-Pago Nextel.
RAGNAROK
A destruição cataclísmica do cosmos e de tudo que nele há - incluindo os Deuses.
NIFLHEIM
Reino da Névoa
NIFLHEIM
"É terceiro e último nível, o domínio dos mortos. É um local gelado, onde a noite não tem
fim e para onde os homens de mau caráter são enviados após a morte."
Niflheim
Niflheim
Pré-Pago
Componentes Visuais
Camada de Rede
Lógica de Negócio
● Início: Fevereiro de 2018.
● Projeto iniciado a partir do projeto
"Hello World" do React-Native,
integrando React-Native-Web.
● Tempo investido: 4 mêses.
● Boa curva de aprendizado e
adaptação ao novo ecossistema.
Niflheim
A aplicação WEB
* Imagem ilustrativa * Imagem ilustrativa
Niflheim
A aplicação mobile
* Imagen ilustrativa * Imagen ilustrativa
Niflheim
Niflheim
Pré-Pago
Componentes Visuais
Camada de Rede
Lógica de Negócio
● Código específico para Mobile e
outro para Web, em algumas
situações.
● A experiência de manter o projeto
web junto do projeto mobile não
estava sendo muito boa.
● Os fluxos que desenvolvemos
poderiam ser modularizados de
alguma forma.
Analise após o MVP - Mínimo Produto Viável
O Lokinho meu
Pré-Pago - Web
Thor
Pré-Pago - Mobile
Fim do Niflheim - Deuses se juntam ao Ragnarok
Jord
Componente Visuais
Odin
Networking - API
Freya
Componentes Visuais
● Separamos os
projetos RN e
React.
● Criamos bibliotecas
para as camadas
visuais e de rede.
● Mais Devs se
juntaram à nós.
Jun/2018 - Airbnb: Sunsetting React Native
Um dos maiores cases do uso do React-Native, deixa de usar a tecnologia.
● Airbnb - Failing to Reach Our Goals:
○ Velocidade.
○ Manter a qualidade.
○ Escrever código uma única
vez, ao invés de duas.
○ Melhorar a experiência do
usuário.
Jun/2018 - Airbnb: Sunsetting React Native
Um dos maiores cases do uso do React-Native, deixa de usar a tecnologia.
● O que deu certo (13 items):
○ Código multiplataforma.
○ Unified Design Language
System.
○ React.
○ Performance.
○ Redux.
○ Flexbox.
Jun/2018 - Airbnb: Sunsetting React Native
Um dos maiores cases do uso do React-Native, deixa de usar a tecnologia.
● O que não deu muito certo (19 items):
○ Imaturidade do RN.
○ Manter um fork do framework.
○ Refactoring.
○ Bibliotecas de código aberto do
React-Native.
○ Monitoramento de Crashes.
○ Tempo de inicialização
○ Acessibilidade
O React Native e Nativo na Nextel
React-Native e Nativo em um só app.
● O produto que nossa equipe
desenvolveu até aqui precisaria estar no
app principal da Nextel.
● Nextel começa a adotar o formato de
Squads.
● Oportunidade de desenvolver uma
solução de integração entre o nativo e o
React-Native.
Thor
Pré-Pago - Mobile
BIFROST
"Ponte que faz a liga o domínio dos deuses, Asgard,
e a Terra, Midgard, terra dos mortais"
Bifrost
O que é a Bifrost?
● Um projeto nativo iOS e Android que usa dos recursos do React para
carregar um App.js, gerado por uma aplicação React-Native, para dentro
de um app nativo.
import React
class ReactViewController: UIViewController { //… swift code }
extension ReactViewController: RCTBridgeDelegate {
public override func loadView() {
self.view = RCTRootView(
bridge: RCTBridge.init(delegate: self, launchOptions: [:]),
moduleName: self.moduleName, //Ex: "Thor"
initialProperties: self.props //Any Parameter
)
}
}
Bifrost
Bifrost
V1 da Bifrost
Thor
Pré-Pago - Mobile
Bifrost
pod 'Thor', 'x.x.x'
pod 'Bifrost', 'x.x.x'
Bifrost
V2 - Melhorando e evoluindo
Thor
Pré-Pago - Mobile
Bifrost
pod 'Thor', 'x.x.x'
1. pod 'Thor', '0.0.1'
2. import Thor
3. PresentThor.showPrePaid(from: self.rootViewController)
Bifrost
"A Bifrost é muito simples
de integrar no projeto. É
tão simples quanto para
remover. =) "
2018 - Barrault, Antoine
Bifrost
Fácil integração
Bifrost
Fácil integração
Entregas pela Bifrost
Solicitação e status de portabilidades
Entregas pela Bifrost
Status de portabilidade - Área não logada
Entregas pela Bifrost
Cadastro de Débito Automático
89,6%
de Task Success
Entregas pela Bifrost
Cadastro de Débito Automático
Conclusão
+ Existe vida fora do nativo
+ JS + React Web atrai muitos desenvolvedores web para o mundo mobile
+ Compartilhamento de code base (PARCIAL)
+ Performático
- Cenário Híbrido - Debugging complicado
- Cenário Híbrido - Necessidade de uma Bifrost ou até algo assim menos
Plug&Play
- Cenário Híbrido - Necessidade de Skills Nativas para finalizar integração
sobre React Native
#FICAADICA
● Definir bem seu produto
● Avaliar melhor solução técnica para maximizar o desenvolvimento
● Equalização do time de acordo com a solução técnica escolhida
● NÃO TER PRECONCEITOS
sobre desenvolvimento de aplicações mobile
Perguntas e Respostas
Vem tranquilo...
Digital Team
Contatos
Gabriel Pacheco
Felipe Antonio Cardoso
Email: felipe.cardoso@nextel.com.br
Twitter: @FelipeCardoso89
Email: gabriel.pacheco2@nextel.com.br
Twitter: @Pacheco_Gab

More Related Content

Similar to Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas após quase 2 anos de desafios

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
 
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin
O uso de PWA e o futuro do desenvolvimento mobile com React Native e KotlinO uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin
O uso de PWA e o futuro do desenvolvimento mobile com React Native e KotlinDavid Robert Camargo de Campos
 
TDC2018SP | Trilha Mobile - Learn once, code anywhere
TDC2018SP | Trilha Mobile - Learn once, code anywhereTDC2018SP | Trilha Mobile - Learn once, code anywhere
TDC2018SP | Trilha Mobile - Learn once, code anywheretdc-globalcode
 
Livelo - Arquitetura com Atomic Design
Livelo - Arquitetura com Atomic DesignLivelo - Arquitetura com Atomic Design
Livelo - Arquitetura com Atomic DesignWillian Ribeiro Angelo
 
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
 
Currículo Pablo Vinicius
Currículo Pablo ViniciusCurrículo Pablo Vinicius
Currículo Pablo ViniciusPabloCruz139
 
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
 
Se familiarizando com React - Andres Ibañez
Se familiarizando com React - Andres IbañezSe familiarizando com React - Andres Ibañez
Se familiarizando com React - Andres IbañezGDGFoz
 
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileMeteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileFrederico Maia Arantes
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemRodrigo Valerio
 
Criando uma PWA com React para consumir uma API
Criando uma PWA com React para consumir uma APICriando uma PWA com React para consumir uma API
Criando uma PWA com React para consumir uma APIJessica Zanelato Soares
 
Java, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJava, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJoão Longo
 
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...E-Commerce Brasil
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
Aplicativos Móveis: PWA, Instants Apps. Vamos entender?
Aplicativos Móveis: PWA, Instants Apps. Vamos entender?Aplicativos Móveis: PWA, Instants Apps. Vamos entender?
Aplicativos Móveis: PWA, Instants Apps. Vamos entender?Pedro Edson Silva Barros
 

Similar to Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas após quase 2 anos de desafios (20)

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
 
Oficina Sesc Android - V1
Oficina Sesc Android - V1Oficina Sesc Android - V1
Oficina Sesc Android - V1
 
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin
O uso de PWA e o futuro do desenvolvimento mobile com React Native e KotlinO uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin
 
Desenvolvimento de aplicativo utilizando o framework ionic
Desenvolvimento de aplicativo utilizando o framework ionicDesenvolvimento de aplicativo utilizando o framework ionic
Desenvolvimento de aplicativo utilizando o framework ionic
 
TDC2018SP | Trilha Mobile - Learn once, code anywhere
TDC2018SP | Trilha Mobile - Learn once, code anywhereTDC2018SP | Trilha Mobile - Learn once, code anywhere
TDC2018SP | Trilha Mobile - Learn once, code anywhere
 
Livelo - Arquitetura com Atomic Design
Livelo - Arquitetura com Atomic DesignLivelo - Arquitetura com Atomic Design
Livelo - Arquitetura com Atomic Design
 
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
 
Currículo Pablo Vinicius
Currículo Pablo ViniciusCurrículo Pablo Vinicius
Currículo Pablo Vinicius
 
Currículo
CurrículoCurrículo
Currículo
 
React Native
React NativeReact Native
React Native
 
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...
 
Se familiarizando com React - Andres Ibañez
Se familiarizando com React - Andres IbañezSe familiarizando com React - Andres Ibañez
Se familiarizando com React - Andres Ibañez
 
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileMeteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
 
Phonegap
PhonegapPhonegap
Phonegap
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvem
 
Criando uma PWA com React para consumir uma API
Criando uma PWA com React para consumir uma APICriando uma PWA com React para consumir uma API
Criando uma PWA com React para consumir uma API
 
Java, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJava, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a Objetos
 
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Aplicativos Móveis: PWA, Instants Apps. Vamos entender?
Aplicativos Móveis: PWA, Instants Apps. Vamos entender?Aplicativos Móveis: PWA, Instants Apps. Vamos entender?
Aplicativos Móveis: PWA, Instants Apps. Vamos entender?
 

More from DevCamp Campinas

Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency appDylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency appDevCamp Campinas
 
Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...
Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...
Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...DevCamp Campinas
 
Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...
Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...
Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...DevCamp Campinas
 
Eiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learningEiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learningDevCamp Campinas
 
Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...
Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...
Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...DevCamp Campinas
 
Leonardo Zamariola - High Order Functions e Functional Interfaces
Leonardo Zamariola - High Order Functions e Functional InterfacesLeonardo Zamariola - High Order Functions e Functional Interfaces
Leonardo Zamariola - High Order Functions e Functional InterfacesDevCamp Campinas
 
Lara Rejane - Gestão ágil de pessoas
Lara Rejane - Gestão ágil de pessoasLara Rejane - Gestão ágil de pessoas
Lara Rejane - Gestão ágil de pessoasDevCamp Campinas
 
Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?
Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?
Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?DevCamp Campinas
 
Erick Zanardo - Desenvolvimento de Jogos em Flutter
Erick Zanardo - Desenvolvimento de Jogos em FlutterErick Zanardo - Desenvolvimento de Jogos em Flutter
Erick Zanardo - Desenvolvimento de Jogos em FlutterDevCamp Campinas
 
Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...
Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...
Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...DevCamp Campinas
 
Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...
Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...
Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...DevCamp Campinas
 
Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...
Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...
Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...DevCamp Campinas
 
Fábio Lima Santos - Desenhando aplicações que evoluem
Fábio Lima Santos - Desenhando aplicações que evoluemFábio Lima Santos - Desenhando aplicações que evoluem
Fábio Lima Santos - Desenhando aplicações que evoluemDevCamp Campinas
 
João Emilio Santos Bento da Silva - Estratégia de APIs
João Emilio Santos Bento da Silva - Estratégia de APIsJoão Emilio Santos Bento da Silva - Estratégia de APIs
João Emilio Santos Bento da Silva - Estratégia de APIsDevCamp Campinas
 
José Guedes - Como encaramos quando as coisas dão errado
José Guedes - Como encaramos quando as coisas dão erradoJosé Guedes - Como encaramos quando as coisas dão errado
José Guedes - Como encaramos quando as coisas dão erradoDevCamp Campinas
 
Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...
Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...
Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...DevCamp Campinas
 
Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...
Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...
Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...DevCamp Campinas
 
Ingrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiro
Ingrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiroIngrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiro
Ingrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiroDevCamp Campinas
 
Igor Hjelmstrom Ribeiro - Bitcoin: desafios de segurança frente à ataques de...
Igor Hjelmstrom Ribeiro -  Bitcoin: desafios de segurança frente à ataques de...Igor Hjelmstrom Ribeiro -  Bitcoin: desafios de segurança frente à ataques de...
Igor Hjelmstrom Ribeiro - Bitcoin: desafios de segurança frente à ataques de...DevCamp Campinas
 
Fabio De Santi e Thiago Urtaran - Smart cities: um caso real, a arquitetura d...
Fabio De Santi e Thiago Urtaran - Smart cities: um caso real, a arquitetura d...Fabio De Santi e Thiago Urtaran - Smart cities: um caso real, a arquitetura d...
Fabio De Santi e Thiago Urtaran - Smart cities: um caso real, a arquitetura d...DevCamp Campinas
 

More from DevCamp Campinas (20)

Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency appDylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
 
Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...
Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...
Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...
 
Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...
Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...
Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...
 
Eiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learningEiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learning
 
Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...
Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...
Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...
 
Leonardo Zamariola - High Order Functions e Functional Interfaces
Leonardo Zamariola - High Order Functions e Functional InterfacesLeonardo Zamariola - High Order Functions e Functional Interfaces
Leonardo Zamariola - High Order Functions e Functional Interfaces
 
Lara Rejane - Gestão ágil de pessoas
Lara Rejane - Gestão ágil de pessoasLara Rejane - Gestão ágil de pessoas
Lara Rejane - Gestão ágil de pessoas
 
Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?
Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?
Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?
 
Erick Zanardo - Desenvolvimento de Jogos em Flutter
Erick Zanardo - Desenvolvimento de Jogos em FlutterErick Zanardo - Desenvolvimento de Jogos em Flutter
Erick Zanardo - Desenvolvimento de Jogos em Flutter
 
Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...
Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...
Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...
 
Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...
Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...
Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...
 
Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...
Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...
Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...
 
Fábio Lima Santos - Desenhando aplicações que evoluem
Fábio Lima Santos - Desenhando aplicações que evoluemFábio Lima Santos - Desenhando aplicações que evoluem
Fábio Lima Santos - Desenhando aplicações que evoluem
 
João Emilio Santos Bento da Silva - Estratégia de APIs
João Emilio Santos Bento da Silva - Estratégia de APIsJoão Emilio Santos Bento da Silva - Estratégia de APIs
João Emilio Santos Bento da Silva - Estratégia de APIs
 
José Guedes - Como encaramos quando as coisas dão errado
José Guedes - Como encaramos quando as coisas dão erradoJosé Guedes - Como encaramos quando as coisas dão errado
José Guedes - Como encaramos quando as coisas dão errado
 
Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...
Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...
Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...
 
Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...
Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...
Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...
 
Ingrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiro
Ingrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiroIngrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiro
Ingrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiro
 
Igor Hjelmstrom Ribeiro - Bitcoin: desafios de segurança frente à ataques de...
Igor Hjelmstrom Ribeiro -  Bitcoin: desafios de segurança frente à ataques de...Igor Hjelmstrom Ribeiro -  Bitcoin: desafios de segurança frente à ataques de...
Igor Hjelmstrom Ribeiro - Bitcoin: desafios de segurança frente à ataques de...
 
Fabio De Santi e Thiago Urtaran - Smart cities: um caso real, a arquitetura d...
Fabio De Santi e Thiago Urtaran - Smart cities: um caso real, a arquitetura d...Fabio De Santi e Thiago Urtaran - Smart cities: um caso real, a arquitetura d...
Fabio De Santi e Thiago Urtaran - Smart cities: um caso real, a arquitetura d...
 

Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas após quase 2 anos de desafios

  • 1. Nextel + React Native: Lições aprendidas após quase 2 anos de desafios
  • 3. 29 anos - Guarulhos - SP Bacharel em Ciência da Computação e Mestrando em Física e Astronomia, pela Universidade do Vale do Paraíba (UNIVAP). Com início em 2012, minha carreira como desenvolvedor para plataforma da maçã foi bastante diversificada em experiências, desenvolvi apps para os mercados de eventos, automotivo, infantil e varejo. Hoje atuo como líder técnico do time de mobile da Nextel, onde estou desde 2017. Principais hobbies são Astronomia, Ciência, Hackathons, Swift e Tênis de Mesa. Felipe Antonio Cardoso Líder Técnico iOS Mini Bio
  • 4. Gabriel Pacheco Coordenador Técnico Front 29 anos - São Paulo - SP Casado com Gabriela Pacheco Pai da Nina Sou viciado em pesca e tem como hobbies tocar alguns instrumentos e cantar Bacharel em Ciência da Computação pelo Mackenzie Formação profissional bem Nutella, comparada com outros profissionais da minha idade, trabalhando sempre no mundo Mobile. Em 2012-2013 tive um aplicativo de localização dos ônibus de São Paulo chamado Onde está meu ônibus? Mini Bio
  • 5. Temos uma herança de inovações revolucionárias, exemplificadas na tecnologia Push-to-Talk, que nos leva a continuar a alimentar nosso espírito empreendedor e a desafiar os padrões do setor. Nextel Início da era Nextel
  • 6. Nextel Sermos a empresa de telecomunicações mais admirada e de mais confiança, reconhecidos pela excelência no atendimento, na inovação e contribuição para com as comunidades em que operamos. Nossa visão
  • 7. Nextel - Apps Melhores notas nas lojas entre todas as telecoms do Brasil Meu Nextel iOS - 4.6 Meu Nextel Android - 4.5 Happy iOS - 4.7 Happy Android - 4.0
  • 9. Nextel A.R.N. (Antes do React Native) ● 4 aplicativos de atendimento aos planos nas lojas ● Equipes de desenvolvedores nativos de alto desempenho ○ 7 desenvolvedores iOS ○ 4 desenvolvedores Android ● Aplicativo Happy com arquitetura e desempenho 5 ★ ● Aplicativo Meu Nextel à todo vapor em refactors Cenário no desenvolvimento de apps em 2017
  • 10. Nextel A.R.N. (Antes do React Native) 2018 - Novos direcionamentos ● Equilibrar investimentos e retorno ● Objetivo de unificar produtos/code bases ● Manter a qualidade dos nosso aplicativos ● Sustentar o crescimento/evolução
  • 11. "React Native será 3 vezes mais rápido para desenvolver e 3 vezes mais barato"
  • 12. React Native: Como começamos Formação da equipe e conteúdo de estudo ● 3 Desenvolvedores iOS. ● 2 Desenvolvedores REACT WEB. ● Paradigma dev. WEB. ● Javascript. ● REDUX. ● Componentização ● Navegação no aplicativo. ● Objetivo: Pré-Pago Nextel.
  • 13. RAGNAROK A destruição cataclísmica do cosmos e de tudo que nele há - incluindo os Deuses.
  • 15. NIFLHEIM "É terceiro e último nível, o domínio dos mortos. É um local gelado, onde a noite não tem fim e para onde os homens de mau caráter são enviados após a morte."
  • 16. Niflheim Niflheim Pré-Pago Componentes Visuais Camada de Rede Lógica de Negócio ● Início: Fevereiro de 2018. ● Projeto iniciado a partir do projeto "Hello World" do React-Native, integrando React-Native-Web. ● Tempo investido: 4 mêses. ● Boa curva de aprendizado e adaptação ao novo ecossistema.
  • 17. Niflheim A aplicação WEB * Imagem ilustrativa * Imagem ilustrativa
  • 18. Niflheim A aplicação mobile * Imagen ilustrativa * Imagen ilustrativa
  • 19. Niflheim Niflheim Pré-Pago Componentes Visuais Camada de Rede Lógica de Negócio ● Código específico para Mobile e outro para Web, em algumas situações. ● A experiência de manter o projeto web junto do projeto mobile não estava sendo muito boa. ● Os fluxos que desenvolvemos poderiam ser modularizados de alguma forma. Analise após o MVP - Mínimo Produto Viável
  • 20. O Lokinho meu Pré-Pago - Web Thor Pré-Pago - Mobile Fim do Niflheim - Deuses se juntam ao Ragnarok Jord Componente Visuais Odin Networking - API Freya Componentes Visuais ● Separamos os projetos RN e React. ● Criamos bibliotecas para as camadas visuais e de rede. ● Mais Devs se juntaram à nós.
  • 21. Jun/2018 - Airbnb: Sunsetting React Native Um dos maiores cases do uso do React-Native, deixa de usar a tecnologia. ● Airbnb - Failing to Reach Our Goals: ○ Velocidade. ○ Manter a qualidade. ○ Escrever código uma única vez, ao invés de duas. ○ Melhorar a experiência do usuário.
  • 22. Jun/2018 - Airbnb: Sunsetting React Native Um dos maiores cases do uso do React-Native, deixa de usar a tecnologia. ● O que deu certo (13 items): ○ Código multiplataforma. ○ Unified Design Language System. ○ React. ○ Performance. ○ Redux. ○ Flexbox.
  • 23. Jun/2018 - Airbnb: Sunsetting React Native Um dos maiores cases do uso do React-Native, deixa de usar a tecnologia. ● O que não deu muito certo (19 items): ○ Imaturidade do RN. ○ Manter um fork do framework. ○ Refactoring. ○ Bibliotecas de código aberto do React-Native. ○ Monitoramento de Crashes. ○ Tempo de inicialização ○ Acessibilidade
  • 24. O React Native e Nativo na Nextel React-Native e Nativo em um só app. ● O produto que nossa equipe desenvolveu até aqui precisaria estar no app principal da Nextel. ● Nextel começa a adotar o formato de Squads. ● Oportunidade de desenvolver uma solução de integração entre o nativo e o React-Native. Thor Pré-Pago - Mobile
  • 25. BIFROST "Ponte que faz a liga o domínio dos deuses, Asgard, e a Terra, Midgard, terra dos mortais"
  • 26. Bifrost O que é a Bifrost? ● Um projeto nativo iOS e Android que usa dos recursos do React para carregar um App.js, gerado por uma aplicação React-Native, para dentro de um app nativo.
  • 27. import React class ReactViewController: UIViewController { //… swift code } extension ReactViewController: RCTBridgeDelegate { public override func loadView() { self.view = RCTRootView( bridge: RCTBridge.init(delegate: self, launchOptions: [:]), moduleName: self.moduleName, //Ex: "Thor" initialProperties: self.props //Any Parameter ) } } Bifrost
  • 28. Bifrost V1 da Bifrost Thor Pré-Pago - Mobile Bifrost pod 'Thor', 'x.x.x' pod 'Bifrost', 'x.x.x'
  • 29. Bifrost V2 - Melhorando e evoluindo Thor Pré-Pago - Mobile Bifrost pod 'Thor', 'x.x.x'
  • 30. 1. pod 'Thor', '0.0.1' 2. import Thor 3. PresentThor.showPrePaid(from: self.rootViewController) Bifrost
  • 31. "A Bifrost é muito simples de integrar no projeto. É tão simples quanto para remover. =) " 2018 - Barrault, Antoine
  • 34. Entregas pela Bifrost Solicitação e status de portabilidades
  • 35. Entregas pela Bifrost Status de portabilidade - Área não logada
  • 36. Entregas pela Bifrost Cadastro de Débito Automático 89,6% de Task Success
  • 37. Entregas pela Bifrost Cadastro de Débito Automático
  • 38. Conclusão + Existe vida fora do nativo + JS + React Web atrai muitos desenvolvedores web para o mundo mobile + Compartilhamento de code base (PARCIAL) + Performático - Cenário Híbrido - Debugging complicado - Cenário Híbrido - Necessidade de uma Bifrost ou até algo assim menos Plug&Play - Cenário Híbrido - Necessidade de Skills Nativas para finalizar integração sobre React Native
  • 39. #FICAADICA ● Definir bem seu produto ● Avaliar melhor solução técnica para maximizar o desenvolvimento ● Equalização do time de acordo com a solução técnica escolhida ● NÃO TER PRECONCEITOS sobre desenvolvimento de aplicações mobile
  • 41. Digital Team Contatos Gabriel Pacheco Felipe Antonio Cardoso Email: felipe.cardoso@nextel.com.br Twitter: @FelipeCardoso89 Email: gabriel.pacheco2@nextel.com.br Twitter: @Pacheco_Gab