phpzeiro: adote um framework

Post on 29-Jun-2015

678 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

É notável a quantidade de aplicações em PHP que ainda utilizam nosso velho e conhecido modo Macarrônico de programar: dezenas de snippets e blocos de código que trabalham com regras de negócio, apresentação e tudo mais espalhados por N lugares na aplicação. A solução mais sustentável para esse tipo de situação seja provavelmente a adoção de um framework, mas existe uma resistência muito grande que é completamente justificável: voltamos àquelas perguntas relativas à “para que mexer num time que está ganhando?“. Vamos trabalhar um pouco essa idéia mostrando exemplos e confrontando situações reais.

TRANSCRIPT

Adote um framework!

@leohackin

Q vergonha

Léo Hackin (Rá-kim)

E-commerceConsultoria

Desenvolvimento

www.giran.com.br

+Kim

Já trampou com PHP macarronada e tudo mais

Já trabalhou com designers

Hoje usa frameworks

E é feliz :)

Pensa rápido! Qual a forma mais efetiva de parafusar um parafuso

bem parafusado na parede?

Com uma chave de fenda?

Não! Com um martelo seu jegue... ¬¬

Mas será que não tem um jeito mais melhor não? =(

A-há! Sempre tem!

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”

Já falaram o que pra você?

Macarronada não é ruim, mas a longo prazo ...

engorda

te deixa lento

é difícil de digerir

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

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 ...

É ruim porque demora, e tempo é

dinheiro!

As pessoas não fazem do jeito mais MELHOR por que ...

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 ...

TextoVocê faz do seu jeito

mais melhor?

Qual o problema nisso?

1) Designers

Eles nos odeiam porque sempre reclamamos que eles ƒ.... nosso código

a culpa é sempre deles?Claro que

é!!! ¬¬Blastoise

Eu gosto de design e programação ...

Designers! Me adicionem: @wbotelhos!

Vamos trocar figureeeeenhas!

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

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!

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

5) Manutenção custosaSe você precisa alterar uma regra de negócio, você tem que procurar por sua aplicação toda para alterar isso.

6) DespadronizaçãoNão existe um padrão definido de desenvolvimento. Cada desenvolvedor faz do jeito que sabe e que quer.

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

PAPAI!!!!!

Alguém aí tem um monstro?

ADOTE UMAFRAMEWORK MVC! :D

FRAMEWORK MVCConjunto de classes implementadas em uma linguagem específica, usadas para auxiliar o desenvolvimento de software.

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

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.

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

Desculpinhas ...

“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!!!”

“Mas o sistema está pronto: é soh Ctrl+C, Ctrl+V e mudar o nome dos

campos. SUSSA!”

“Putz! Mas eu nem sei o que é esse negoço de MVC, ORM ... (...) Tudo orientado a objeto?

Meu Deus ... f*&%$* mermão!”

“Mané orientação a objetos. Meus includes dão conta do

recado tranquilo tranquilo. OO é pro Java! blargh! ~o~”

“O cliente disse que é soh essa listagenzinha de produtos e não

precisa de mais nada.”

Eu gosto de Flash e odeio frameworks e

HTML !

Sou webdesigner! Que que é

framework?

@leozamprogno S2 @coradini

Qual a sua desculpa ?

Medo de ferrar tudo o.O

Preguiça .... ZZZzzzzZZZComodismo ... ¬¬’

Se expor para e equipe e passar vergonha ...

Perder tempo e meu chefe me dar um baita esporro

Essas letrinhas não te dizem nada de nada ...

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?

Isso tudo é normal ... :)

Tentando convencer ...

Elas já estão bem difundidas, com boa documentação e geralmente tem uma curva de aprendizado mínima

Fóruns, documentação, exemplos ... comunidade!

Conhecimento público

Constante evolução

Patches, novos módulos, correção de bugs, melhorias, E VAMO SIMBORA ...

Se o dono morrer, sua empresa não morre junto

É mais barato de manter :)É mais barato desenvolver :D

Uso de design patterns

soluções para problemas comuns

testados e refatorados

por programadores experientes

continuamente

de conhecimento de todos

Plugins e extensões a rodo!

controle de sessão

emailupload

autenticação

internacionalização

ajaxpaginação tabelas

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

Auto-reciclagem

Design Patterns

Orientação à Objetos

TDD / BDD / Testes :)

Controle de versão

Integração contínua

blablablablablabla ...

As dúvidas técnicas geralmente morrem em um ou dois meses de projeto

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

Dicas pra começar

Inicie com projetos pequenos (uma semana ou duas) pra pegar o jeito

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.

Escolha alguém para ser o líder de estudos da framework e depois faça um hands-on

Entre nos fóruns e listas de discussão do framework

Torne hábito ...

Escrever testes

Usar controle de versão

Tentar fazer integração contínua

Estudar ... estudar ... estudar!

Invente, tente ...

As que eu posso falar ...

Fácil de aprender

Boa documentação

ORM embutido

Comunidade f*da

Meio lento :(

Mais enxuto

Aprendizado tranquilo

Boa documentação

ORM não embutido

Mas é rápido :)

Alguém conhece alguma?

Alguém já tentou usar ?

Qual os problemas rolaram?

VALEW! :)

leohackin@gmail.com@leohackinwww.leohackin.com.br

top related