{ Não deixe seu projeto só nas mãos do framework Giuseppe Lopes Desenvolvedor Backend SaaS Kinghost
Dec 25, 2014
{
Não deixe seu projeto só nas mãos do framework
Giuseppe Lopes Desenvolvedor Back-‐‑end SaaS -‐‑ Kinghost
Ñ 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
Ñ Introdução Ñ Back-‐‑end; Ñ Frameworks; Ñ Exemplos; Ñ Case; Ñ Conclusões; Ñ Referências; Ñ Dúvidas e contatos;
Agenda
Ñ Foco da palestra: Ñ A importância do Back-‐‑end e da escolha do Framework para o desenvolvimento de sua aplicação;
Introdução
Ñ Back-‐‑end?? Ñ Framework???
Introdução
WTF?!?!?!
Ñ Linguagens: Ó Php, Java, .NET, Obj-‐‑C, Python..
Ñ Orientadas a objetos; Ñ Padrões de Projeto; Ñ Técnicas de otimização;
Ñ Desenvolver é aprender;
Introdução
E o Back-‐‑end?
Ñ 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
Ñ 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
Ñ 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
Tantos padrões.. Tantas preocupações..
Tantas responsabilidades..
Frameworks!
Vieram para resolver tudo então?!
NÃO!
K
Mas ajudam bastante!
J
“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
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
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
Ñ 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
Foco na tarefa a se desenvolver e não na tecnologia adotada!
Frameworks
Ó 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
Ó A escolha de um framework implica estar de acordo com a metodologia e os padrões adotados pelo framework.
Frameworks
Atualmente temos muitos frameworks..
Exemplos
Ñ 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
É possivel desenvolver algo legal, sem experiência em back-‐‑
end, de forma que possa suportar bastante acesso?
Case
Case
Esses caras dizem que sim!
Mike Krieger
Kevin Systrom
Case
Ñ 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
Ñ 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!
Ñ 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
Ñ 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
Ñ 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
Ñ 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
Ñ Dúvidas?
Ñ E-‐‑mail: [email protected] Ñ Twixer: @giuseppe_lopes Ñ SlideShare: slideshare.net/giuseppelopes
Obrigado! =)