Como criar seu próprio Framework
-
Upload
hiarison-gigante -
Category
Documents
-
view
2.527 -
download
2
description
Transcript of Como criar seu próprio Framework
![Page 1: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/1.jpg)
Como criar seu próprio Framework Web
Hiarison Gigante @gigantedesousa
![Page 2: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/2.jpg)
Apresentação
- Desenvolvedor (~ 5 anos) - Hobbysta de eletrônica - Atualmente bolsista NCA
![Page 3: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/3.jpg)
como criar um framework web?!1!
![Page 4: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/4.jpg)
mas... o que é framework?
![Page 5: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/5.jpg)
![Page 6: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/6.jpg)
![Page 7: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/7.jpg)
![Page 8: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/8.jpg)
![Page 9: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/9.jpg)
![Page 10: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/10.jpg)
![Page 11: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/11.jpg)
![Page 12: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/12.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/13.jpg)
Quem é Erich Gamma?
![Page 14: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/14.jpg)
De onde veio a ideia?
![Page 15: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/15.jpg)
De onde veio a ideia?
![Page 16: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/16.jpg)
Conceituação...
Conceituação...
![Page 17: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/17.jpg)
Conceituação...
![Page 18: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/18.jpg)
Não parece novidade...
![Page 19: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/19.jpg)
Não parece novidade...
Biblioteca de Classes X
Framework
![Page 20: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/20.jpg)
Diferença
Conceituação...
![Page 21: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/21.jpg)
Hollywood Principle
![Page 22: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/22.jpg)
“Don't call us, we'll call you”
![Page 23: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/23.jpg)
Design Patterns X
Framework
![Page 24: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/24.jpg)
Design Patterns
- Mais abstratos - Menos especializados
![Page 25: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/25.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/26.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/27.jpg)
Exemplos (alguns)
![Page 28: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/28.jpg)
Por que, então, criar um framework?
![Page 29: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/29.jpg)
Minha história
![Page 30: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/30.jpg)
Fabien Potencier
![Page 31: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/31.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/32.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/33.jpg)
“Meus” padrões (alguns)
MVC
![Page 34: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/34.jpg)
“Meus” padrões (alguns)
![Page 35: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/35.jpg)
“Meus” padrões (alguns)
Template Method (GoF Comportamental)
![Page 36: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/36.jpg)
![Page 37: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/37.jpg)
Show me the code!
![Page 38: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/38.jpg)
Perguntas?
![Page 39: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/39.jpg)
Obrigado!
Hiarison Gigante @gigantedesousa
bitbucket.org/gigante
![Page 40: Como criar seu próprio Framework](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/40.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/41.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020207/55709fa6d8b42a5d288b4749/html5/thumbnails/42.jpg)
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