Upload
king-host
View
187
Download
0
Embed Size (px)
DESCRIPTION
Palestra do Giuseppe Lopes no primeiro Conexão Kinghost, 29/11/12, em Porto Alegre
Citation preview
{
Não deixe seu projeto só nas mãos do framework
Giuseppe LopesDesenvolvedor 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!
Mas ajudam bastante!
“A framework is not absolutely necessary: it is just one of the tools that is
available to help you develop better 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 http://framework.zend.com http://symfony.com/ http://cakephp.org/ http://ellislab.com/codeigniterBibliografia
Recomendada
Dúvidas?
E-mail: [email protected] Twitter: @giuseppe_lopes SlideShare: slideshare.net/giuseppelopes
Obrigado! =)