SlideShare uma empresa Scribd logo
1 de 20
Curso PHP
@JonataWeber
2014
Frameworks
–Fayad e Schmidt
“É um conjunto de classes que colaboram para
realizar uma responsabilidade para um domínio
de um subsistema da aplicação.”
O que é um Framework?
“Um framework, em desenvolvimento de
software, é uma abstração que une códigos
comuns entre vários projetos de software
fornecendo uma funcionalidade genérica.”
O que é um Framework?
Como nasce?
Impossível criar
Framework
Interseção grande
Possível criar Framework
Tipos de Frameworks
• Frameworks Verticais
• Confeccionados através da experiência obtida em um
determinado contexto específico;
• Ex: Financeiro; Recursos Humanos
• Frameworks Horizontais
• Não dependem do domínio da aplicação e podem ser
usados em diferentes domínios
• Ex: Interfaces gráficas; Persistência; Transação
Tipos de Frameworks
• Micro Frameworks
• Route HTTP Request para um callback, controller, método, etc.
• HTTP Services
• Full-Stack Frameworks
• ORM, Authentication packages, etc
• Component Frameworks
• Coleções de bibliotecas de propósito única e especializado
• Em conjunto podem formar um micro- ou full-stack framework
Framework vs Biblioteca
Biblioteca Framework
Vantagens
a curto prazo
• Não reinventar a roda!
• Evitar desperdícios (redução de custos)
• Redução de time-to-market
• Segurança
• Extensibilidade
• Comunidade
• Produtividade
• Padronização
• classes, bibliotecas, convenções
• Eliminação das tarefas repetitivas
• Facilidade na geração de testes
• Geração de documentação
Vantagens
a longo prazo
• Programadores concentram-se em adicionar valor
• Menos manutenção
• OO maximiza o re-uso
• Já foi testado!
• Uso de tecnologias embutidas
Vantagens
a longo prazo
Desvantagens
• Dificuldade de aprendizagem
• Construir um framework é complexo
• Necessidade de planejamento
• Quem pode pensar em longo prazo quando se está
competindo "On Internet time”?
Características básicas
• Deve ser reusável
• Bem documentado
• Fácil de usar
• Deve ser extensível
• Deve ser completo e eficiente dentro do seu
propósito
Tecnologias Embutidas
• MVC
• ActiveRecord
• Internacionalização
• ORM
• Injeção de
Dependência
• Validation
• Authentication
• Routes
• Templates
• Caching
Documentação
• Descrição histórica
• Exemplos práticos
• Detalhes da sua criação e implementação
• Descrição do comportamento
• Fóruns de discussões
Frameworks PHP
Full-Stack Frameworks
• Aura
• CakePHP
• TYPO3 Flow [FLOW3]
• FuelPHP
• Joomla Framework
• Kohana
• Laravel
• ThinkPHP
• Lithium
• Nette Framework
• Phalcon
• PPI
• Symfony
• Yii
• Zend Framework
Micro Frameworks
• Fat-Free
• MicroMVC
• Silex
• Slim
• RespectRest
6 motivos para não usar um
framework PHP
• 1. Você é imortal, e portanto vai estar sempre por perto para ajudar outros
desenvolvedores a entenderem e estenderem seu código.
• 2. Você não tem vida então não vai se importar em investir todo o seu tempo
livre escrevendo comentários de código e documentações que já devem estar
escritas em um bom framework, para que outros desenvolvedores depois de
você (e você mesmo) possam escrever aplicativos com seu código.
• 3. Você está criando um aplicativo que vai estar entre os mais visitados da
internet (todos os acessos vindos de você mesmo e para toda a eternidade se o
#1 e #2 forem verdadeiros), assim pode justificar os potenciais nanosegundos
salvos por não ter a “sobrecarga” de um framework.
• 4. Você é um deus da segurança web e é muito mais inteligente que um grupo
de desenvolvedores que escreve código e testa coletivamente bons frameworks
em busca de falhas de segurança.
6 motivos para não usar um
framework PHP
• 5. Você quer gastar todo o seu tempo reinventando a roda escrevendo
sua própria implementação de roteamento RESTful, ORM, engine de
templates, etc, etc, ao invés de usar o que bons frameworks proveem.
Ou talvez você pule a parte do ORM e apenas reescreva grandes
partes do aplicativo sempre que precisar mudar de banco de dados.
• 6.Você não tem prazos e “deadlines”.
• Se estes motivos não se aplicam a você eu recomendo que dê uma
olhada em algum framework como Zend Framework 2, Symfony 2,
Laravel
• - See more at: http://eltonminetto.net/blog/2013/04/21/6-motivos-para-
nao-usar-um-framework-php/#sthash.M7IAPjbp.dpuf
Referência
• http://www.phptherightway.com/#frameworks
• https://github.com/codeguy/php-the-right-
way/wiki/Frameworks
• http://imasters.com.br/noticia/pesquisa-aponta-
frameworks-php-mais-promissores-para-2014/

Mais conteúdo relacionado

Mais procurados

Arquitetura de microsserviços
Arquitetura  de  microsserviçosArquitetura  de  microsserviços
Arquitetura de microsserviçosRaphael Almeida
 
O caminho das pedras na construção de uma aplicação cloud friendly
O caminho das pedras na construção de uma aplicação cloud friendlyO caminho das pedras na construção de uma aplicação cloud friendly
O caminho das pedras na construção de uma aplicação cloud friendlyRicardo Faria
 
Palestra na Faccat sobre o Zeanwork
Palestra na Faccat sobre o ZeanworkPalestra na Faccat sobre o Zeanwork
Palestra na Faccat sobre o ZeanworkJosemar Davi Luedke
 
Micro Front-end + CQRS/ES - JSSP jul/2019
Micro Front-end + CQRS/ES - JSSP jul/2019Micro Front-end + CQRS/ES - JSSP jul/2019
Micro Front-end + CQRS/ES - JSSP jul/2019Gabriel Rodrigues Couto
 
Desenvolvimento Web com ASP.NET 4
Desenvolvimento Web com ASP.NET 4Desenvolvimento Web com ASP.NET 4
Desenvolvimento Web com ASP.NET 4Rodrigo Kono
 
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 ZendAná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 ZendThiago Sinésio
 
Soluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft OrleansSoluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft Orleansakamud
 
JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010Eder Magalhães
 
Um método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviçosUm método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviçosThiago Pereira
 
Visão Geral do CMS e Framework Joomla - Business IT South America
Visão Geral do CMS e Framework Joomla - Business IT South AmericaVisão Geral do CMS e Framework Joomla - Business IT South America
Visão Geral do CMS e Framework Joomla - Business IT South AmericaEmerson Rocha Luiz
 
Microservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenosMicroservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenosVinícius Krolow
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro ServiçosFernando Ike
 
Unit Test JavaScript
Unit Test JavaScriptUnit Test JavaScript
Unit Test JavaScriptDan Vitoriano
 
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?tdc-globalcode
 
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações WebFrameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações WebJairo Junior
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
Ferramentas para Ambiente de Desenvolvimento Ágil
Ferramentas para Ambiente de Desenvolvimento ÁgilFerramentas para Ambiente de Desenvolvimento Ágil
Ferramentas para Ambiente de Desenvolvimento ÁgilInael Rodrigues
 

Mais procurados (20)

Arquitetura de microsserviços
Arquitetura  de  microsserviçosArquitetura  de  microsserviços
Arquitetura de microsserviços
 
O caminho das pedras na construção de uma aplicação cloud friendly
O caminho das pedras na construção de uma aplicação cloud friendlyO caminho das pedras na construção de uma aplicação cloud friendly
O caminho das pedras na construção de uma aplicação cloud friendly
 
Palestra na Faccat sobre o Zeanwork
Palestra na Faccat sobre o ZeanworkPalestra na Faccat sobre o Zeanwork
Palestra na Faccat sobre o Zeanwork
 
Micro Front-end + CQRS/ES - JSSP jul/2019
Micro Front-end + CQRS/ES - JSSP jul/2019Micro Front-end + CQRS/ES - JSSP jul/2019
Micro Front-end + CQRS/ES - JSSP jul/2019
 
Desenvolvimento Web com ASP.NET 4
Desenvolvimento Web com ASP.NET 4Desenvolvimento Web com ASP.NET 4
Desenvolvimento Web com ASP.NET 4
 
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 ZendAná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
 
Soluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft OrleansSoluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft Orleans
 
JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010
 
Um método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviçosUm método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviços
 
Visão Geral do CMS e Framework Joomla - Business IT South America
Visão Geral do CMS e Framework Joomla - Business IT South AmericaVisão Geral do CMS e Framework Joomla - Business IT South America
Visão Geral do CMS e Framework Joomla - Business IT South America
 
Microservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenosMicroservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenos
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro Serviços
 
Unit Test JavaScript
Unit Test JavaScriptUnit Test JavaScript
Unit Test JavaScript
 
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?
 
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações WebFrameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Java web
Java webJava web
Java web
 
Ferramentas para Ambiente de Desenvolvimento Ágil
Ferramentas para Ambiente de Desenvolvimento ÁgilFerramentas para Ambiente de Desenvolvimento Ágil
Ferramentas para Ambiente de Desenvolvimento Ágil
 
Clean architecture
Clean architectureClean architecture
Clean architecture
 
Framework 7 pdf
Framework 7 pdfFramework 7 pdf
Framework 7 pdf
 

Destaque

MySQL sobreviverá à nuvem?
MySQL sobreviverá à nuvem?MySQL sobreviverá à nuvem?
MySQL sobreviverá à nuvem?MySQL Brasil
 
Implementando enterprise patterns com PHP
Implementando enterprise patterns com PHPImplementando enterprise patterns com PHP
Implementando enterprise patterns com PHPPablo Dall'Oglio
 
Programção PHP
Programção PHPProgramção PHP
Programção PHPceap
 
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014Julio Bitencourt
 
PHP: Programando com orientação a Objetos
PHP: Programando com orientação a ObjetosPHP: Programando com orientação a Objetos
PHP: Programando com orientação a ObjetosPablo Dall'Oglio
 
Apostila Programando Para Web Com Php & My Sql
Apostila   Programando Para Web Com Php & My SqlApostila   Programando Para Web Com Php & My Sql
Apostila Programando Para Web Com Php & My Sqlrinaldocalixto2010
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Willian Magalhães
 
Apostila PHP5 + MySQL + AJAX
Apostila PHP5 + MySQL + AJAXApostila PHP5 + MySQL + AJAX
Apostila PHP5 + MySQL + AJAXDaniel Brandão
 
PHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesPHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesAlmir Mendes
 
CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1Norivan Oliveira
 
Exercicios Php
Exercicios PhpExercicios Php
Exercicios Phpsofteam
 
Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoNorton Guimarães
 

Destaque (20)

Phpmanual
PhpmanualPhpmanual
Phpmanual
 
Programando para web com php my sql - fed cox junior
Programando para web com php my sql - fed cox juniorProgramando para web com php my sql - fed cox junior
Programando para web com php my sql - fed cox junior
 
MySQL sobreviverá à nuvem?
MySQL sobreviverá à nuvem?MySQL sobreviverá à nuvem?
MySQL sobreviverá à nuvem?
 
Introdução a Frameworks
Introdução a FrameworksIntrodução a Frameworks
Introdução a Frameworks
 
Implementando enterprise patterns com PHP
Implementando enterprise patterns com PHPImplementando enterprise patterns com PHP
Implementando enterprise patterns com PHP
 
Programção PHP
Programção PHPProgramção PHP
Programção PHP
 
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014
 
PHP: Programando com orientação a Objetos
PHP: Programando com orientação a ObjetosPHP: Programando com orientação a Objetos
PHP: Programando com orientação a Objetos
 
PHP, Mercado e Certificações
PHP, Mercado e CertificaçõesPHP, Mercado e Certificações
PHP, Mercado e Certificações
 
Primeira Aula PHP
Primeira Aula PHPPrimeira Aula PHP
Primeira Aula PHP
 
Apostila Programando Para Web Com Php & My Sql
Apostila   Programando Para Web Com Php & My SqlApostila   Programando Para Web Com Php & My Sql
Apostila Programando Para Web Com Php & My Sql
 
Lista Exercicios 01
Lista Exercicios 01Lista Exercicios 01
Lista Exercicios 01
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
 
Apostila PHP5 + MySQL + AJAX
Apostila PHP5 + MySQL + AJAXApostila PHP5 + MySQL + AJAX
Apostila PHP5 + MySQL + AJAX
 
Php04
Php04Php04
Php04
 
PHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesPHP Day - PHP para iniciantes
PHP Day - PHP para iniciantes
 
Introdução a php
Introdução a phpIntrodução a php
Introdução a php
 
CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1
 
Exercicios Php
Exercicios PhpExercicios Php
Exercicios Php
 
Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP Básico
 

Semelhante a Curso PHP UNIFACS 2014.1 – Frameworks

Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Flávio Lisboa
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 
Programação orientada à objetos & mvc
Programação orientada à objetos & mvcProgramação orientada à objetos & mvc
Programação orientada à objetos & mvcJhordam Siqueira
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edtedbrunoaalves
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseDr. Spock
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKRyan Padilha
 
Visão Geral do CMS e Framework Joomla - Business IT South America 2014
Visão Geral do CMS e Framework Joomla - Business IT South America 2014Visão Geral do CMS e Framework Joomla - Business IT South America 2014
Visão Geral do CMS e Framework Joomla - Business IT South America 2014Alligo Web
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento webArlindo Santos
 
Frameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareFrameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareThomas Kanzig
 
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net coreConhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net coreRodrigo Kono
 
Zend Framework Estrutura e TDD
Zend Framework Estrutura e TDDZend Framework Estrutura e TDD
Zend Framework Estrutura e TDDPHP Day Curitiba
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperCesar Romero
 
Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)
Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)
Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)Douglas Fischer
 

Semelhante a Curso PHP UNIFACS 2014.1 – Frameworks (20)

Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011
 
Framework usar ou não usar
Framework usar ou não usarFramework usar ou não usar
Framework usar ou não usar
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
01 aula1 habib
01 aula1 habib01 aula1 habib
01 aula1 habib
 
Programação orientada à objetos & mvc
Programação orientada à objetos & mvcProgramação orientada à objetos & mvc
Programação orientada à objetos & mvc
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edted
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software Enterprise
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 
Aula05 frameworks
Aula05 frameworksAula05 frameworks
Aula05 frameworks
 
Visão Geral do CMS e Framework Joomla - Business IT South America 2014
Visão Geral do CMS e Framework Joomla - Business IT South America 2014Visão Geral do CMS e Framework Joomla - Business IT South America 2014
Visão Geral do CMS e Framework Joomla - Business IT South America 2014
 
Conhecendo o Django
Conhecendo o DjangoConhecendo o Django
Conhecendo o Django
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
 
Frameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareFrameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de software
 
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net coreConhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
 
Web tools pt-br
Web tools pt-brWeb tools pt-br
Web tools pt-br
 
Web Tools Pt Br
Web Tools Pt BrWeb Tools Pt Br
Web Tools Pt Br
 
Zend Framework Estrutura e TDD
Zend Framework Estrutura e TDDZend Framework Estrutura e TDD
Zend Framework Estrutura e TDD
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack Developer
 
Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)
Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)
Cocoaheads RJ - Como você faz? (Douglas Fischer - 26/03/2015)
 
Curso HTML 5 - Aula Inicial
Curso HTML 5 - Aula InicialCurso HTML 5 - Aula Inicial
Curso HTML 5 - Aula Inicial
 

Mais de Jonata Weber

Programando sua carreira
Programando sua carreiraProgramando sua carreira
Programando sua carreiraJonata Weber
 
Curso PHP UNIFACS 2014.1 – Databases & Sessions
Curso PHP UNIFACS 2014.1 – Databases & SessionsCurso PHP UNIFACS 2014.1 – Databases & Sessions
Curso PHP UNIFACS 2014.1 – Databases & SessionsJonata Weber
 
Curso PHP UNIFACS 2014.1 – 2ª aula
Curso PHP UNIFACS 2014.1 – 2ª aulaCurso PHP UNIFACS 2014.1 – 2ª aula
Curso PHP UNIFACS 2014.1 – 2ª aulaJonata Weber
 
Curso PHP UNIFACS 2014.1 – 1a Aula
Curso PHP UNIFACS 2014.1 – 1a AulaCurso PHP UNIFACS 2014.1 – 1a Aula
Curso PHP UNIFACS 2014.1 – 1a AulaJonata Weber
 
Padrões de Projeto em Aplicações Web
Padrões de Projeto em Aplicações WebPadrões de Projeto em Aplicações Web
Padrões de Projeto em Aplicações WebJonata Weber
 
PHP Orientado a Objetos - 1a Parte
PHP Orientado a Objetos - 1a PartePHP Orientado a Objetos - 1a Parte
PHP Orientado a Objetos - 1a ParteJonata Weber
 
SIMCIT 2013 - Mini-curso PHP
SIMCIT 2013 - Mini-curso PHPSIMCIT 2013 - Mini-curso PHP
SIMCIT 2013 - Mini-curso PHPJonata Weber
 
Curso PHP - 2a. Aula (2013.2)
Curso PHP - 2a. Aula (2013.2)Curso PHP - 2a. Aula (2013.2)
Curso PHP - 2a. Aula (2013.2)Jonata Weber
 
Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)Jonata Weber
 

Mais de Jonata Weber (9)

Programando sua carreira
Programando sua carreiraProgramando sua carreira
Programando sua carreira
 
Curso PHP UNIFACS 2014.1 – Databases & Sessions
Curso PHP UNIFACS 2014.1 – Databases & SessionsCurso PHP UNIFACS 2014.1 – Databases & Sessions
Curso PHP UNIFACS 2014.1 – Databases & Sessions
 
Curso PHP UNIFACS 2014.1 – 2ª aula
Curso PHP UNIFACS 2014.1 – 2ª aulaCurso PHP UNIFACS 2014.1 – 2ª aula
Curso PHP UNIFACS 2014.1 – 2ª aula
 
Curso PHP UNIFACS 2014.1 – 1a Aula
Curso PHP UNIFACS 2014.1 – 1a AulaCurso PHP UNIFACS 2014.1 – 1a Aula
Curso PHP UNIFACS 2014.1 – 1a Aula
 
Padrões de Projeto em Aplicações Web
Padrões de Projeto em Aplicações WebPadrões de Projeto em Aplicações Web
Padrões de Projeto em Aplicações Web
 
PHP Orientado a Objetos - 1a Parte
PHP Orientado a Objetos - 1a PartePHP Orientado a Objetos - 1a Parte
PHP Orientado a Objetos - 1a Parte
 
SIMCIT 2013 - Mini-curso PHP
SIMCIT 2013 - Mini-curso PHPSIMCIT 2013 - Mini-curso PHP
SIMCIT 2013 - Mini-curso PHP
 
Curso PHP - 2a. Aula (2013.2)
Curso PHP - 2a. Aula (2013.2)Curso PHP - 2a. Aula (2013.2)
Curso PHP - 2a. Aula (2013.2)
 
Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)
 

Curso PHP UNIFACS 2014.1 – Frameworks

  • 2. –Fayad e Schmidt “É um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.” O que é um Framework?
  • 3. “Um framework, em desenvolvimento de software, é uma abstração que une códigos comuns entre vários projetos de software fornecendo uma funcionalidade genérica.” O que é um Framework?
  • 4. Como nasce? Impossível criar Framework Interseção grande Possível criar Framework
  • 5. Tipos de Frameworks • Frameworks Verticais • Confeccionados através da experiência obtida em um determinado contexto específico; • Ex: Financeiro; Recursos Humanos • Frameworks Horizontais • Não dependem do domínio da aplicação e podem ser usados em diferentes domínios • Ex: Interfaces gráficas; Persistência; Transação
  • 6. Tipos de Frameworks • Micro Frameworks • Route HTTP Request para um callback, controller, método, etc. • HTTP Services • Full-Stack Frameworks • ORM, Authentication packages, etc • Component Frameworks • Coleções de bibliotecas de propósito única e especializado • Em conjunto podem formar um micro- ou full-stack framework
  • 8. Vantagens a curto prazo • Não reinventar a roda! • Evitar desperdícios (redução de custos) • Redução de time-to-market • Segurança • Extensibilidade • Comunidade
  • 9. • Produtividade • Padronização • classes, bibliotecas, convenções • Eliminação das tarefas repetitivas • Facilidade na geração de testes • Geração de documentação Vantagens a longo prazo
  • 10. • Programadores concentram-se em adicionar valor • Menos manutenção • OO maximiza o re-uso • Já foi testado! • Uso de tecnologias embutidas Vantagens a longo prazo
  • 11. Desvantagens • Dificuldade de aprendizagem • Construir um framework é complexo • Necessidade de planejamento • Quem pode pensar em longo prazo quando se está competindo "On Internet time”?
  • 12. Características básicas • Deve ser reusável • Bem documentado • Fácil de usar • Deve ser extensível • Deve ser completo e eficiente dentro do seu propósito
  • 13. Tecnologias Embutidas • MVC • ActiveRecord • Internacionalização • ORM • Injeção de Dependência • Validation • Authentication • Routes • Templates • Caching
  • 14. Documentação • Descrição histórica • Exemplos práticos • Detalhes da sua criação e implementação • Descrição do comportamento • Fóruns de discussões
  • 16. Full-Stack Frameworks • Aura • CakePHP • TYPO3 Flow [FLOW3] • FuelPHP • Joomla Framework • Kohana • Laravel • ThinkPHP • Lithium • Nette Framework • Phalcon • PPI • Symfony • Yii • Zend Framework
  • 17. Micro Frameworks • Fat-Free • MicroMVC • Silex • Slim • RespectRest
  • 18. 6 motivos para não usar um framework PHP • 1. Você é imortal, e portanto vai estar sempre por perto para ajudar outros desenvolvedores a entenderem e estenderem seu código. • 2. Você não tem vida então não vai se importar em investir todo o seu tempo livre escrevendo comentários de código e documentações que já devem estar escritas em um bom framework, para que outros desenvolvedores depois de você (e você mesmo) possam escrever aplicativos com seu código. • 3. Você está criando um aplicativo que vai estar entre os mais visitados da internet (todos os acessos vindos de você mesmo e para toda a eternidade se o #1 e #2 forem verdadeiros), assim pode justificar os potenciais nanosegundos salvos por não ter a “sobrecarga” de um framework. • 4. Você é um deus da segurança web e é muito mais inteligente que um grupo de desenvolvedores que escreve código e testa coletivamente bons frameworks em busca de falhas de segurança.
  • 19. 6 motivos para não usar um framework PHP • 5. Você quer gastar todo o seu tempo reinventando a roda escrevendo sua própria implementação de roteamento RESTful, ORM, engine de templates, etc, etc, ao invés de usar o que bons frameworks proveem. Ou talvez você pule a parte do ORM e apenas reescreva grandes partes do aplicativo sempre que precisar mudar de banco de dados. • 6.Você não tem prazos e “deadlines”. • Se estes motivos não se aplicam a você eu recomendo que dê uma olhada em algum framework como Zend Framework 2, Symfony 2, Laravel • - See more at: http://eltonminetto.net/blog/2013/04/21/6-motivos-para- nao-usar-um-framework-php/#sthash.M7IAPjbp.dpuf
  • 20. Referência • http://www.phptherightway.com/#frameworks • https://github.com/codeguy/php-the-right- way/wiki/Frameworks • http://imasters.com.br/noticia/pesquisa-aponta- frameworks-php-mais-promissores-para-2014/