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

Frameworks de desenvolvimento em PHP

0227f6274b8a6cce078d7f8a91460c41?s=47 Elton Minetto
September 27, 2011

Frameworks de desenvolvimento em PHP

0227f6274b8a6cce078d7f8a91460c41?s=128

Elton Minetto

September 27, 2011
Tweet

Transcript

  1. Frameworks de desenvolvimento em PHP elton luís minetto @eminetto

  2. 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
  3. Ambiente Web • Sites • Sistemas • Web services

  4. None
  5. Repetição de tarefas

  6. Dificuldade de debug

  7. Não uso de padrões de desenvolvimento

  8. Alterações constantes

  9. Desenvolvimento lento

  10. Pouco reaproveitamento de código

  11. Novas tecnologias surgindo a todo momento

  12. Mistura de layout e lógica

  13. Existe solução?

  14. 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.
  15. 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
  16. 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
  17. Ruby on Rails

  18. Full-Stack

  19. None
  20. 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
  21. 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
  22. Zend Framework - Vantagens • Certificação de profissionais • Envolvidos

    no desenvolvimento:
  23. 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
  24. Alerta! Cara de pau!

  25. http://www.zfnapratica.com.br

  26. Zend Framework - Certificação

  27. Zend Framework - Cases

  28. 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
  29. 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
  30. 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.
  31. CakePHP - Documentação • http://book.cakephp.org/2.0/en/index.html • http://bakery.cakephp.org/ • http://api.cakephp.org/ •

    Poucos livros, em inglês e pouco atualizados
  32. CakePHP - Cases • http://www.jacotei.com.br/ • http://www.traffictravis.com • http://www.hotscripts.com •

    http://www.copify.com • http://scratch.mit.edu
  33. 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/
  34. 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
  35. Symfony - Documentação • http://symfony.com/doc/current/index.html • http://symfony.com/doc/current/book/index.html • http://api.symfony.com/2.0/index.html •

    Poucos livros atualizados
  36. Symfony - Cases • Yahoo! Answers • Daily Motion •

    http://symfony.com/blog/category/case-studies
  37. 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/
  38. 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
  39. Codeigniter/Kohana - Documentação • http://codeigniter.com/tutorials/ (vídeos) • http://codeigniter.com/user_guide/ • http://kohanaframework.org/documentation

  40. Codeigniter/Kohana - Cases • http://www.opensourcefood.com (CodeIgniter) • https://www.wepay.com (Kohana) •

    http://kids.nationalgeographic.com (Kohana)
  41. 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/
  42. Yii - Vantagens • Performance • Comunidade ativa • Gerador

    de códigos • MVC
  43. Yii - Documentação • http://www.yiiframework.com/doc/ • Dois livros, em inglês

  44. Micro Frameworks

  45. None
  46. Silex • Micro-framework baseado nos componentes do Symfony2 • PHP

    5.3 • Extensível • Fácil de instalar e testar • http://silex-project.org
  47. Silex - Documentação • http://silex-project.org/documentation

  48. 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
  49. Slim - Documentação • http://www.slimframework.com/learn

  50. Respect • Baseado em componentes e extensões • Fácil de

    instalar via PEAR • Projeto brasileiro • http://respect.li
  51. Respect - Documentação • http://respect.li

  52. 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
  53. Contato @eminetto http://eltonminetto.net http://coderockr.com