O documento discute a importância de não depender apenas do framework para o desenvolvimento de projetos, mas sim de entender os princípios de back-end e de escolher o framework correto para o projeto. Também apresenta exemplos de frameworks populares e um caso de sucesso do Instagram, desenvolvido inicialmente por dois programadores sem muita experiência em back-end.
1. Não deixe seu projeto só
nas mãos do framework
{
Giuseppe Lopes
Desenvolvedor Back-‐‑end SaaS -‐‑ Kinghost
2. Ñ Giuseppe Lopes
Ñ Mais de 6 anos de experiência com
desenvolvimento de aplicações de acesso
crítico;
Ñ Especialista em MVC, Webservices e Core de
aplicações críticas;
Ñ Consultor de TI;
Ñ ZCE (Zend Certified Engineer)
Ñ Apaixonado por tecnologia;
Ñ Curioso por natureza;
Ñ Interesses em: Cloud Computing, SaaS, Agile,
SOA, Mobile e Back-‐‑end!
Quem sou
8. Ñ Camada de nível mais baixo;
Ñ Não interage com o usuário;
Ñ Tem seu alicerce nos Padrões de Projetos:
Ó MVC;
Ó Singleton;
Ó Factory;
Ó Adapter;
Ó Proxy;
Ó Minimizar o acoplamento;
Ó E mais outros 479872343
Back-‐‑end
9. Ñ Conjunto de artefatos;
Ñ Interage com outros “atores”:
Ó Banco de dados;
Ó Serviços;
Ó Sistema de Arquivos;
Ó Webservices;
Ñ Faz a mágica acontecer;
Ñ O Back-‐‑end precisa estar preparado para
mudanças;
Back-‐‑end
10. Ñ Cérebro da aplicação;
Ñ Falhas impactam diretamente na aplicação;
Ñ Precisa ser:
Ó Consistente;
Ó Rastreável;
Ó Testável (foi feito para falhar);
Ó De fácil manutenção;
Ñ “Só” isso!
Back-‐‑end
16. “A framework is not
absolutely necessary: it is
just one of the tools that is
available to help you
develop beVer and
faster”
@Symfony
Frameworks
17. Melhor, porque um framework fornece a certeza
de que você está desenvolvendo um aplicativo que
está em total conformidade com as regras
de negócios, que está estruturado, e que é
ao mesmo tempo sustentável e
atualizável.
Frameworks
18. Mais rápido, porque permite que os
desenvolvedores economizem tempo
através da reutilização de módulos genéricos,
a fim de se concentrar em outras áreas.
Frameworks
19. Ñ TOOLBOX
Ó Conjunto de componentes de SW pré-‐‑
fabricados que se integram facilmente;
Ñ METHODOLOGY
Ó Fornece uma linha de desenvolvimento
sustentável e escalável de software;
Ñ Provê uma solução genérica para
uma família de problemas
semelhantes;
Frameworks
20. Foco na tarefa a se desenvolver e não na
tecnologia adotada!
Frameworks
21. Ó Aí que mora o perigo..
Ó Frameworks fornecem muitas opções..
Ó Opções genéricas..
Ó FOCO deve se MANTER NO
PRODUTO DE SW que estamos
desenvolvendo e NÃO em usar tudo o
que o framework oferece;
Ó TESTAR é ESSENCIAL!
Frameworks
22. Ó A escolha de um framework
implica estar de acordo com a
metodologia e os padrões
adotados pelo framework.
Frameworks
24. Ñ Mas qual é o melhor?
Ñ No Silver Bullet!
Ñ O que é bom para uns não quer dizer que
seja o melhor para o seu time!
Ñ Encontre o melhor para o seu time!
Exemplos
25. É possivel desenvolver algo
legal, sem experiência em back-‐‑
end, de forma que possa
suportar bastante acesso?
Case
27. Ñ Dois caras de produtos;
Ñ Uma ideia e a vontade de criar algo legal;
Ñ Sem experiência real em Back-‐‑end;
Ñ Escolheram a linguagem que tinham
experiência;
Ñ Adotaram algunS frameworkS que estavam de
acordo com o foco deles;
Ñ Simplicidade;
Ñ Otimizado para uma carga operacional
mínima;
Case
28. Ñ 2010 – 2 Engenheiros de Software
Ñ 2011 – 3 Engenheiros de Software
Ñ 2012 – 5 Engenheiros de Software
Ñ 30 milhões de usuários
Ñ Lançaram para Android;
Ñ 1 milhão de novos usuários em 12 horas;
Ñ 83.333,33 novos usuários por hora
Ñ 1388,88 novos usuários por
segundo!
Case
29. Ñ O Back-‐‑end precisa ser bem elaborado!
Ñ Adotar padrões e seguir boas práticas é
essencial;
Ñ Reutilizável;
Ñ De fácil manutenção;
Ñ ESCALÁVEL;
Ñ Sutileza em tornar simples e bem estruturado;
Conclusões
30. Ñ Frameworks não são balas de prata!
Ñ A escolha de um framework é essencial para o
sucesso do projeto;
Ñ Foco em gerar valor!
Ñ Redução no time-‐‑to-‐‑market > MVP (Minimun
Viable Product)
Ñ Maior consistência e compatibilidade entre
aplicações;
Ñ Curva de aprendizado;
Conclusões
31. Ñ Existe muito material atualmente;
Ñ Muita coisa ruim também!
Ñ Saber filtrar pode exigir atenção redobrada;
Ñ Procurar em Papers, publicações acadêmicas e
artigos também!
Ñ Estudar x Estudar x Estudar
Ñ Testar x Testar x Testar
Conclusões
32. Ñ Dr. Jacques Philippe Sauvé -‐‑ Associate
Professor of Computer Science Federal
University of Campina Grande
Ñ Cristian Reis -‐‑ No Silver Bullet: essence and
accidents of software engineering
Ñ Martin Fowler Site
Ñ hxp://framework.zend.com
Ñ hxp://symfony.com/
Ñ hxp://cakephp.org/
Ñ hxp://ellislab.com/codeigniter
Bibliografia Recomendada