Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Frameworks de desenvolvimento em PHP

Elton Minetto
September 27, 2011

Frameworks de desenvolvimento em PHP

Elton Minetto

September 27, 2011
Tweet

More Decks by Elton Minetto

Other Decks in Programming

Transcript

  1. Quem sou eu? Graduado e pós-graduado em Ciência da Computação

    Trabalha com PHP/MySQL desde 2000. Trabalho com Linux desde 1997. Professor desde 2004. Autor do livro Frameworks para Desenvolvimento em PHP - Editora Novatec, autor do e-book Zend Framework na prática Sócio da Coderockr
  2. Frameworks Uma “base” de onde pode-se desenvolver algo maior ou

    mais específico. É uma coleção de códigos, classes, funções, técnicas e metodologias que facilitam o desenvolvimento de novos softwares.
  3. Vantagens • Todos programam parecido graças a padronizações. Fácil manutenção

    • Automatiza tarefas repetitivas. DRY • Separação de layout e lógica. no more spaguetti • Reaproveitamento de códigos
  4. Padrões • Os frameworks são baseados em uma série de

    padrões de desenvolvimento como MVC - Model, View, Controller • Model – o comportamento dos dados da aplicação, regras de negócio • View – a saída gráfica e textual da parte da aplicação visível ao usuário • Controller – interpreta as entradas de mouse e teclado do usuário, comandando a Visão e o Modelo
  5. Zend Framework • PHP 5 • OO, baseado em MVC

    e outros design patterns • Desenvolvido pela empresa Zend junto com a comunidade de usuários PHP • http://framework.zend.com
  6. Zend Framework - Vantagens • Suporte comercial da Zend •

    Baseado em componentes reutilizáveis • Boa documentação • Fácil instalação • Grande produtividade • Licença mais “amigável” para empresas
  7. Zend Framework - Documentação • Documentação oficial: http://framework.zend.com/docs/ overview •

    Diversos livros e e-books, em português e inglês • Diversos cursos presenciais e a distância
  8. CakePHP • CakePHP é um framework para PHP que usa

    padrões de desenvolvimento conhecidos como ActiveRecord e MVC. A idéia principal é ser um framework estruturado que permita a usuários PHP de todos os níveis desenvolver aplicações web rubustas sem perda da flexibilidade. • http://www.cakephp.org
  9. CakePHP - Vantagens • Licença flexível (MIT) • Compatibilidade com

    PHP4 e PHP5.2.8 • Geração de CRUD para interação com BD • Validações • Templates
  10. CakePHP - Vantagens • Ferramentas que auxiliam gerar Javascript, AJAX,

    forms HTML, I18N, etc • Comunidade ativa • Funciona em qualquer subdiretório web, com pouca configuração do Apache.
  11. Symfony • Symfony é um framework de desenvolvimento para PHP5.

    Seu principal objetivo é aumentar a velocidade de desenvolvimento e manutenção de aplicações web. Ele reduz as tarefas de codificação repetitivas, usando os princípios de DRY(Dont Repeat Yourself) e KISS (Keep It Simple Stupid) • http://www.symfony.com/
  12. Symfony - Vantagens • Licença flexível (MIT) • Fácil de

    instalar e configurar. Simples para aprender • Altamente configurável • Inovação • Gerador de projetos e código
  13. Symfony - Cases • Yahoo! Answers • Daily Motion •

    http://symfony.com/blog/category/case-studies
  14. Codeigniter/Kohana • O CodeIgniter é um framework para desenvolvimento em

    PHP 4 ou PHP 5 que tem seu foco na simplicidade • Houve um fork do projeto que deu origem ao Kohana • http://codeigniter.com/ • http://www.kohanaphp.com/
  15. Codeigniter/Kohana - Vantagens • Pequeno, com boa performance • Fácil

    instalação • Não possui dependências de outras bibliotecas ou componentes como PEAR ou PECL • Flexibilidade • Documentação clara
  16. Yii • Yii é um framework de alta performance em

    PHP que utiliza componentes para o desenvolvimento de grandes aplicações Web. O nome Yii (pronunciado i) representa as palavras fácil (easy), eficiente (efficient) e extensível (extensible). • Criado pelos desenvolvedores do Prado • http://www.yiiframework.com/
  17. Silex • Micro-framework baseado nos componentes do Symfony2 • PHP

    5.3 • Extensível • Fácil de instalar e testar • http://silex-project.org
  18. Slim • Micro-framework voltado principalmente a criação de aplicações RESTful

    • PHP 5.2 • Fácil de instalar e testar • Possui alguns componentes extras • http://www.slimframework.com
  19. Respect • Baseado em componentes e extensões • Fácil de

    instalar via PEAR • Projeto brasileiro • http://respect.li
  20. Qual usar? • Avalie • Necessidades do SEU projeto •

    Maturidade do framework • Conhecimento da equipe X custo de treinamento • Qualidade da documentação e comunidade • Não é necessário ficar restrito a uma única escolha