Breve discussão do 2o meetup do PHPBA sobre a motivação para o surgimento dos micro e nano frameworks. Para que eles servem, como e quando utilizá-los e um estudo de caso sobre o uso do Slim para integrar com outros sistemas.
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
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
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.
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
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?