Salve!
Com o advento do PHP 5 OO, começaram a surgir o que já era esperado: uma chuva de frameworks. Tem framework para quase tudo hoje: XML, manupilação de dados, automatização de rotinas na view, abstração de database, até modelos mais avançados, complexos e completos como o CodeIngniter e o Symfony. Mas até onde isso é vantajoso ? Será que nós programadores estamos preparados para nos adaptarmos a essas frameworks ?
1. Conhecendo os participantes
Quando produzimos um software temos em mente que aquela aplicação é totalmente conhecida por nós, ou pelo menos o máximo possível, e que atrás dela há apenas Classes e funções criadas por nós e linguagem nativa (no caso o PHP).
Com frameworks temos um cenário totalmente diferente: código código e mais código por trás daquela framework que nós não temos a minima noção do que faz, onde há possíveis falhas e se aquela era a melhor forma de se fazer tal funcionabilidade. Entretanto, temos um “modelo” bem genérico ao nosso dispor, evitando que percamos tempo criando algo que tem pronto.
Os defensores de frameworks dizem que se você não sabe o que tem dentro da framework é porque você não quer saber o que há nela e ponto. Por outro lado, os defensores do código “na unha”, dizem que se é para usar frameworks, ler a mesma seria uma tremenda perca de tempo e sendo assim, é melhor criar suas próprias classes/funções e usar em suas aplicações todas.
2. Quebrando paradigmas
Com o tempo estive analisando os prós e contras da framework e hoje, consegui chegar a uma linha de pensamento que talvez seja agradável ou não para você: “Frameworks. Consuma com moderação.”.
E é exatamente isso que tenho feito de uns tempos para cá: uso algumas poucas frameworks para auxiliar em algumas tarefas e o resto eu vou criando na mão e criando meu “pacote”.
Não adianta ser radical. Não usar framework nenhuma é meio que loucura atualmente. Se você é das antigas e já tem seus pacotes até pode ser, mas começar hoje a nadar contra a maré é suicídio.
Eu faço assim atualmente:
Pergunto : A framework “X” faz o que ?
Respondo: ah, de acordo com o site, ele cria um blog em 20 minutos.
Afirmo: Então essa framework é a “tal” que faz tudo ? Ótimo, não serve para mim!
Você pode estar me xingando a rodo neste momento, mas tenho para mim que ficar preso a uma framework é suicídio! Ficarei dependente de algo assim como um drogado depende da droga! Loucura! Se encontrar um problema na framework, terei que esperar uma nova versão, ou então debugar tudo para encontrar o erro/solução; Pensa no WordPress: tem uma falha, todo mundo que tem o WordPress instalado fica preocupado, pois é por lá que entrarão no seu sistema e danificarão suas informações. afinal o bug é público! E adaptar-se a nova forma de trabalho daquela framework, também não é tarefa fácil.
Estive vendo o Symfony PHP e constatei que ele é estilo o Ruby On Rails! Tudo por linha de comando. Tenho que ficar digitando comandos no meu querido shell para criar coisas dentro do projeto ? Não, isso infelizmente não é minha realidade!
Para mim, framework está como uma “biblioteca” de recursos, e não um novo modo de trabalhar com a linguagem de programação.
3. Frameworks
Atualmente eu estou utilizando a framework Jquery para Javascript e o Smarty Template para templates no PHP.
Talvez um dia eu mude de concepção, mas atualmente estou bem feliz assim e creio que muitos estejam como eu






Pensamento tpico de programador PHP
Abrao
Concordo com voc, acho a transparncia do que acontece na aplicao muito importante. Mas lgico que um conjunto de classes teis ( que voc conhea ) uma mo na roda.
Pessoalmente uso quase sempre um mesmo conjunto de classes e scripts meus, e alguns dos outros adptados ao meu modo de programar.
Tpico mesmo n?
Rafael,
Isso parece ser verdade mesmo. Conheo alguns programadores PHP pessoalmente, e conversando com eles a linha de pensamento deles similar ao que eu postei. Conheo tambm, programadores Java que me dizem: “Voc est louco ?!” quando eu tento explicar a eles minha idia. Talvez a diferena esteja no modo de “criao”. O pessoal do Java / .NET j inicia falando “Framework”, enquantos, ns, programadores de linguagens “scripting” j no fala tanto disso. Legal as diferenas
Diogo,
Tipicamente, programador PHP hahaha
Abraos!
Cara, pior que estou aprendendo java, e tem framework para tudo. Mas se vive a base de framwork mesmo, porque so muitos! So bem uteis mesmo, mas alguns so muito “intrusivos” e pouco flexiveis. S fica meio chato, que vc aprende a programar, depois aprende a programar para o framework, e mais um framework, e outro…
Acho isso ruim na verdade, por isso que acredito que o PHP nunca vai mudar, por que as pessoas que usam nao mudam. Mesmo o PHP tendo implementado uma orientao a objeto mais forte, os programadores no acompanharam, e isso muito ruim.
PHP tambm tem muitos frameworks/bibliotecas/libs/funes teis/, e isso acontece por causa desse tipo de pensamento, usar um framework no ruim, o programador s precisa saber escolher e se adaptar a ele, e caso ele no “goste” de alguma coisa, ento estende/customiza, acho que esse seria um pensamento “mais ideal”.
E cara, RoR timo, uso ele num projeto e no tenho do que reclamar, se pudesse largar o PHP para programar s em Ruby faria sem pensar duas vezes, mesmo tendo que usar linha de comando
ts! ts” , como colocou muito bem tipico de programadores de PHP … cara cai na real, estamos na era da informao a frentica corrida pelas aplicaes para suportar e alavancar os negocios, fora a quepra de paradigmas constantemente … no h o que descutir se devemos ou no usar frameworks, concordo plenamente que muitos frameworks no fazem dederminadas coisas do mesmo jeito que voc faria, mas isso nada muda o que voc tem que avaliar se ele segue padres e se quiser altere a gosto … o que eu vejo muito gente que tem pouca ou nenhuma capacidade de compreender codigo pronto, NORMALMENTE ESTES SO OS QUE PRODUZEM CODIGO SEM NENHUM PADRO, muitas vezes a documentao conto de fadas, convenhamos todos os bons frame do mercado tem uma tima documentao e usam padres claros de desenvolvimento e testes. Agora realmente desenvolvedores de scripts e remendos para aplicar alguma interatividade a conteudo web, realmente nem percam tempo com frame, mete na unha os codigos hehehe, frame naum surgiu porque esse tipo de desenvolvedor precisava …
“pessoal de forma alguma quero ser indelicado com vocs, meu objetivo so apimentar um pouco mais “
Marcos,
Interessante ponto de vista, alis gostei do seu comentrio! Ao meu ver, alguns frameworks s “impedem” a utilizao de recursos. Hoje, pude conhecer no Conisli um pouco sobre o CakePHP. Decepo total. Motivo ? “Para manter compatibilidade, temos que criar nossas classes nos padres do PHP4″. Que isso ? No me diga que isso evoluo, porque no ‘cola’. O Zend Framework no posso falar absolutamente nada, porque nunca o usei, mas tenho lido bem a respeito, ser um dos prximos que vou brincar. O Simphony um Ctrl + C do Rails. No que isso seja um problema, uma vantagem alis, porque no vi linguagem mais organizada em termos de aplicao do que o Ruby On Rails.
Realmente hora dos programadores PHP evoluirem na questo de desenvolvimento de aplicao, sem dvidas que a imagem do PHP no mercado no a das melhores justamente pela facilidade em se escrever uma aplicao com ele.
Um que realmente est na minha lista de Frameworks que pretendo conhecer o CodeIngniter. Parece ser bom e no um Simphony onde voc fica mais no shell digitando comandos do que realmente produzindo.
A idia do Framework, creio que seja justamente fazer com que o programador saia daquela rotina de ficar toda hora escrevendo a mesma coisa sem necessidade. Reutilizao de cdigo, design patterns e como voc disse, documentao de cdigo digna, mas *eu* desaprovo totalmente coisas que tendem a criar novas formas de programar a linguagem, como eu disse, abrindo um Shell (ou prompt) e digitando comandos da FW para que ela “Crie” as coisas para voc.
Obrigado pela participao
“mas *eu* desaprovo totalmente coisas que tendem a criar novas formas de programar a linguagem, como eu disse, abrindo um Shell (ou prompt) e digitando comandos da FW para que ela Crie as coisas para voc.”
Juro que eu tentei entende isso que tu disse, mas no consegui.
Pra *mim* no faz muito sentido o que tu estas dizendo, quer dizer que tu s usuria um framework que tivesse o teu jeito de programar?
Abrao.
Rafael,
“Pra *mim* no faz muito sentido o que tu estas dizendo, quer dizer que tu s usuria um framework que tivesse o teu jeito de programar?”
No, at porque isso seria meio impossvel, mesmo usando as patterns cada um ainda tem sua forma de pensar e montar as coisas. Estou considerando usar um framework que no queira “inventar”. Deixa eu te dar um exemplo: no CakePHP tem um script chamado “bake.php” que s roda via shell (prompt), e esse, monta os diretrios e os scripts (Models, views, controllers) bastando voc responder algumas coisas. O Symphony PHP tem o mesmo esquema por default, todos copiados do Rails.
No sei, posso estar sendo radical demais, mas acho que isso “cria” uma nova forma de programar a linguagem, pois se eu quiser adicionar uma nova Model, eu vou no shell digito uns comandos que esse script entenda e ele me cria os arquivos no meu ambiente de trabalho. Da forma que eu vi e entendi isso eu desaprovo, pois eu teria que me preocupar em aprender *os comandos do script seja o bake.php ou qualquer outro*
Como eu disse, estou pensando em testar o CodeIngniter, pois creio que ele no tenha isso, e tambm porque ouvi relatos de que ele bom. Outro que falam muito bem da Zend.
Entende ?
A propsito, algum de vocs estaro na PHP Conf 07?
Abraos!
Salve,
Hoje em dia o que existe so desenvolvedores e no programdores, j se viu programador que no escreve cdigo e que s faz chamadas de comandos para as coisas serem geradas?
O mercado pede sistemas e do um tempo muito sacanagem, sempre fora do ideal, e ai os programadores podem se perder, pois a sua velocidade de desenvolvimento de 10 crud no nem de perto o de um framework tipo rails que gera a maioria com comandos.
E no s em PHP que tem programadores que misturam tudo, java, ruby tabm tem. E outras nem tem, pois o cdigo html gerado no momento pela linguagem, engessando tudo.
E java movida por frameworks, se acabar um Hibernate da vida, um struts, jsf j era muitos empregos, muitos desenvolvedores, pois no sabem coisas de java, mas sabe usar os frameworks e pronto. Ruby est indo por esse lado, principalmente pelo Rails.
Agora essa de que o cara no gostar do frameworks ele muda, mentira, todos sempre passam por perrengues e os que no usam se safam de problemas, agora vai voc pegar o Rails e mudar e fazer a seu gosto, se no aceitarem sua mudanas e colocarem no Rails voc tem uma verso pra sempre nica, que no vai evoluir como o Rails e que se conseguir no vai ser mais o Rails, vai ser mais um framework, e ai vai passar por perrenges de criar coisas novas, manter um sistema para vrios usurios e corrigir erros, como todos projetos pblicos.
Mas fica ai, se programador mude o Rails e tente continuar com ele com essa mudanas sem usar as verses novas.
Valeu!
Vamos misturar mais um pouco .. acho que agora com tantos frameworks PHP estamos ficando similares aos “COMPONENTES DELPHI”!
“ao arrastar e soltar dentro do form em nossa paleta abrimos diversas opções diferentes” !
hahahahhaa .
Eu programo em java a 4 anos e não curto muito essa onda de ta usando fws o tempo todo eu ja criei o meu proprio pacote, por que pararem para pensar bem programadores são os caras que criam os frameworks e quem os usa nunca sairam disso. Gosto de pegar alguns para estudo para ver a ideia de cada programador, por que se um dia eu usar um framework de terceiros e der pau no meu projeto por causa desse frame fica complicado consertar, mas usando os meus codigos fica bem mais facil saber o por que do erro. A mesma coisa penso a respeido do php eu gosto muito dessa linguagem de scripting pena que por muitos POGramadores a linguagem não esta sendo bem vista ultimamente. Espero que um dia essas pessoas realmente aprendam a programar ou saiam de vez desse ramo.
Abraço a todos!!
Concordo com você Hlegius… Otimo ponto de vista!