Palestra realizada na Campus Party GO 2019.
Descrição: Nos dias de hoje, a necessidade de realizar entregas (rápidas) de valor do seu produto ao seu cliente aumentou exponencialmente. O acesso fácil e organizado à informação fez com que o público em geral se tornasse mais exigente. Um dia de atraso em uma melhoria ou correção podem comprometer o trabalho de anos.
Nessa palestra irei abordar os conceitos e benefícios de um ambiente voltado a entregas contínuas. Para exemplificar a importância desse processo iremos conhecer o codepush, ferramenta que permite a atualização de aplicativos sem a necessidade de uma nova publicação nas lojas.
3. Quem sou eu ?
Rodolfo Bueno
Desenvolvedor: 9+ anos
Líder Técnico: 4+ anos
Atualmente trabalho na TOTVS Goiânia.
Filho de uma mãe: 30 anos
Esposo de uma fisioterapeuta: 2+ anos
Corredor de rua: 2+ anos
Futuro maratonista ! =]
linkedin.com/in/rodolfobueno
@buenorodolfo
4. Nos dias de hoje ...
Tive uma ideia !!
Preciso ficar rico(a) !
$$$$$$$$$$$$$$
5. Desafios
Descobrir como validar sua boa ideia, transformá-la em um
sistema/app e entregá-lo aos usuários o quanto antes.
Aplicativo em produção ?
Manter meu produto atualizado de acordo com as
necessidades dos meus clientes e as tendências
de mercado.
7. Minha frustração
14 dias para conseguir atualizar um APP feito em React Native na Apple
Store corrigindo itens que não tinham sido ‘gerados’ por mim e que já
existiam no APP.
Meu desejo
Eu PRECISO fazer entregas mais rápidas para meus clientes.
8. - Será que realmente tem como tornar esse
processo menos doloroso ?
- Como vou corresponder as necessidades do
mercado em tempo hábil diante dos obstáculos ?
- É possível ser feliz como programador ?
- É possível algum time goiano ser campeão
brasileiro da série A ?
11. Um passo de cada vez
Integração Contínua
Deploy Contínuo
Entrega Contínua
12. Martin Fowler
“Continuous Integration is a software development
practice where members of a team integrate their work
frequently, usually each person integrates at least daily -
leading to multiple integrations per day. Each integration
is verified by an automated build (including test) to detect
integration errors as quickly as possible. Many teams find
that this approach leads to significantly reduced
integration problems and allows a team to develop
cohesive software more rapidly..”
Integração contínua
13. Qual o mínimo de Integração contínua que eu devo ter ?
Versionamento de código
Build automatizado
Testes automatizados
14. Entrega contínua x Deploy Contínuo
“Continuous Delivery is the ability to get changes of all types—including new features, configuration
changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly
in a sustainable way.”
Martin Fowler
Benefícios
- Lançamento de releases com baixo risco
- Rápida resposta ao mercado
- Maior qualidade
- Menores custos
- Times mais felizes
15. Entrega contínua x Deploy Contínuo
(o usuário decide) (totalmente automatizado)
16. O que é ? Pra que serve ? O que come ?
É uma solução criada pela Microsoft que permite a atualização de
pedaços de código feitos em Javascript sem que seja necessária
uma nova publicação na loja.
Obs:
- Alterações em códigos nativos tem que passar pelo processo tradicional de atualização.
- As lojas permitem o uso de ferramenta desde que suas alterações não sejam muito
drásticas. Ex: Mudar toda a forma de navegação do aplicativo.
Voltando ao Codepush...
20. Controle por ambiente e versionamento
- STAGING
- PRODUCTION
- Qualquer outra que você queira criar
Versionamento
- O codepush irá controlar as atualizações através do ‘Target Version’. Ou seja, essa versão não mudará quando você resolver
subir uma nova versão do seu app com uma correção ou atualização.
30. Obrigado!
Alguma dúvida ?
“se sei digo que sei se não sei digo que não sei”
Rodolfo Azevedo Bueno
rodolfo.bueno13@gmail.com
@buenorodolfo
https://www.linkedin.com/in/rodolfobueno
@comunidadegojs
31. CREDITS
This is where you give credit to the ones who are part of this project.
● Presentation template by Slidesgo
● Icons by Flaticon
● Infographics by Freepik
● Images created by Freepik
● Author introduction slide photo created by Freepik
● Text & Image slide photo created by Freepik