Zend Framework2 a ferramenta certa para o trabalho certo

Leia o artigo de Zend Framework, conheça os benefícios da ferramenta e porque usá-la!

Friday, 24 de April de 2015

Se você está lendo este artigo provavelmente você ja desenvolveu ou pretende desenvolver algum projeto de software, talvez você nunca tenha usado um framework antes por isso acho necessário uma breve explicação para uma melhor compreensão do artigo, caso você ja tenha alguma experiência com desenvolvimento e ja tenha usado algum framework pode pular algumas linhas do texto.

Frameworks PHP?

Um Framework é uma abstração que visa prover funcionalidades genéricas para diversas necessidades de um projeto, quem ja desenvolveu ou está desenvolvendo algum aplicativo, sabe que nos deparamos com diversos desafios que vão além da regra de negócio como validação de dados, segurança, conexão de banco, fluxo de dados entre outros, um Framework irá te fornecer ferramentas para que você consiga lidar com todas estas tarefas de forma eficiente, permitindo a escalabilidade da aplicação, padronização e a qualidade do código como um todo, sendo assim grande parte do seu trabalho é se preocupar com a regra de negócio, ou seja, o que a aplicação deverá fazer.

Para quem está começando na área de desnvolvimento logo pode vir um questionamento sobre a necessidade de conhecer php para trabalhar com um framework, a resposta para esta pergunta é óbvia, sim, você precisa conhecer bem o php para poder trabalhar com eficiência com qualquer que seja o framework, entenda que o framework nada mais é que o esqueleto com diversos componentes que você poderá usar no decorrer do fluxo da aplicação, porém o conhecimento em php, padrões de projeto e principalmente orientação a objetos é fundamental para o desenvolvimento.

Por que usar um Framework?

Em uma busca rápida na web por frameworks PHP você irá encontrar inúmeros resultados, uma gama de artigos falando sobre o seu uso, como iniciar e até mesmo alguns desenvolvedores afirmando que não devemos utilizar frameworks em nenhum projeto, existe um pequeno grupo que acha que desenvolver tudo do zero é melhor para o projeto e controle da aplicação, recentemente eu recebi um artigo de um aluno onde o título do artigo era “6 reasons not to use a PHP Framework”, títulos como este sempre me chamam a atenção, porém era apenas uma forma descontraída de dizer ao leitor que o uso do framework nos dias atuais é praticamente fundamental, o primeiro motivo citado pelo autor era “Você não deve usar um framework pois você é imortal e sempre estará presente para ajudar os desenvolvedores quando surgir uma dúvida no seu código”, fica claro perceber que você irá encontrar muitos pontos positivos e alguns negativos ao se adotar alguma ferramenta como esta para o desenvolvimento do seu projeto, como o meu objetivo é tirar as suas dúvidas e não complicar ainda mais a sua vida segue alguns pontos positivos e negativos do uso de um framework:

Pontos positivos

  • Qualidade de código
  • Organização e padronização
  • Produtividade
  • Escalabilidade do projeto
  • Boas práticas de desenvolvimento
  • Facilidade de integração de novos desenvolvedores ao projeto
  • Abstração de quase todas as camadas da aplicação
  • Preocupação apenas com a regra de negócio 

Pontos negativos

  • Curva de aprendizado
  • Performance da aplicação
  • Dificuldade de remover ou trocar o framework caso necessário
  • O Framework possui muito mais coisas do que você precisa

Um ponto importante que deve ser mencionado é que todos os pontos negativos citados acima são contornados, podendo ser facilmente resolvidos com pequenas ações, ja os pontos positivos é muito trabalhoso de se atingir sem o uso do framework, para o mercado atual é extremamente inviável começar um projeto do zero.

Uma outra pergunta recorrente entre os desenvolvedores é quando usar um framework, ou seja, quando um projeto é grande o bastante para necessitar do uso de uma solução como esta, a primeira coisa que devemos pensar é, qual a forma de mensurar o tamanho de um projeto? Imagine o projeto de uma casa, você possui o terreno mas talvez pense que hoje não é necessário construir uma casa grande, você não é casado não tem filhos, não possui carro então porquê desenvolver um projeto grande, os anos vão passando e de repente você se vê apertado com usa esposa e filhos em um quarto cozinha pagando aluguel de uma garagem pois você achou que sempre ia morar perto do trabalho e nuca ia precisar de um carro, uma alternativa é fazer um “puxadihho” para melhorar o conforto seu conforto e de sua família.

Com o desenvolvimento de software é a mesma coisa, não é possível prever o futuro, se a empresa cresce o software cresce junto, se a tecnologia evolui as formas de acessar o seu aplicativo podem mudar e novas soluções deverão ser implementadas, pensando nisto eu acredito que um projeto nunca é pequeno o bastante e para não sofrer no futuro a escolha de um boa ferramenta é fundamental.

Qual Framework eu uso? 

Chegamos então a um outro ponto que pode te deixar de cabelo em pé, existem inúmeros frameworks para o desenvolvimento PHP, então agora você terá um novo desafio escolher a ferramenta ideal para o seu projeto entre as ferramentas mais usados estão:

  • ZEND FRAMEWORK 2 / ZF2
  • LARAVEL
  • PHALCON
  • SYNFONY 2
  • YII
  • CAKE
  • AURA
  • CODEIGNITER
  • SLIM
  • SILEX
  • AURA

A lista acima pode ser bem maior, listei apenas os mais populares e me desculpe se esqueci de mencionar o que você usa, mande um email para mim que insiro na próxima versão do artigo, brincadeira... Note ainda que esta lista não está seguindo nenhuma ordem, diferente do que você pode encontrar na web na minha opinião a popularidade de um framework não pode ser o ponto decisivo de sua escolha, existem diversos itens que devem ser levados em consideração para que seu projeto tenha sucesso, eu não vou falar e nem elencar nenhum ponto negativo de um ou outro framework, quero apenas aqui mostrar e justificar para você o motivo pelo qual o Zend Framework ou simplesmente ZF2 é a minha escolha e de grandes empresas de desenvolvimento.

Por que Zend Framework2 ?

O Zend Framework 2 é um projeto que conta com mais de 6 mil desenvolvedores, entre eles podemos destacar a maior comunidade de desenvolvimento, empresas como Facebook, Microsoft, Oracle e a gigande Google, o projeto levou cerca de dois anos para ser desenvolvido, todo este tempo se justifica por toda estrutura e robustêz que a ferramenta oferece, entre os principais pontos positivos do Zend Framework 2 podemos destacar:

Modular

Com Zend Framework 2 sua aplicação é construída como blocos que se encaixam para formar uma grande e poderosa estrutura, seus módulos pode ser utilizados em outros projetos, distribuídos para outros desenvolvedores ou comercializados na “modules store” da zend.

Extensível

O Zend Framework 2 é totalmente configurável, ou seja, é muito fácil adaptá-lo para o que você precisa, você pode usá-lo de forma Full ou apenas seus componentes, caso você precise desenvolver uma estrutura para envio de email em um projeto existente ao invés de desenvolver você pode utilizar o Zend\Mail do ZF2 por exemplo.

Seguro

O Zend Framework 2 possui componentes para criptografia que podem ser utilizadas para diversas necessidades como gerar senhas cripitografadas, criptografia de dados sigilosos entre outras coisas.

Performance

Toda estrutura do framework foi desenvolvida com base nas melhores práticas de desenvolvimento para garantir o máximo de qualidade de código bem como uma performance inigualável, além de toda estrutura otimizada você ainda pode configurá-lo a fim de melhorar ainda mais o desempenho.

Grande Comunidade

O Zend Framework 2 conta com uma das maiores comunidades da web, e não apenas em número, os contribuidores são extremamente ativos o que garante uma constante evolução e melhorias no projeto.

Os componentes do Zend Framework 2 são desenvolvidos com o mínimo de dependências uns dos outros, tornando assim o ZF2 extremamente escalável, ele é open source e 100% orientado a objetos, possui os mais modernos padrões de projetos e segue os princípios do SOLID.

O Zend Framework 2 possui diversos padrões de projeto em sua estrutura entre eles podemos destacar

  • MVC
  • Factory
  • Singleton
  • Observer
  • Strategy

1001 Funcionalidades

O Zend Framework 2 contém três grandes pilares que proporcionam ao desenvolvedor e a equipe de desenvolvimento extrema liberdade e interoperabilidade que permite desenvolver módulos que podem ser aproveitados em vários projetos são eles:

ModuleManger : Componente utilizado para gestão dos módulos da aplicação.

ServiceManager: Componente utilizado para gestão dos serviços da aplicação, o service manager é utilizado para injeção de dependências a fim de reduzir o acoplamento do código e tornar a aplicação escalável.

EventManager: Componente utilizado para gestão de eventos da aplicação, os eventos irão proporcionar maior flexibilidade do código bem como garantir que o mesmo seja mais limpo e legível.

Com o Zend Framework 2 você poderá desenvolver qualquer tipo de aplicação, seja ela uma aplicação web que pode ser desde um simples blog até um ERP completo, poderá ainda desenvolver e consumir qualquer tipo de API.

Mesmo que a curva de aprendizado seja um pouco superior a outras ferramentas o Zend Framework 2 vale a pena ser aprendido e adotado como solução, tal curva se justifica pela quantidade de recursos oferecidos bem como toda possibilidade de alteração de comportamento o que te dar um maior poder e controle durante o desenvovlimento.

Se você ainda não se convenceu que o Zend Framework vale a pena ser aprendido segue a lista dos principais compontes do Zend Framework 2

  • Robusta estrutura MVC
  • Gestão de Rotas
  • Robusa estrutura para tratamento de Eventos
  • Componente para trabalhar com autenticação e autorização
  • Componete para trabalhar com criptografia
  • Componete de gestão de Serviços
  • Diversos helpers para camada de visão
  • Suporte completo para HTML5
  • Componente de Banco de Dados
  • Componente de Formulários e Validação
  • Componente para trabalhar com Sessão
  • Componte para trabahar com log
  • Componete para trabalhar com Apis Rest, SOAP e RPC
  • O ZF2 conta ainda com soluções prontas para consumir as mais populares APIs como Flckr, Amazon, Facebook etc

Sim eu vou aprender ZF2!

Para que você tenha certeza de que fez a escolha certa o principal diferencial do ZF2 em relação a qualquer outra solução é que ele foi desenvolvido e é mantido pela Zend, empresa criadora do PHP que usamos hoje, ela mantém e desenvolve a linguagem e este poderoso framework, além de produtos e serviços para diversas necessidades de um ambiente de alta disponibilidade, se você está se perguntando se isso é realmente importante, pense que o ZF2 nunca será descontinuado, se você analisar com atenção nenhuma outra solução possui esta garantia.

A Zend oferece ainda suporte e consultoria o chefe de desenvolvimento do projeto Matthew Weier O'Phinney é um dos desenvolvedores que mais responde as dúvidas nos forums exclusivos da zend para dúvidas sobre qualquer componente do ZF2, diversos parceiros espalhados pelo mundo também possuem equipe especializadas para auxiliar empresas e desenvolvedores com consultoria e capacitação, a 4linux parceira oficial da Zend no Brasil possui desenvolvedores com certificados oficiais e o melhor curso de Zend Framework 2 do Brasil.

CONHEÇA NOSSO CURSO ZEND FRAMEWORK 2 

Por: Denis Ribeiro

Compartilhe esta página