Your SlideShare is downloading. ×
0
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend

8,093

Published on

Apresentação desenvolvida para reunião semanal na empresa ConstruSite Brasil.

Apresentação desenvolvida para reunião semanal na empresa ConstruSite Brasil.

Published in: Technology
2 Comments
6 Likes
Statistics
Notes
No Downloads
Views
Total Views
8,093
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
89
Comments
2
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend Thiago Sinésio Yan Magalhães 20 de novembro de 2013
  • 2. O QUE SÃO FRAMEWORKS ? ● Estrutura de suporte definida em que um outro projeto de software pode ser organizado e desenvolvido; ● Inclui programas de suporte, bibliotecas de código, linguagens de script e outros softwares para auxiliar no desenvolvimento.
  • 3. DIFERENÇA ENTRE API x BIBLIOTECA x FRAMEWORK Framework: É uma base pronta que nos permite criar aplicações de forma mais rápida, investindo menos tempo em produzir código repetido e mais tempo no desenvolvimento real da aplicação. Ao contrário das bibliotecas, são os frameworks que ditam a estrutura e o fluxo de controle que a aplicação deve ser construída; Ex: Zend Framework Application Programming Interface (Interface de Programação de Aplicativos) - API: Software que permite a utilização de seus serviços sem a necessidade do utilizador envolver-se com detalhes de sua implementação; Ex: API do facebook. Biblioteca: Conjunto de classes e métodos que auxiliam no desenvolvimento de aplicações. Ex: jQuery.
  • 4. VANTAGENS EM UTILIZAR UM FRAMEWORK ● Utilidade: Auxilia no desenvolvimento de aplicações e softwares. Possuem funcionalidades nativas, que ajudam a resolver questões sobre programação do dia-a-dia com qualidade e eficiência. A maioria dos bons frameworks já traz nativamente funcionalidades como: Validação de formulários; Filtro de entrada e saída de dados; Abstração da camada de banco de dados; Manipulação de session e cookie; Email; Calendário; Paginação, sem contar inúmeros plugins construídos pela comunidade; ● Segurança: Os bons frameworks são projetados de modo a garantir a segurança da aplicação, tratando de forma nativa os ataques mais comuns como o SQL Injection, XSS, etc; ● Economia de tempo: A médio e longo prazo ganha-se tempo no desenvolvimento de aplicações, uma vez que tarefas repetitivas não são mais executadas, trabalhando assim com o conceito DRY (Don’t Repeat Yourself).
  • 5. VANTAGENS EM UTILIZAR UM FRAMEWORK ● Documentação: Geralmente disponibilizam material de qualidade nos web sites ou repositórios oficiais, com uma vasta documentação a respeito. Além disso, os bons frameworks sempre têm uma comunidade de desenvolvedores dispostos a se ajudarem entre si; ● Organização: quando se instala um framework PHP, ele já vem com uma estrutura de pastas. Com isso, se espera que os desenvolvedores mantenham este padrão inicial e o projeto se mantenha organizado; ● Suporte da comunidade: Todos os frameworks populares possuem uma comunidade ativa. Assim, pode-se conversar com outros desenvolvedores, pedir ajuda, feedback, fóruns de discussão, etc.
  • 6. VANTAGENS EM UTILIZAR UM FRAMEWORK ● Padrão MVC: a maioria dos frameworks utilizam este padrão; ● Performance: Este é um dos principais pontos que os opositores discutem, porém, devese analisar que desenvolvedores são mais caros que servidores. De qualquer maneira, a maioria deles possuem ferramentas para caching, benchmarks, profiling, etc. Os frameworks modernos também utilizam carregamento dinâmico que carregam somente o necessário; ● Trabalho em equipe: A maneira que os projetos são organizados ajudam a criar um ambiente favorável para o trabalho em equipe, como por exemplo permitir a equipe de front-end trabalhar somente na View.
  • 7. DESVANTAGENS EM UTILIZAR UM FRAMEWORK ● Aprender o framework, não a linguagem: se o desenvolvedor souber pouco sobre a linguagem, ele aprenderá o framework e não a linguagem propriamente dita; ● Limitação: Não é possível modificar o comportamento do core do framework, então, o desenvolvedor é forçado a respeitar estas limitações e trabalhar no caminho requerido. Com isso, é necessário ter certeza do framework que está sendo escolhido; ● Código público: Uma vez que o framework está disponível para todos, isto inclui pessoas mal-intencionadas também.
  • 8. DESVANTAGENS EM UTILIZAR UM FRAMEWORK ● Not Invented Here: Necessário enfrentar a síndrome de "Isso não foi criado aqui"; ● Difícil adaptação: Muitas vezes a empresa precisa modificar muito seu processo de desenvolvimento e investir em treinamento da equipe no framework; ● Dependência: Após começar a usar frameworks, cria-se uma grande dependência deles.
  • 9. ZEND FRAMEWORK 2
  • 10. ZEND FRAMEWORK 2 - ORGANIZAÇÃO, ESTRUTURA E FUNCIONAMENTO
  • 11. ZEND FRAMEWORK 2 - PONTOS FORTES ● Versões novas: Trabalha com os recursos mais novos das versões do PHP, 5.3+; ● POO: 100% orientado a objetos; ● Desenvolvido pela Zend: uma das empresas que mais contribuem para o desenvolvimento do PHP, além disso tem o apoio de empresas como Google e Microsoft; ● Atualização: Sofre atualizações e manutenções constantes (não está abandonado);
  • 12. ZEND FRAMEWORK 2 - PONTOS FORTES ● Documentação: Possui documentação extensa;
  • 13. ZEND FRAMEWORK 2 - PONTOS FORTES ● Código livre: O código está disponível no GitHub - https://github. com/zendframework/zf2 ● Qualidade: Desenvolvido utilizando PHPUnit.
  • 14. ZEND FRAMEWORK 2 - PONTOS FRACOS ● Aprendizagem: Curva inicial de aprendizagem alta (há relatos que na ZF2 foi muito reduzida);
  • 15. ZEND FRAMEWORK 2 - APLICABILIDADE ● Mais indicado para aplicações de média e alta complexidade.
  • 16. CODE IGNITER
  • 17. O QUE É ? “CodeIgniter é um framework PHP poderoso, construído para programadores PHP que necessitam de uma ferramenta simples e elegante para criar aplicações web com recursos completos. Se você é um desenvolvedor que vive no mundo real das contas de hospedagem compartilhada e clientes com prazos, então CodeIgniter pode ser um bom ajuste.” Texto Adaptado da Ellislab
  • 18. ORGANIZAÇÃO, ESTRUTURA E FUNCIONAMENTO
  • 19. ORGANIZAÇÃO, ESTRUTURA E FUNCIONAMENTO ● No arquivo “index.php” (já vêm pronto), são inicializados os recursos do CI para carregar a aplicação; ● Em seguida, é chamado um “routing” (uma rota) para examinar a requisição HTTP e determinar o que será feito; ● Caso já exista algo no cache do browser, a informação solicitada é retornada diretamente ao browser e em seguida, exibida ao usuário; ● Antes do Controller responsável por aquela solicitação ser acionado, a requisição é filtrada através das classes de Segurança.
  • 20. ORGANIZAÇÃO, ESTRUTURA E FUNCIONAMENTO ● O Controller então realiza o carregamento das Models, Views, Libraries e executa os métodos responsáveis pela requisição; ● A View responsável pelo processamento das informações no Controller (caso seja necessário) é então enviada ao browser, já ficando armazenada em cache.
  • 21. ORGANIZAÇÃO, ESTRUTURA E FUNCIONAMENTO
  • 22. PRINCIPAIS VANTAGENS ● Fácil atualização: Não compromete no funcionamento dos códigos da pasta application; ● Comunidade bastante ativa: Repositório oficial no GitHub; ● Quase nenhum requisito de Hardware; ● Leve (2,2 MB - 2.1.4); ● Fácil Aprendizado: Bastante indicado pela comunidade para quem quer aprender um framework php baseado em MVC; ● Instalação: Não Existe.
  • 23. PRINCIPAIS DESVANTAGENS ● Não trabalha com AJAX de forma nativa; ● Atualização mais lenta, se for comparado a outros frameworks; ● Indecisão ao seu futuro.
  • 24. CAKE PHP
  • 25. O QUE É ? O CakePHP é um framework de desenvolvimento rápido para PHP, livre e de código aberto com o objetivo de se criarem rápidas aplicações web, estruturadas e flexíveis, seguindo o padrão MVC.
  • 26. ORGANIZAÇÃO, ESTRUTURA E FUNCIONAMENTO
  • 27. ORGANIZAÇÃO, ESTRUTURA E FUNCIONAMENTO ● app: Onde fica toda a aplicação Web; ● lib: Onde fica o core do CakePHP; ● vendors: Pasta responsável por armazenar bibliotecas externas; ● .htacces e index.php.
  • 28. ORGANIZAÇÃO, ESTRUTURA E FUNCIONAMENTO ● No arquivo “index.php” (já vêm pronto), são inicializados os recursos do Cake para carregar a aplicação; ● Em seguida, a requisição HTTP é examinada por um dispatcher (expedidor) que deverá encaminhar a informação solicitada ao Controller responsável por determinada ação; ● Ao ser executado, o Controller se comunica com a camada Model para processar informações de inserção/busca no BD.
  • 29. ORGANIZAÇÃO, ESTRUTURA E FUNCIONAMENTO ● Ao término da busca ele se comunica com a View responsável pela requisição HTTP ou o objeto View que deverá exibir a informação para o usuário, para gerar o resultado informado pelo Model e processado pelo Controller; ● Logo depois desta etapa, a informação chega ao Browser, transmitindo a informação ao usuário.
  • 30. ORGANIZAÇÃO, ESTRUTURA E FUNCIONAMENTO
  • 31. PRINCIPAIS VANTAGENS ● Trabalha com AJAX de forma nativa; ● Comunidade bastante ativa: Repositório oficial no GitHub; ● Quase nenhum requisito de Hardware; ● Leve (2,0 MB - 2.4.2); ● Facilidade de trabalho com frameworks Front-End. Ex: Twitter Bootstrap; ● Bastante Robusto; ● Instalação: Não Existe.
  • 32. PRINCIPAIS DESVANTAGENS ● Poucas classes de Helpers; ● Exige mais habilidades do programador, caso queira se trabalhar com Design Patterns (Padrões de Projeto) ou modificar alguma estrutura do framework; ● Atualização do framework requer testes no projeto; ● Por ter uma curva de aprendizado alta, requer um tempo maior para estudos e testes, com o objetivo de conhecer melhor o funcionamento do framework; ● Por ser mais robusto é necessário dedicar um tempo maior na fase de análise do projeto.
  • 33. APLICABILIDADE - CAKE E CI ● Framework bastante indicado para o desenvolvimento de aplicações web de baixa e média complexidade.
  • 34. CONCLUSÃO ● Testar em algum projeto, para analisar o impacto no desenvolvimento, manutenção, performance, etc; ● Manter a mente aberta para novas tecnologias; ● Uma vez que entender como o framework funciona, saberá trabalhar com o básico de todos os produtos; ● Aprender a trabalhar com eles e conseguir desenvolvedor possível funcionalidades não existentes.
  • 35. REFERÊNCIAS ● ● ● ● ● ● ● ● ● ● http://blog.thiagobelem.net/frameworks-no-php-o-que-quando-porque-e-qual http://codeigniterbrasil.com/passos-iniciais/o-que-e-um-framework-definicao-ebeneficios-de-se-usar-frameworks/ http://pt.wikipedia.org/wiki/Framework http://pt.wikipedia.org/wiki/API http://www.youtube.com/watch?v=KX2N5k-OcFs http://jquerybrasil.org/jquery-biblioteca-ou-framework/ http://www.slideshare.net/aitproeg/framework-usar-ou-no-usar http://www.phpandstuff.com/articles/top-10-reasons-why-you-should-use-a-phpframework http://en.wikipedia.org/wiki/Profiling_(computer_programming) http://pt.wikipedia.org/wiki/Benchmark_(computação)
  • 36. REFERÊNCIAS ● ● ● ● ● ● ● ● ● ● ● http://www.1stwebdesigner.com/design/pros-cons-frameworks/ http://en.wikipedia.org/wiki/Not_invented_here http://phpatual.blogspot.com.br/2012/03/vantagens-e-desvantagens-de-usar.html http://framework.zend.com/ http://www.slideshare.net/ergalvao/zf2-menor-melhor-e-mais-poderoso http://www.php-developer.org/most-used-php-framework-the-popular-top-7-list-inyear-2011/ http://codeigniterbrasil.com/ http://ellislab.com/codeigniter http://www.phpframeworks.com/ http://www.phptherightway.com/ http://api.cakephp.org/2.4/
  • 37. REFERÊNCIAS ● ● ● ● ● http://book.cakephp.org/2.0/pt/installation.html http://blog.thiagobelem.net/frameworks/cakephp/ https://groups.google.com/forum/#!topic/cakephp-pt/Vjdaw221VDc http://blog.thiagobelem.net/atualizando-seu-projeto-em-cakephp-para-a-versao-2-0/ Livro - PHP e MVC com CodeIgniter : Editora Novatec

×