42
Como criar seu próprio Framework Web Hiarison Gigante @gigantedesousa

Como criar seu próprio Framework

Embed Size (px)

DESCRIPTION

Apresentação realizada no Aniversário do curso de Ciência da Computação da Universidade Federal do Maranhão (UFMA). O objetivo é apresentar a definição de framework, mostrar alguns padrões de projeto e um case de um pequeno framework chamado LizPHP.

Citation preview

Page 1: Como criar seu próprio Framework

Como criar seu próprio Framework Web

Hiarison Gigante @gigantedesousa

Page 2: Como criar seu próprio Framework

Apresentação

- Desenvolvedor (~ 5 anos) - Hobbysta de eletrônica - Atualmente bolsista NCA

Page 3: Como criar seu próprio Framework

como criar um framework web?!1!

Page 4: Como criar seu próprio Framework

mas... o que é framework?

Page 5: Como criar seu próprio Framework
Page 6: Como criar seu próprio Framework
Page 7: Como criar seu próprio Framework
Page 8: Como criar seu próprio Framework
Page 9: Como criar seu próprio Framework
Page 10: Como criar seu próprio Framework
Page 11: Como criar seu próprio Framework
Page 12: Como criar seu próprio Framework

Conceito

Um framework é um conjunto de classes cooperantes que compõem um projeto reutilizável para uma classe específica de software Erich Gamma

Page 13: Como criar seu próprio Framework

Quem é Erich Gamma?

Page 14: Como criar seu próprio Framework

De onde veio a ideia?

Page 15: Como criar seu próprio Framework

De onde veio a ideia?

Page 16: Como criar seu próprio Framework

Conceituação...

Conceituação...

Page 17: Como criar seu próprio Framework

Conceituação...

Page 18: Como criar seu próprio Framework

Não parece novidade...

Page 19: Como criar seu próprio Framework

Não parece novidade...

Biblioteca de Classes X

Framework

Page 20: Como criar seu próprio Framework

Diferença

Conceituação...

Page 21: Como criar seu próprio Framework

Hollywood Principle

Page 22: Como criar seu próprio Framework

“Don't call us, we'll call you”

Page 23: Como criar seu próprio Framework

Design Patterns X

Framework

Page 24: Como criar seu próprio Framework

Design Patterns

- Mais abstratos - Menos especializados

Page 25: Como criar seu próprio Framework

Vantagens Framework

- Redução de custos - Redução do “time-to-market” - Maximização do reuso - Desenvolvedores se concentram em

adicionar valor ao software

Page 26: Como criar seu próprio Framework

Desvantagens Framework

- Construir um framework é complexo - Reuso não vem sozinho: é preciso

planejamento - Os benefícios são realizados a longo

prazo

Page 27: Como criar seu próprio Framework

Exemplos (alguns)

Page 28: Como criar seu próprio Framework

Por que, então, criar um framework?

Page 29: Como criar seu próprio Framework

Minha história

Page 30: Como criar seu próprio Framework

Fabien Potencier

Page 31: Como criar seu próprio Framework

Bons motivos

- Por aprendizado e diversão - Criar para um domínio específico - Deseja refatorar um código já

existente - Para provar ao mundo que você é

capaz!

Page 32: Como criar seu próprio Framework

A minha ideia (LizPHP)

- Roteamento de requisições simples - Configuração de ambientes:

desenvolvimento e produção - Abstração Camada de Dados - Modelo de renderização de páginas

com mais html - Linguagem: PHP

Page 33: Como criar seu próprio Framework

“Meus” padrões (alguns)

MVC

Page 34: Como criar seu próprio Framework

“Meus” padrões (alguns)

Page 35: Como criar seu próprio Framework

“Meus” padrões (alguns)

Template Method (GoF Comportamental)

Page 36: Como criar seu próprio Framework
Page 37: Como criar seu próprio Framework

Show me the code!

Page 38: Como criar seu próprio Framework

Perguntas?

Page 39: Como criar seu próprio Framework

Obrigado!

Hiarison Gigante @gigantedesousa

bitbucket.org/gigante

Page 40: Como criar seu próprio Framework

Referencias

http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/frame/oque.htm http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/frame/deffw.htm http://www2.dbd.puc-rio.br/pergamum/tesesabertas/0410823_06_cap_02.pdf http://pt.wikipedia.org/wiki/Framework http://pt.wikipedia.org/wiki/Template_Method https://github.com/fabpot/Create-Your-Framework http://martinfowler.com/books/#eaa

Page 41: Como criar seu próprio Framework

Imagens

http://upload.wikimedia.org/wikipedia/commons/7/79/Lego_Mongkok_02.jpg http://img.gawkerassets.com/img/17uoztzz3eu9rjpg/original.jpg http://www.instablogsimages.com/1/2012/03/24/brads_lego_guitar_image_title_gkioy.jpg http://4.bp.blogspot.com/-KQSPX3_w6pg/Trv-ssF12WI/AAAAAAAAAkY/bCT9CcipOOQ/s1600/lego-city_1.jpg http://2.bp.blogspot.com/-Fk4PIJPi3b0/ToUWx4CzFhI/AAAAAAAACeQ/snst8wzcUUs/s1600/Minecraft-1.91.jpg http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/frame/frame1.gif http://upload.wikimedia.org/wikipedia/commons/2/20/ClassDiagramTemplateMethod.png http://www.touilleur-express.fr/wp-content/uploads/2012/01/erich_gamma.jpg http://codinghorror.typepad.com/.a/6a0120a85dcdae970b012877701400970c-pi http://guiadoestudante.abril.com.br/blogs/melhores-faculdades/files/2012/04/salario-de-um-engenheiro-civil.png http://www.trigopane.com.br/blog/wp-content/uploads/2012/06/18_sufle.jpg

Page 42: Como criar seu próprio Framework

Imagens

http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/frame/frame3.gif http://images.politico.com/global/2012/06/120621_hollywood_sign_ap_605.jpg http://alcaz.com.br/tecnologia/wp-content/uploads/2012/05/nerd2.jpg http://codeworks.com.br/pages/artigos/wp-content/uploads/2012/06/zf-logo-mark.png http://symfony.com/logos/symfony1.gif http://portal.ifrn.edu.br/campus/caico/noticias/desenvolvimento-web-com-ruby-on-rails/image_preview http://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Pair_programming_1.jpg/330px-Pair_programming_1.jpg http://www.extreme-sensio.com/wp-content/uploads/sensio/07_people/fabien-potencier-480x150.jpg http://london2012.live.symfony.com/images/sensio-labs.png http://mbanagouro.net/site/wp-content/uploads/2012/02/mvc-pipeline.png http://4.bp.blogspot.com/-ybcKBKeP_XI/T9wNl8c-jtI/AAAAAAAABco/_AawSUArPbY/s1600/perguntas_frequentes.jpg