SlideShare uma empresa Scribd logo
ALÉM DO
THEDEVELOPER'SCONFERENCE-TRILHAPHP
ROMEUSOUZAMATTOS
COM PHP
MVP
DEVELOPER
QUEM SOU?
@romeumattos
24 anos
São José-SC
Estudante de Computação
Backend Developer @Exibe.me
Desenvolvedor web há 5 anos
Início complicado com ASP :(
4 anos com PHP o/
COMO TUDO COMEÇOU
COMO TUDO COMEÇOU
MVP
“Produto mínimo viável (MVP, do original
Minimum Viable Product) é a versão mais
simples de um produto que pode ser
lançada com uma quantidade mínima de
esforço e tempo de desenvolvimento”
Eric Ries - The LEAN STARTUP
MVP
Pouco tempo
R$ 0,00 no bolso
Somente 1 desenvolvedor
O QUE FAZER?
CAMINHO NATURAL
Ecolher o framework que lhe
atende de maneira mais rápida.
Geralmente o framework que
se tem mais experiência
Além do MVP com PHP  - TDC POA 2015
VAMOS AO QUE INTERESSA...
VAMOS AO QUE INTERESSA...
FRAMEWORKS FULL STACK
Já vem cheio de ferramentas
Maior curva de aprendizado
Pode ser mais pesado
Remover o Desnecessário?
Bastante funcionalidades
Impõe uma estrutura/organização
Componentes básicos
Monolítico
CARRINHO ARTESANAL
MICRO FRAMEWORKS
Funcionalidades básicas
Menor curva de aprendizado
Mais leve ;) (na forma original)
Flexível
Descritivo
Modular
Toolkits e Libraries
QUAL ESCOLHER?
DEPENDE...
Objetivo
Requisitos
Prazo
Suas habilidades e de seus colegas
Vida útil do projeto
QUAL O MÍNIMO
QUE VOCÊ PRECISA?
"Todas as mágicas
tem um preço”
Helio Cabral - TDC 2015
THE MICRO PHP MANIFESTO
Eu sou um desenvolvedor PHP
Eu gosto de construir coisas pequenas
Eu quero menos código, não mais.
Eu gosto de construir coisas pequenas com fins simples
Eu gosto de construir coisas pequenas que trabalham
em conjunto para resolver problemas maiores
Eu quero escrever menos código, não mais
Eu quero gerenciar menos código, não mais
API REST
Escalabilidade
Fácil consumo
Clientes em
paralelo
Parcerias
PROVIDERS
Routing
Requests
Responses
Views (Twig)
Sessions
Logging
Error Handling
Dependency
Injection
Hooks
Middleware
HTTP Caching
DDD - DOMAIN DRIVEN DESIGN
Não acoplar código da aplicação no framework
Atualizar ou trocar o framework de forma mais
tranquila
Não focar na tecnologia em si, mas sim nas
regras de negócios e como isso vai estar
representado no código.
TDD - TEST DRIVEN DEVELOPMENT
TDD é uma cultura.
Qualidade
Segurança
Ganha horas, dias e semanas.
Não escolha um framework sem testes
automatizados
DICAS
Doctrine
Composer
PHP-Fig
Packagist
DICAS
Thiago Paes @mrprompt
Silex-Api-Skel
@eminetto @coderockr
Silex-Skel
Apigility
apigility.org
PHP
Aos poucos você pode criar um super software
"Se você tomar a decisão certa no início, dificilmente
precisará trocar seu framework ou tecnologia
utilizada pra atender à evolução."
Para atender a evolução você pode e deve mudar as
tecnologias, mas isso não pode ser algo doloroso
REFERENCIAS
Thiago Rodrigues @PHPSP
Impacto dos Frameworks PHP
The Micro PHP Manifesto
microphp.org
Matthew Setter
why a microframework lead to lean applications
MUITO OBRIGADO!
@romeumattos
@romeumattos
romeu.smattos@gmail.com
romeumattos.com.br
Anúncio

Recomendados

Além do MVP com PHP - TDC Floripa 2016
Além do MVP com PHP - TDC Floripa 2016
Romeu Mattos
 
Desenvolvimento Ágil com Scrum - Palestra Digitalks
Desenvolvimento Ágil com Scrum - Palestra Digitalks
Rômulo Gomes
 
A saga do desenvolvedor java
A saga do desenvolvedor java
Josenaldo de Oliveira Matos Filho
 
Aprendendo a Aprender
Aprendendo a Aprender
Alexandre Gomes
 
Drupal 8 e ReactJS - DrupalCamp Campinas 2016
Drupal 8 e ReactJS - DrupalCamp Campinas 2016
Taller Negócio Digitais
 
Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...
Arquitetura de referência Drupal 7 e 8. Da Natura e Taller para a comunidade ...
Taller Negócio Digitais
 
10 coisas que você precisa saber para se tornar um desenvolvedor java
10 coisas que você precisa saber para se tornar um desenvolvedor java
Marcelo Rodrigues
 
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Taller Negócio Digitais
 
O que você precisa saber para se tornar um dev front-end
O que você precisa saber para se tornar um dev front-end
Diego Eis
 
WordCamp Rio de Janeiro 2016 - Vinícius Lourenço | Lojas Virtuais Descomplica...
WordCamp Rio de Janeiro 2016 - Vinícius Lourenço | Lojas Virtuais Descomplica...
Vinícius Lourenço
 
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
minastestingconference
 
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Taller Negócio Digitais
 
Programação funcional que funciona
Programação funcional que funciona
Rodrigo Serradura
 
Lucas Simões - Desmistificando o uso de temas "prontos" em WordPress
Lucas Simões - Desmistificando o uso de temas "prontos" em WordPress
WordPress Floripa
 
Programação Eficaz - Agile Trends Floripa 2016
Programação Eficaz - Agile Trends Floripa 2016
Taller Negócio Digitais
 
99% serverless, mais aquele 1% legado
99% serverless, mais aquele 1% legado
mestredemon
 
O Spring está morto! Viva o Spring!
O Spring está morto! Viva o Spring!
Josenaldo de Oliveira Matos Filho
 
React e reactividade Meetup Facebook Developer Circles
React e reactividade Meetup Facebook Developer Circles
José Barbosa
 
Ruby on rails porque usar rails?!
Ruby on rails porque usar rails?!
João Carlos Ottobboni
 
Ir para cloud com arquitetura de microservices resolverá o meu problema?
Ir para cloud com arquitetura de microservices resolverá o meu problema?
Better Developer
 
XPT Framework
XPT Framework
Alexsandro Pereira
 
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
 
Uma breve história sobre o tempo com Socket.io e Node.js
Uma breve história sobre o tempo com Socket.io e Node.js
Guilherme Oderdenge
 
Começando com WordPress: WordPress.org ou WordPress.com?
Começando com WordPress: WordPress.org ou WordPress.com?
WP 24Horas
 
Criação de Visual Studio Templates Personalizados
Criação de Visual Studio Templates Personalizados
Comunidade NetPonto
 
Joomla! do desktop ao datacenter
Joomla! do desktop ao datacenter
Paulino Michelazzo
 
O papel e a carreira do arquiteto de software
O papel e a carreira do arquiteto de software
Leonardo Zanivan
 
9. Instruções para o Demo
9. Instruções para o Demo
Camila Achutti
 
DDD e PHP - TDC 2012
DDD e PHP - TDC 2012
Luís Cobucci
 
Frameworks PHP
Frameworks PHP
Augusto Pascutti
 

Mais conteúdo relacionado

Mais procurados (20)

O que você precisa saber para se tornar um dev front-end
O que você precisa saber para se tornar um dev front-end
Diego Eis
 
WordCamp Rio de Janeiro 2016 - Vinícius Lourenço | Lojas Virtuais Descomplica...
WordCamp Rio de Janeiro 2016 - Vinícius Lourenço | Lojas Virtuais Descomplica...
Vinícius Lourenço
 
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
minastestingconference
 
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Taller Negócio Digitais
 
Programação funcional que funciona
Programação funcional que funciona
Rodrigo Serradura
 
Lucas Simões - Desmistificando o uso de temas "prontos" em WordPress
Lucas Simões - Desmistificando o uso de temas "prontos" em WordPress
WordPress Floripa
 
Programação Eficaz - Agile Trends Floripa 2016
Programação Eficaz - Agile Trends Floripa 2016
Taller Negócio Digitais
 
99% serverless, mais aquele 1% legado
99% serverless, mais aquele 1% legado
mestredemon
 
O Spring está morto! Viva o Spring!
O Spring está morto! Viva o Spring!
Josenaldo de Oliveira Matos Filho
 
React e reactividade Meetup Facebook Developer Circles
React e reactividade Meetup Facebook Developer Circles
José Barbosa
 
Ruby on rails porque usar rails?!
Ruby on rails porque usar rails?!
João Carlos Ottobboni
 
Ir para cloud com arquitetura de microservices resolverá o meu problema?
Ir para cloud com arquitetura de microservices resolverá o meu problema?
Better Developer
 
XPT Framework
XPT Framework
Alexsandro Pereira
 
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
 
Uma breve história sobre o tempo com Socket.io e Node.js
Uma breve história sobre o tempo com Socket.io e Node.js
Guilherme Oderdenge
 
Começando com WordPress: WordPress.org ou WordPress.com?
Começando com WordPress: WordPress.org ou WordPress.com?
WP 24Horas
 
Criação de Visual Studio Templates Personalizados
Criação de Visual Studio Templates Personalizados
Comunidade NetPonto
 
Joomla! do desktop ao datacenter
Joomla! do desktop ao datacenter
Paulino Michelazzo
 
O papel e a carreira do arquiteto de software
O papel e a carreira do arquiteto de software
Leonardo Zanivan
 
9. Instruções para o Demo
9. Instruções para o Demo
Camila Achutti
 
O que você precisa saber para se tornar um dev front-end
O que você precisa saber para se tornar um dev front-end
Diego Eis
 
WordCamp Rio de Janeiro 2016 - Vinícius Lourenço | Lojas Virtuais Descomplica...
WordCamp Rio de Janeiro 2016 - Vinícius Lourenço | Lojas Virtuais Descomplica...
Vinícius Lourenço
 
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
minastestingconference
 
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Taller Negócio Digitais
 
Programação funcional que funciona
Programação funcional que funciona
Rodrigo Serradura
 
Lucas Simões - Desmistificando o uso de temas "prontos" em WordPress
Lucas Simões - Desmistificando o uso de temas "prontos" em WordPress
WordPress Floripa
 
Programação Eficaz - Agile Trends Floripa 2016
Programação Eficaz - Agile Trends Floripa 2016
Taller Negócio Digitais
 
99% serverless, mais aquele 1% legado
99% serverless, mais aquele 1% legado
mestredemon
 
React e reactividade Meetup Facebook Developer Circles
React e reactividade Meetup Facebook Developer Circles
José Barbosa
 
Ir para cloud com arquitetura de microservices resolverá o meu problema?
Ir para cloud com arquitetura de microservices resolverá o meu problema?
Better Developer
 
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
 
Uma breve história sobre o tempo com Socket.io e Node.js
Uma breve história sobre o tempo com Socket.io e Node.js
Guilherme Oderdenge
 
Começando com WordPress: WordPress.org ou WordPress.com?
Começando com WordPress: WordPress.org ou WordPress.com?
WP 24Horas
 
Criação de Visual Studio Templates Personalizados
Criação de Visual Studio Templates Personalizados
Comunidade NetPonto
 
Joomla! do desktop ao datacenter
Joomla! do desktop ao datacenter
Paulino Michelazzo
 
O papel e a carreira do arquiteto de software
O papel e a carreira do arquiteto de software
Leonardo Zanivan
 
9. Instruções para o Demo
9. Instruções para o Demo
Camila Achutti
 

Semelhante a Além do MVP com PHP - TDC POA 2015 (20)

DDD e PHP - TDC 2012
DDD e PHP - TDC 2012
Luís Cobucci
 
Frameworks PHP
Frameworks PHP
Augusto Pascutti
 
Programando php com excelência
Programando php com excelência
Marcus Vinicius Leandro
 
Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHP
Elton Minetto
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01
joaocarlobarros
 
O programador php
O programador php
Lourdilene Souza
 
O programador php
O programador php
COTIC-PROEG (UFPA)
 
Apresentação faef
Apresentação faef
Lucas Simões Maistro
 
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 Zend
Thiago Sinésio
 
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5
Lucas Augusto Carvalho
 
Impacto dos frameworks PHP
Impacto dos frameworks PHP
Thiago Rodrigues
 
Curso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – Frameworks
Jonata Weber
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
Rangel Javier
 
PHP Além da universidade
PHP Além da universidade
Daniel Archer Marques Cramer
 
Apresentação faef
Apresentação faef
Lucas Simões Maistro
 
PHP, Mercado e Certificações
PHP, Mercado e Certificações
Fernando Geraldo Mantoan
 
Web Development em 2015
Web Development em 2015
Emanuel Santos
 
Desenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHP
elliando dias
 
Microframeworksphp
Microframeworksphp
Alexandre Andrade
 
DDD e PHP - TDC 2012
DDD e PHP - TDC 2012
Luís Cobucci
 
Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHP
Elton Minetto
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01
joaocarlobarros
 
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 Zend
Thiago Sinésio
 
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5
Lucas Augusto Carvalho
 
Impacto dos frameworks PHP
Impacto dos frameworks PHP
Thiago Rodrigues
 
Curso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – Frameworks
Jonata Weber
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
Rangel Javier
 
Web Development em 2015
Web Development em 2015
Emanuel Santos
 
Desenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHP
elliando dias
 
Anúncio

Último (12)

G.6 Avarias Mais Comuns em Computadores TIC2.pptx
G.6 Avarias Mais Comuns em Computadores TIC2.pptx
vieirapatricio94
 
PPT - Capítulo 6 - Redes sem fio e redes móveis.ppt
PPT - Capítulo 6 - Redes sem fio e redes móveis.ppt
ssuser0a4331
 
Breve Histórico do Computador [2 de 2].pdf
Breve Histórico do Computador [2 de 2].pdf
jarlisonsantos1985
 
Como Criar uma Partição Bootável no HD Interno.pptx
Como Criar uma Partição Bootável no HD Interno.pptx
vieirapatricio94
 
SISTEMAS OPERACIONAIS DE COMPUTADORES PARTE 1
SISTEMAS OPERACIONAIS DE COMPUTADORES PARTE 1
jarlisonsantos1985
 
POAN-1 trabalho de antena de microfita.pptx
POAN-1 trabalho de antena de microfita.pptx
joaquimpaulo2306
 
A-Historia-do-Java-Uma-Linguagem-que-Transformou-o-Cenario-da-Programacao.pptx
A-Historia-do-Java-Uma-Linguagem-que-Transformou-o-Cenario-da-Programacao.pptx
destruidorschirmer
 
Joao Claudio Nunes Carvalho-Classificacao de filmes do Netflix.docx
Joao Claudio Nunes Carvalho-Classificacao de filmes do Netflix.docx
ssuser1712ed
 
Certified SAFe 6 Agilist
Certified SAFe 6 Agilist
Adail Viana Neto
 
Capítulo 7 - Redes de computadores multimídia.ppt
Capítulo 7 - Redes de computadores multimídia.ppt
ssuser0a4331
 
A-Historia-da-Programacao-Orientada-a-Objetos.pptx
A-Historia-da-Programacao-Orientada-a-Objetos.pptx
destruidorschirmer
 
Certified SAFe 6 Lean Portfolio Manager
Certified SAFe 6 Lean Portfolio Manager
Adail Viana Neto
 
G.6 Avarias Mais Comuns em Computadores TIC2.pptx
G.6 Avarias Mais Comuns em Computadores TIC2.pptx
vieirapatricio94
 
PPT - Capítulo 6 - Redes sem fio e redes móveis.ppt
PPT - Capítulo 6 - Redes sem fio e redes móveis.ppt
ssuser0a4331
 
Breve Histórico do Computador [2 de 2].pdf
Breve Histórico do Computador [2 de 2].pdf
jarlisonsantos1985
 
Como Criar uma Partição Bootável no HD Interno.pptx
Como Criar uma Partição Bootável no HD Interno.pptx
vieirapatricio94
 
SISTEMAS OPERACIONAIS DE COMPUTADORES PARTE 1
SISTEMAS OPERACIONAIS DE COMPUTADORES PARTE 1
jarlisonsantos1985
 
POAN-1 trabalho de antena de microfita.pptx
POAN-1 trabalho de antena de microfita.pptx
joaquimpaulo2306
 
A-Historia-do-Java-Uma-Linguagem-que-Transformou-o-Cenario-da-Programacao.pptx
A-Historia-do-Java-Uma-Linguagem-que-Transformou-o-Cenario-da-Programacao.pptx
destruidorschirmer
 
Joao Claudio Nunes Carvalho-Classificacao de filmes do Netflix.docx
Joao Claudio Nunes Carvalho-Classificacao de filmes do Netflix.docx
ssuser1712ed
 
Capítulo 7 - Redes de computadores multimídia.ppt
Capítulo 7 - Redes de computadores multimídia.ppt
ssuser0a4331
 
A-Historia-da-Programacao-Orientada-a-Objetos.pptx
A-Historia-da-Programacao-Orientada-a-Objetos.pptx
destruidorschirmer
 
Certified SAFe 6 Lean Portfolio Manager
Certified SAFe 6 Lean Portfolio Manager
Adail Viana Neto
 
Anúncio

Além do MVP com PHP - TDC POA 2015