Nós desenvolvedores muitas vezes temos ideias de negócios milionários e de grande impacto, mas normalmente temos dificuldade em definir qual tecnologia utilizar para tirar essas ideias do papel. Um conceito muito utilizado no meio de startups é o MVP, ou Minimo Produto Viável. Basicamente, você cria o menor produto possível da sua grande ideia, ou seja, um protótipo. Assim, você consegue identificar e corrigir os problemas rapidamente ou descartar o modelo caso necessário. Nesta palestra, apresento formas de utilizar o UpStream de tecnologias como Micro Services, DDD, TDD e REST para construir APIs escaláveis de MVP. Se você tomar a decisão certa no início, dificilmente precisará trocar seu framework ou tecnologia utilizada pra atender à evolução.
2. QUEM SOU?
@romeumattos
24 anos
São José-SC
Estudante de Computação
Backend Developer @Exibe.me
Desenvolvedor web há 5 anos
Início complicado com ASP :(
4 anos com PHP o/
5. MVP
“Produto mínimo viável (MVP, do original
Minimum Viable Product) é a versão mais
simples de um produto que pode ser
lançada com uma quantidade mínima de
esforço e tempo de desenvolvimento”
Eric Ries - The LEAN STARTUP
12. FRAMEWORKS FULL STACK
Já vem cheio de ferramentas
Maior curva de aprendizado
Pode ser mais pesado
Remover o Desnecessário?
Bastante funcionalidades
Impõe uma estrutura/organização
Componentes básicos
Monolítico
19. THE MICRO PHP MANIFESTO
Eu sou um desenvolvedor PHP
Eu gosto de construir coisas pequenas
Eu quero menos código, não mais.
Eu gosto de construir coisas pequenas com fins simples
Eu gosto de construir coisas pequenas que trabalham
em conjunto para resolver problemas maiores
Eu quero escrever menos código, não mais
Eu quero gerenciar menos código, não mais
22. DDD - DOMAIN DRIVEN DESIGN
Não acoplar código da aplicação no framework
Atualizar ou trocar o framework de forma mais
tranquila
Não focar na tecnologia em si, mas sim nas
regras de negócios e como isso vai estar
representado no código.
23. TDD - TEST DRIVEN DEVELOPMENT
TDD é uma cultura.
Qualidade
Segurança
Ganha horas, dias e semanas.
Não escolha um framework sem testes
automatizados