49
Frameworks PHP Comparando as principais ferramentas disponíveis

Frameworks PHP

Embed Size (px)

Citation preview

Page 1: Frameworks PHP

Frameworks PHP

Comparando as principais ferramentas disponíveis

Page 2: Frameworks PHP

Quem sou eu

●Graduando em TADS● Trabalha com PHP desde 2007● Pequena experiência com tecnologias MS / Oracle

Page 3: Frameworks PHP

Principais Tópicos

●Design patterns●O que é um Framework?● Por que utilizar?● Solução livre vs Solução comercial●Qual Framework devo usar?

Page 4: Frameworks PHP

Design Patterns

Page 5: Frameworks PHP

O que?

Page 6: Frameworks PHP

Por que?

Page 7: Frameworks PHP

Quais?

?

Page 8: Frameworks PHP

Singleton

Page 9: Frameworks PHP

Factory

Page 10: Frameworks PHP

Adapter

Page 11: Frameworks PHP

Pubsub

Page 12: Frameworks PHP

?

O que é um Framework?

Page 13: Frameworks PHP

Moldura de trabalho

Page 14: Frameworks PHP

Conjunto de ferramentas

Page 15: Frameworks PHP

Modelos de frameworks

Page 16: Frameworks PHP

Full stack

Page 17: Frameworks PHP

Component based

Page 18: Frameworks PHP

CMS

Page 19: Frameworks PHP

Por que usar um Framework?

● Estabilidade○ Symfony 2

■Dois anos de planejamento■Dois anos de desenvolvimento e testes

Page 20: Frameworks PHP

Por que usar um Framework?

● Funcionalidades○ Zend Framework

■Mais de 60 módulos e crescendo■ Sugestões da comunidade■Módulos de terceiros

Page 21: Frameworks PHP

Por que usar um Framework?

● Padronização (?)○CakePHP

■Model, View, Controller■DataSource, Helper, Component

Page 22: Frameworks PHP

Solução comercial vs Solução livre

● Solução comercial○Mensalidade de suporte○Apoio centralizado○Documentação concisa

Page 23: Frameworks PHP

Solução comercial vs Solução livre

● Solução livre○Apoio da comunidade○Velocidade de resposta○Documentação aberta○Código fonte disponível

Page 24: Frameworks PHP

Qual framework devo usar?

● Problemas○ Tempo○Dinheiro

Page 25: Frameworks PHP

Qual framework devo usar?

●Avalie○Necessidades do SEU projeto○Maturidade dos frameworks○Conhecimento da equipe○Qualidade da documentação / comunidade

Page 26: Frameworks PHP
Page 27: Frameworks PHP

Zend Framework

● PHP 5●Orientação a Objetos●Design Patterns

○MVC○ Factory○Adapter

●Desenvolvido pela Zend em conjunto com a comunidade● Parte do Zend PHP Collaboration Project

Page 28: Frameworks PHP

Zend FrameworkVantagens● Suporte comercial da Zend●Componentes reutilizáveis●Documentação decente●Grande produtividade● Licença com foco comercial●Certificação de profissionais● Empresas envolvidas:

Page 29: Frameworks PHP

Zend FrameworkDocumentação●Documentação oficial no site● Livros

Page 30: Frameworks PHP

CakePHP

● PHP 4 + PHP 5●Design Patterns

○MVC○ActiveRecord

Page 31: Frameworks PHP

CakePHPVantagens● Licença flexível: MIT● Funciona em (quase) qualquer servidor por aí (PHP 4 e 5)●Geração fácil de CRUD a partir do BD●Validação de formulários● Templates● Ferramentas que auxiliam a gerar código

○ JavaScript○HTML

● Internacionalização●Comunidade ativa● Implantação facilitada

Page 32: Frameworks PHP

CakePHPDocumentação●Book●Bakery●API●Documentação em português

Page 33: Frameworks PHP

Symfony

● PHP 5.3●Design Patterns

○MVC● Princípios

○DRY○KISS

Page 34: Frameworks PHP

SymfonyVantagens● Licença flexível: MIT● Fácil de instalar e configurar● Simples de aprender●Altamente configurável● Inovação●Geradores

○ Projetos○Código

Page 35: Frameworks PHP

SymfonyDocumentação●Book●Cookbook●Referência●API●Glossário

Page 36: Frameworks PHP
Page 37: Frameworks PHP

CodeIgniter / kohana

● PHP 4 + PHP 5● Simplicidade

● kohana é um fork do CodeIgniter

Page 38: Frameworks PHP

CodeIgniter / kohanaVantagens● Pequeno●Bom desempenho●Não possui dependências externas (PECL, PEAR)●Documentação clara

Page 39: Frameworks PHP

CodeIgniter / kohanaDocumentação●CodeIgniter

○ Tutoriais○Guia do usuário

● kohana○Guia do usuário

Page 40: Frameworks PHP

yii

● PHP 5●Componentes para grandes aplicações●Design pattern

○MVC●WTF "yii"?

○ Lê-se: 'i', em bom português○ Easy○ Efficient○ Extensible

●Criado pelos desenvolvedores do PRADO

Page 41: Frameworks PHP

yiiVantagens●Alto desempenho●Comunidade ativa●Gerador de código●Widgets● Integração com jQuery

Page 42: Frameworks PHP

yiiDocumentação● Tour● Tutoriais●Referência a classes●Wiki●Outros

○Cheat sheets○ Playground○ Podcasts○Blogs indicados○ IRC

Page 43: Frameworks PHP

DooPHP

●Do OOP in PHP●Usa implementação nativa de OOP● Evita métodos mágicos●Design patterns

○MVC○ORM

●API REST

Page 44: Frameworks PHP

DooPHPVantagens●O framework mais rápido do oeste● Fácil desacoplamento● Fácil implantação

Page 45: Frameworks PHP

DooPHPDocumentação●Guia definitivo●Referência a API●Blog●Demos

Page 46: Frameworks PHP

Recess

● PHP 5● Foco em REST● Ferramenta para qualquer desenvolvedor● Suporte a annotations●MVC fácilmente desacoplável● Filosofia DRY●Arquitetura orientada a cache

Page 47: Frameworks PHP

RecessVantagens● Licença flexível: MIT●GUI para gerar aplicações e rotas

Page 48: Frameworks PHP

RecessDocumentação● The Book of Recess● Instruções de instalação● Tutoriais●Guias de usuário●Blog

Page 49: Frameworks PHP

Contato?

contato = { nome: "Marcos Garcia", email: "[email protected]", twitter: "@msilvagarcia", facebook: "facebook.com/marcos.asgarcia"};