View
660
Download
0
Category
Preview:
Citation preview
Frameworks PHP
Comparando as principais ferramentas disponíveis
Quem sou eu
●Graduando em TADS● Trabalha com PHP desde 2007● Pequena experiência com tecnologias MS / Oracle
Principais Tópicos
●Design patterns●O que é um Framework?● Por que utilizar?● Solução livre vs Solução comercial●Qual Framework devo usar?
Design Patterns
O que?
Por que?
Quais?
?
Singleton
Factory
Adapter
Pubsub
?
O que é um Framework?
Moldura de trabalho
Conjunto de ferramentas
Modelos de frameworks
Full stack
Component based
CMS
Por que usar um Framework?
● Estabilidade○ Symfony 2
■Dois anos de planejamento■Dois anos de desenvolvimento e testes
Por que usar um Framework?
● Funcionalidades○ Zend Framework
■Mais de 60 módulos e crescendo■ Sugestões da comunidade■Módulos de terceiros
Por que usar um Framework?
● Padronização (?)○CakePHP
■Model, View, Controller■DataSource, Helper, Component
Solução comercial vs Solução livre
● Solução comercial○Mensalidade de suporte○Apoio centralizado○Documentação concisa
Solução comercial vs Solução livre
● Solução livre○Apoio da comunidade○Velocidade de resposta○Documentação aberta○Código fonte disponível
Qual framework devo usar?
● Problemas○ Tempo○Dinheiro
Qual framework devo usar?
●Avalie○Necessidades do SEU projeto○Maturidade dos frameworks○Conhecimento da equipe○Qualidade da documentação / comunidade
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
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:
Zend FrameworkDocumentação●Documentação oficial no site● Livros
CakePHP
● PHP 4 + PHP 5●Design Patterns
○MVC○ActiveRecord
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
CakePHPDocumentação●Book●Bakery●API●Documentação em português
Symfony
● PHP 5.3●Design Patterns
○MVC● Princípios
○DRY○KISS
SymfonyVantagens● Licença flexível: MIT● Fácil de instalar e configurar● Simples de aprender●Altamente configurável● Inovação●Geradores
○ Projetos○Código
SymfonyDocumentação●Book●Cookbook●Referência●API●Glossário
CodeIgniter / kohana
● PHP 4 + PHP 5● Simplicidade
● kohana é um fork do CodeIgniter
CodeIgniter / kohanaVantagens● Pequeno●Bom desempenho●Não possui dependências externas (PECL, PEAR)●Documentação clara
CodeIgniter / kohanaDocumentação●CodeIgniter
○ Tutoriais○Guia do usuário
● kohana○Guia do usuário
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
yiiVantagens●Alto desempenho●Comunidade ativa●Gerador de código●Widgets● Integração com jQuery
yiiDocumentação● Tour● Tutoriais●Referência a classes●Wiki●Outros
○Cheat sheets○ Playground○ Podcasts○Blogs indicados○ IRC
DooPHP
●Do OOP in PHP●Usa implementação nativa de OOP● Evita métodos mágicos●Design patterns
○MVC○ORM
●API REST
DooPHPVantagens●O framework mais rápido do oeste● Fácil desacoplamento● Fácil implantação
DooPHPDocumentação●Guia definitivo●Referência a API●Blog●Demos
Recess
● PHP 5● Foco em REST● Ferramenta para qualquer desenvolvedor● Suporte a annotations●MVC fácilmente desacoplável● Filosofia DRY●Arquitetura orientada a cache
RecessVantagens● Licença flexível: MIT●GUI para gerar aplicações e rotas
RecessDocumentação● The Book of Recess● Instruções de instalação● Tutoriais●Guias de usuário●Blog
Contato?
contato = { nome: "Marcos Garcia", email: "marcos.asgarcia@gmail.com", twitter: "@msilvagarcia", facebook: "facebook.com/marcos.asgarcia"};
Recommended