PHPZEIRO: Adote um framework
-
Upload
leo-hackin -
Category
Technology
-
view
679 -
download
0
description
Transcript of PHPZEIRO: Adote um framework
![Page 1: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/1.jpg)
Adote um framework!
![Page 2: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/2.jpg)
![Page 3: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/3.jpg)
@leohackin
Q vergonha
Léo Hackin (Rá-kim)
![Page 4: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/4.jpg)
![Page 5: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/5.jpg)
E-commerceConsultoria
Desenvolvimento
www.giran.com.br
![Page 6: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/6.jpg)
+Kim
![Page 7: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/7.jpg)
Já trampou com PHP macarronada e tudo mais
Já trabalhou com designers
Hoje usa frameworks
E é feliz :)
![Page 8: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/8.jpg)
Pensa rápido! Qual a forma mais efetiva de parafusar um parafuso
bem parafusado na parede?
![Page 9: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/9.jpg)
Com uma chave de fenda?
Não! Com um martelo seu jegue... ¬¬
![Page 10: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/10.jpg)
Mas será que não tem um jeito mais melhor não? =(
A-há! Sempre tem!
![Page 11: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/11.jpg)
Linguagem para apps simples
POGramadores doidões
Baixa remuneração
Não testam nada
Fazem tudo na coxa
Não servem pra sistemas “sérios”
![Page 12: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/12.jpg)
Já falaram o que pra você?
![Page 13: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/13.jpg)
![Page 14: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/14.jpg)
Macarronada não é ruim, mas a longo prazo ...
engorda
te deixa lento
é difícil de digerir
![Page 15: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/15.jpg)
As pessoas não fazem do jeito mais MELHOR por que ...
Não conhecem novas formas de alcançar o
que desejam
Ui
Ei gatinha
![Page 16: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/16.jpg)
Acham que o que elas fazem é perfeito, dá
conta do recado ou “dá pro gasto”
As pessoas não fazem do jeito mais MELHOR por que ...
![Page 17: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/17.jpg)
É ruim porque demora, e tempo é
dinheiro!
As pessoas não fazem do jeito mais MELHOR por que ...
![Page 18: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/18.jpg)
Simplemesmente não sabem poronde começar para melhorar seu
desempenho ou resolver seus problemas.
As pessoas não fazem do jeito mais MELHOR por que ...
![Page 19: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/19.jpg)
![Page 20: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/20.jpg)
TextoVocê faz do seu jeito
mais melhor?
![Page 21: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/21.jpg)
Qual o problema nisso?
![Page 22: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/22.jpg)
1) Designers
![Page 23: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/23.jpg)
Eles nos odeiam porque sempre reclamamos que eles ƒ.... nosso código
a culpa é sempre deles?Claro que
é!!! ¬¬Blastoise
![Page 24: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/24.jpg)
Eu gosto de design e programação ...
Designers! Me adicionem: @wbotelhos!
Vamos trocar figureeeeenhas!
![Page 25: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/25.jpg)
![Page 26: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/26.jpg)
2) CSS/HTMLO programador tem contato direto com o CSS/HTML gerado pelo designer e sempre acaba entrando em atrito com o mesmo.
Atrito ????
NOFA!ADORO! :D
![Page 27: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/27.jpg)
3) Regras de negócioRegras de negócio mal definidas (ou inexistentes), espalhadas pelo código e repetidas com “alteraçõezinhas”
Notícia tem data de
cadastro?
Tem sim.
Mas nesse form não tem data.
Se não deu pau, tá SUSSA!
![Page 28: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/28.jpg)
4) Métodos espalhadosMétodos espalhados pela aplicação com nomes bizarros e/ou funcionalidades redundantes
28/08/2010
28.08.2010
2010-08-28
![Page 29: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/29.jpg)
5) Manutenção custosaSe você precisa alterar uma regra de negócio, você tem que procurar por sua aplicação toda para alterar isso.
![Page 30: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/30.jpg)
6) DespadronizaçãoNão existe um padrão definido de desenvolvimento. Cada desenvolvedor faz do jeito que sabe e que quer.
![Page 31: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/31.jpg)
Meu monstro preferido
Crescimento descontrolado
Manutenção dificil (as vezes impossível)
Geralmente vulnerável ao Truck Factor
Difícil evolução
Tendencia a crescer via POG
![Page 32: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/32.jpg)
PAPAI!!!!!
![Page 33: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/33.jpg)
Alguém aí tem um monstro?
![Page 34: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/34.jpg)
ADOTE UMAFRAMEWORK MVC! :D
![Page 35: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/35.jpg)
FRAMEWORK MVCConjunto de classes implementadas em uma linguagem específica, usadas para auxiliar o desenvolvimento de software.
![Page 36: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/36.jpg)
O que é o MVC?
Padrão de arquitetura de software
Separação da aplicação em três partes:
Os dados da aplicação A apresentação da informação
Processa os eventos da aplicação
![Page 37: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/37.jpg)
O que você ganha com isso
Muita coisa já pronta, testada e funcional
Trabalho com Orientação à Objetos REAL
Muito mais produtividade
Separação do que a aplicação faz de como ela mostra
Mais tempo pra pensar nos problemas reais
Não precisa re-inventar a roda
Ganha tempo ... e tempo ... você sabe.
![Page 38: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/38.jpg)
Como funciona, tio ?
Mysql, Postgres, Oracle e muitos
outros
Browser envia requisição à aplicação
O controller processa a ação
O controller processa a requisição e acessa a lógica de negócio (model) da aplicaçãoO model acessa a base de dados da aplicação para executar a ação requisitada pelo controllerO controller então seleciona a view correspondente a ação
O controller renderiza a view incluindo os dados de resposta da ação
O controller devolve a resposta para o browser
http://site/hello
![Page 39: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/39.jpg)
Desculpinhas ...
![Page 40: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/40.jpg)
“Já tá bom demais do jeito que eu tô fazendo: includes e funções. Tem um função que eu uso desde meu
primeiro admin! It’s Amazing!!!”
![Page 41: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/41.jpg)
“Mas o sistema está pronto: é soh Ctrl+C, Ctrl+V e mudar o nome dos
campos. SUSSA!”
![Page 42: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/42.jpg)
“Putz! Mas eu nem sei o que é esse negoço de MVC, ORM ... (...) Tudo orientado a objeto?
Meu Deus ... f*&%$* mermão!”
![Page 43: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/43.jpg)
“Mané orientação a objetos. Meus includes dão conta do
recado tranquilo tranquilo. OO é pro Java! blargh! ~o~”
![Page 44: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/44.jpg)
“O cliente disse que é soh essa listagenzinha de produtos e não
precisa de mais nada.”
![Page 45: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/45.jpg)
Eu gosto de Flash e odeio frameworks e
HTML !
Sou webdesigner! Que que é
framework?
@leozamprogno S2 @coradini
![Page 46: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/46.jpg)
Qual a sua desculpa ?
![Page 47: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/47.jpg)
Medo de ferrar tudo o.O
![Page 48: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/48.jpg)
Preguiça .... ZZZzzzzZZZComodismo ... ¬¬’
![Page 49: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/49.jpg)
Se expor para e equipe e passar vergonha ...
![Page 50: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/50.jpg)
Perder tempo e meu chefe me dar um baita esporro
![Page 51: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/51.jpg)
Essas letrinhas não te dizem nada de nada ...
![Page 52: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/52.jpg)
As pessoas não fazem do jeito mais MELHOR por que ...
Não conhecem novas formas de alcançar o
que desejam
Pois é!
Vc aqui denovo?
![Page 53: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/53.jpg)
Isso tudo é normal ... :)
![Page 54: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/54.jpg)
Tentando convencer ...
![Page 55: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/55.jpg)
Elas já estão bem difundidas, com boa documentação e geralmente tem uma curva de aprendizado mínima
![Page 56: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/56.jpg)
Fóruns, documentação, exemplos ... comunidade!
Conhecimento público
![Page 57: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/57.jpg)
Constante evolução
Patches, novos módulos, correção de bugs, melhorias, E VAMO SIMBORA ...
![Page 58: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/58.jpg)
Se o dono morrer, sua empresa não morre junto
![Page 59: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/59.jpg)
É mais barato de manter :)É mais barato desenvolver :D
![Page 60: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/60.jpg)
Uso de design patterns
soluções para problemas comuns
testados e refatorados
por programadores experientes
continuamente
de conhecimento de todos
![Page 61: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/61.jpg)
Plugins e extensões a rodo!
controle de sessão
emailupload
autenticação
internacionalização
ajaxpaginação tabelas
![Page 62: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/62.jpg)
MVC é o que há
model (dados e regras de negócio)
view (visualizações)
controller (busca dados no model - escolhe a view)
separa tudo, poupa stress com eles
![Page 63: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/63.jpg)
Auto-reciclagem
Design Patterns
Orientação à Objetos
TDD / BDD / Testes :)
Controle de versão
Integração contínua
blablablablablabla ...
![Page 64: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/64.jpg)
As dúvidas técnicas geralmente morrem em um ou dois meses de projeto
![Page 65: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/65.jpg)
![Page 66: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/66.jpg)
Maturidade para soluções corporativas
OO verdadeiro
Remuneração “de gente”
Montes e montes de documentação
Diminui a calvicie
Adoção por grandes empresas
![Page 67: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/67.jpg)
Dicas pra começar
![Page 68: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/68.jpg)
Inicie com projetos pequenos (uma semana ou duas) pra pegar o jeito
![Page 69: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/69.jpg)
Não seja radical no inícioConheça os pontos fortes e fracos da framework e veja se ela vai se encaixar no seu trabalho.
![Page 70: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/70.jpg)
Escolha alguém para ser o líder de estudos da framework e depois faça um hands-on
![Page 71: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/71.jpg)
Entre nos fóruns e listas de discussão do framework
![Page 72: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/72.jpg)
Torne hábito ...
Escrever testes
Usar controle de versão
Tentar fazer integração contínua
Estudar ... estudar ... estudar!
![Page 73: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/73.jpg)
Invente, tente ...
![Page 74: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/74.jpg)
As que eu posso falar ...
![Page 75: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/75.jpg)
Fácil de aprender
Boa documentação
ORM embutido
Comunidade f*da
Meio lento :(
![Page 76: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/76.jpg)
Mais enxuto
Aprendizado tranquilo
Boa documentação
ORM não embutido
Mas é rápido :)
![Page 77: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/77.jpg)
Alguém conhece alguma?
![Page 78: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/78.jpg)
Alguém já tentou usar ?
![Page 79: PHPZEIRO: Adote um framework](https://reader037.fdocumentos.com/reader037/viewer/2022103001/5590b1361a28abe4058b464b/html5/thumbnails/79.jpg)
Qual os problemas rolaram?