SlideShare a Scribd company logo
1 of 28
Entendendo os
Microframeworks
por Felipe Bastos
felipebastosweb@gmail.com
Autor
•Felipe A. Bastos Moraes aka
<felipebastosweb>
•Graduado em Análise de Sistemas
•MBA em Gerenciamento de Projetos
•Entusiasta de Desenvolvimento de Software e
Metodologias Ágeis
–Gosta de filmes/seriados que envolvam tecnologia ou
investigação científica: Homem de Ferro, House, Bones e
DC’s Legends of Tomorrow ;)
Agenda <prevista>
•Convite para participação de todos <Retrospectiva>
•Desvendar Por Que surgiram os micro frameworks
•Entender o Que realmente são eles
•Descobrir Onde podem ser usados
•Sugerir Quem deve usar
•E Quando usar
•Arquitetar Como usar
•E analisar o impacto
•do Custo
Por que eles surgiram?
•PHP é Coisa de Iniciante
–Falta de Orientação a Objetos <nos Open Sources>
–Falta de Design Patterns
•Aqui não usamos Frameworks
–Código Spaguetti
–O gargalo do desempenho (Zend e Symfony 1 e 2)
–A complexidade da ferramenta
–Alto custo de Manutenção
–O alto custo da Formação Profissional
–Falta de Profissional especializado
Você já ouviu ou pensou isso ...
Você já ouviu ou pensou isso ...
•O “legado do Legado”
–Diferentes versões da linguagem
–Diferentes versões do framework
–Diferentes versões do sistema
•Qual o melhor Framework?
–O que tem mais recursos
–O que tem a comunidade mais ativa
–O que tem melhor desempenho
–O mais ágil
•Odisseia da Manutenção
–Não sei por onde começar
–Qual parte do sistema está derrubando o banco?
–Qual parte do sistema está derrubando o servidor?
–Vamos parar tudo
–Já fizeram backup?
•Como vamos escalar?
–Escala o Banco
–Escala a Aplicação
–Escala o Servidor
–Balanceia a Carga
Você já ouviu ou pensou isso ...
Dividir e Conquistar
Micro Frameworks e os
MicroServiços
É uma forma particular de conceber
APLICAÇÕES de Software como suítes de
SERVIÇOS implementadas de formas
INDEPENDENTES.
Martin Fowler e James Lewis
Quão pequeno
pode ser um
Framework?
Sim, uma Classe
Um exemplo de Uso
Todos os Componentes são
Versionados e Testados
- Senhor, estou buscando
informações.
Seus Serviços terão
Propósitos Específicos
•Você não precisa replicar
toda a Aplicação;
•A sua aplicação
desempenhará uma tarefa
específica;
•A sua aplicação faz
melhor aquilo para o qual
ela foi projetada;
•É muito mais fácil
projetar e dar
manutenção em serviços
menores.
Vamos Escalar?
Na visão de Fowler e Lewis
Sua Equipe também será
Evolutiva
… E Flexível
Qual Escolher?
•Slim
•Ou um Menor
•Silex
•Mais Complexo
•Mais ...
O SLIM
É o mais básico
Sua modularização é
fornecida por terceiros
REST básico
Views
O SILEX
Fornece toda
estrutura de
ServiceProviders
Tem diversos
Providers
Suporta MVC
Eu fui de Slim
Eu fui de Slim
Eu fui de Slim
Eu fui de Slim
Quanto custa?
Seus projetos tendem a custar menos à longo
prazo
Seus recursos serão melhor dimensionados
Você fará entregas diárias ao invés de trimestrais
ou semanais
Você entregará mais valor de negócio ao seu
cliente (satisfação garantida → maior renda)
Você fará menos manutenção (menor custo)
Seu projeto evoluirá mais rápido (ciclo de vida do
produto maior → maior lucro)
(Será que dá?)
•Para fazer um Framework Monolítico <ex.
Laravel>
•Para fazer um Sistema completo
Onde mais você usaria
um MicroFramework?
Obrigado!!

More Related Content

Viewers also liked

MVC Frameworks for building PHP Web Applications
MVC Frameworks for building PHP Web ApplicationsMVC Frameworks for building PHP Web Applications
MVC Frameworks for building PHP Web ApplicationsVforce Infotech
 
Introdução a Bootstrap 3
Introdução a Bootstrap 3Introdução a Bootstrap 3
Introdução a Bootstrap 3Iago Effting
 
Desenvolvendo com Bootstrap: um framework front-end que vale a pena!
Desenvolvendo com Bootstrap: um framework front-end que vale a pena!Desenvolvendo com Bootstrap: um framework front-end que vale a pena!
Desenvolvendo com Bootstrap: um framework front-end que vale a pena!Thiago Nascimento Oliveira
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOLeonardo Sousa
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsEduardo Mendes
 
Desenvolvimento em Três Camadas com PHP, MVC e Ajax
Desenvolvimento em Três Camadas com PHP, MVC e AjaxDesenvolvimento em Três Camadas com PHP, MVC e Ajax
Desenvolvimento em Três Camadas com PHP, MVC e AjaxAlmir Neto
 
PHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta PerformancePHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta PerformanceFelipe Ribeiro
 

Viewers also liked (8)

MVC Frameworks for building PHP Web Applications
MVC Frameworks for building PHP Web ApplicationsMVC Frameworks for building PHP Web Applications
MVC Frameworks for building PHP Web Applications
 
Introdução a Bootstrap 3
Introdução a Bootstrap 3Introdução a Bootstrap 3
Introdução a Bootstrap 3
 
Desenvolvendo com Bootstrap: um framework front-end que vale a pena!
Desenvolvendo com Bootstrap: um framework front-end que vale a pena!Desenvolvendo com Bootstrap: um framework front-end que vale a pena!
Desenvolvendo com Bootstrap: um framework front-end que vale a pena!
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAO
 
PHP MVC
PHP MVCPHP MVC
PHP MVC
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e Servlets
 
Desenvolvimento em Três Camadas com PHP, MVC e Ajax
Desenvolvimento em Três Camadas com PHP, MVC e AjaxDesenvolvimento em Três Camadas com PHP, MVC e Ajax
Desenvolvimento em Três Camadas com PHP, MVC e Ajax
 
PHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta PerformancePHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta Performance
 

Similar to Entendendo os microframeworks em PHP

Designing Systems: An Approach to Responsive Web Design (Portuguese)
Designing Systems: An Approach to Responsive Web Design (Portuguese)Designing Systems: An Approach to Responsive Web Design (Portuguese)
Designing Systems: An Approach to Responsive Web Design (Portuguese)Pedro Moreira da Silva
 
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Tiago Marchetti Dolphine
 
Programação orientada à objetos & mvc
Programação orientada à objetos & mvcProgramação orientada à objetos & mvc
Programação orientada à objetos & mvcJhordam Siqueira
 
Vantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesVantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesFábio Rosato
 
Aula 1 introducao
Aula 1   introducaoAula 1   introducao
Aula 1 introducaolicardino
 
Uaijug ADF - spring boot - microservice - Introdução
Uaijug ADF - spring boot - microservice - IntroduçãoUaijug ADF - spring boot - microservice - Introdução
Uaijug ADF - spring boot - microservice - IntroduçãoRogerio Fontes
 
Mwds01 - Introdução a Arquitetura e Projeto de Soluções Mobile
Mwds01 - Introdução a Arquitetura e Projeto de Soluções MobileMwds01 - Introdução a Arquitetura e Projeto de Soluções Mobile
Mwds01 - Introdução a Arquitetura e Projeto de Soluções MobileWsdevs Desenvolvedores
 
Curso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – FrameworksCurso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – FrameworksJonata Weber
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 

Similar to Entendendo os microframeworks em PHP (20)

Microframeworksphp
MicroframeworksphpMicroframeworksphp
Microframeworksphp
 
Designing Systems: An Approach to Responsive Web Design (Portuguese)
Designing Systems: An Approach to Responsive Web Design (Portuguese)Designing Systems: An Approach to Responsive Web Design (Portuguese)
Designing Systems: An Approach to Responsive Web Design (Portuguese)
 
Designing Systems
Designing Systems Designing Systems
Designing Systems
 
BDD com Xamarin UI Test e Specflow
BDD com Xamarin UI Test e SpecflowBDD com Xamarin UI Test e Specflow
BDD com Xamarin UI Test e Specflow
 
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
 
Framework usar ou não usar
Framework usar ou não usarFramework usar ou não usar
Framework usar ou não usar
 
Quem e dev ops
Quem e dev opsQuem e dev ops
Quem e dev ops
 
Análise de sistemas oo 1
Análise de sistemas oo   1Análise de sistemas oo   1
Análise de sistemas oo 1
 
Programação orientada à objetos & mvc
Programação orientada à objetos & mvcProgramação orientada à objetos & mvc
Programação orientada à objetos & mvc
 
Microservices
MicroservicesMicroservices
Microservices
 
Vantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesVantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservices
 
QAX - DevTest
QAX - DevTestQAX - DevTest
QAX - DevTest
 
P2_Aula1-convertido.pptx
P2_Aula1-convertido.pptxP2_Aula1-convertido.pptx
P2_Aula1-convertido.pptx
 
Aula 1 introducao
Aula 1   introducaoAula 1   introducao
Aula 1 introducao
 
Xamarin UI Test + BDD Specflow
Xamarin UI Test + BDD SpecflowXamarin UI Test + BDD Specflow
Xamarin UI Test + BDD Specflow
 
Uaijug ADF - spring boot - microservice - Introdução
Uaijug ADF - spring boot - microservice - IntroduçãoUaijug ADF - spring boot - microservice - Introdução
Uaijug ADF - spring boot - microservice - Introdução
 
Microservices 2
Microservices 2Microservices 2
Microservices 2
 
Mwds01 - Introdução a Arquitetura e Projeto de Soluções Mobile
Mwds01 - Introdução a Arquitetura e Projeto de Soluções MobileMwds01 - Introdução a Arquitetura e Projeto de Soluções Mobile
Mwds01 - Introdução a Arquitetura e Projeto de Soluções Mobile
 
Curso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – FrameworksCurso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – Frameworks
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 

Entendendo os microframeworks em PHP

  • 1. Entendendo os Microframeworks por Felipe Bastos felipebastosweb@gmail.com
  • 2. Autor •Felipe A. Bastos Moraes aka <felipebastosweb> •Graduado em Análise de Sistemas •MBA em Gerenciamento de Projetos •Entusiasta de Desenvolvimento de Software e Metodologias Ágeis –Gosta de filmes/seriados que envolvam tecnologia ou investigação científica: Homem de Ferro, House, Bones e DC’s Legends of Tomorrow ;)
  • 3. Agenda <prevista> •Convite para participação de todos <Retrospectiva> •Desvendar Por Que surgiram os micro frameworks •Entender o Que realmente são eles •Descobrir Onde podem ser usados •Sugerir Quem deve usar •E Quando usar •Arquitetar Como usar •E analisar o impacto •do Custo
  • 4. Por que eles surgiram?
  • 5. •PHP é Coisa de Iniciante –Falta de Orientação a Objetos <nos Open Sources> –Falta de Design Patterns •Aqui não usamos Frameworks –Código Spaguetti –O gargalo do desempenho (Zend e Symfony 1 e 2) –A complexidade da ferramenta –Alto custo de Manutenção –O alto custo da Formação Profissional –Falta de Profissional especializado Você já ouviu ou pensou isso ...
  • 6. Você já ouviu ou pensou isso ... •O “legado do Legado” –Diferentes versões da linguagem –Diferentes versões do framework –Diferentes versões do sistema •Qual o melhor Framework? –O que tem mais recursos –O que tem a comunidade mais ativa –O que tem melhor desempenho –O mais ágil
  • 7. •Odisseia da Manutenção –Não sei por onde começar –Qual parte do sistema está derrubando o banco? –Qual parte do sistema está derrubando o servidor? –Vamos parar tudo –Já fizeram backup? •Como vamos escalar? –Escala o Banco –Escala a Aplicação –Escala o Servidor –Balanceia a Carga Você já ouviu ou pensou isso ...
  • 9. Micro Frameworks e os MicroServiços É uma forma particular de conceber APLICAÇÕES de Software como suítes de SERVIÇOS implementadas de formas INDEPENDENTES. Martin Fowler e James Lewis
  • 10. Quão pequeno pode ser um Framework?
  • 13. Todos os Componentes são Versionados e Testados
  • 14. - Senhor, estou buscando informações.
  • 15. Seus Serviços terão Propósitos Específicos •Você não precisa replicar toda a Aplicação; •A sua aplicação desempenhará uma tarefa específica; •A sua aplicação faz melhor aquilo para o qual ela foi projetada; •É muito mais fácil projetar e dar manutenção em serviços menores.
  • 17. Na visão de Fowler e Lewis
  • 18. Sua Equipe também será Evolutiva
  • 20. Qual Escolher? •Slim •Ou um Menor •Silex •Mais Complexo •Mais ...
  • 21. O SLIM É o mais básico Sua modularização é fornecida por terceiros REST básico Views O SILEX Fornece toda estrutura de ServiceProviders Tem diversos Providers Suporta MVC
  • 22. Eu fui de Slim
  • 23. Eu fui de Slim
  • 24. Eu fui de Slim
  • 25. Eu fui de Slim
  • 26. Quanto custa? Seus projetos tendem a custar menos à longo prazo Seus recursos serão melhor dimensionados Você fará entregas diárias ao invés de trimestrais ou semanais Você entregará mais valor de negócio ao seu cliente (satisfação garantida → maior renda) Você fará menos manutenção (menor custo) Seu projeto evoluirá mais rápido (ciclo de vida do produto maior → maior lucro)
  • 27. (Será que dá?) •Para fazer um Framework Monolítico <ex. Laravel> •Para fazer um Sistema completo Onde mais você usaria um MicroFramework?