SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
FAÇA FRAMEWORKSnão faça reféns
@helmedeiros
Erich Gamma
Design Patterns: Elements of Reusable
Object-Oriented Software
eles querem fazer muito por você
FRAMEWORKITIS
10 anos atras
FRAMEWORK
reduzir a necessidade de resolver
problemas já resolvidos
O que? Pra que? Como ?
como funciona, quem se adapta a quem, quão
production ready ele está, ele evoluí e você
FRAMEWORKDependente? Quanto?
como está escrito o código, quão simples e coeso ele é, suas
responsabilidades são únicas, existe inversão de controle
FRAMEWORKPatterns? SOLID?
COMUNIDADEAtiva? Compartilha? Experimenta?
Java, JavaScript, Ruby, Python, e etc. O perfil e a maturidade de
sua comunidade influência nos frameworks criados
surtiram efeito
OS 10 ANOS
e  todos  os  esforços
Parece que
tenho minhas duvidas
OLHAAAAA
não  sei  nãoooooo
Hummmm
COMPUTACIONAIS
NOVOS DESAFIOS
E MUITAS PESSOAS PARA RESOLVE-LOS
NEM
SEMPRE…
temos tempo para ver
o que e como ja foi
explorado um
problema
Nem
Sempre…
achamos tempo para subtrair diferencas
e somar esforcos multiplicando os
resultados
2013
2104
2105
NEM
SEMPRE…
temos tempo de
acompanhar, nos
adaptar e contribuir
com toda a loucura
que esta por ai
QUANDO USAMOS
se Liga
o que deve ser resolvido ao invés de como
descritivos vs imperativoS
Se liga nos…
não existe uma solução para todos os problemas… full-stack
Framework?
MODULARES aoS MONOLITICOS
Se liga nos….
phalcon
Symphony
doctrine
+
Laravel
vs Slim
VUE.JS REACTIVEBREEZE
KNOCKOUTREACT
vs
para que foi criado e como será evoluído
INTENçÕES vs utilizações
Se liga nas…
QUANDO CRIAMOS
se Liga
balancear a vontade de inovar com estabilidade
EVOLUçÕES E RETRO-COMPATIBILIDADE
Se liga nas…
porque ir além das funções core? por que obrigar o acoplamento?
ENTRELINHAS DA LIB CORE
Se liga nas…
por que escrever código que ninguém entende atrapalha
NA SIMPLICIDADE DO CÓDIGO
Se liga nas…
TEM CURA?
mas será que
ainda existe e ciclicamente se renova
FRAMEWORKITIS
10 anos passados
abstrair é importante mas vá com calma
framework não é linguagem
Tem cura?
elas são pequenas e substituíveis
prefira toolkits ou libraries
Tem cura?
fique atento e experimente bastante antes de ir a produção
seja séptico
Tem cura?
analise o seu problema e vá com calma
e se tudo falhar
Tem cura?
a big price
COMES WITH
a  price
All magic
Obrigado!@helmedeiros

Contenu connexe

Tendances

Programador – Como Me Tornar Um!
Programador –  Como  Me Tornar  Um!Programador –  Como  Me Tornar  Um!
Programador – Como Me Tornar Um!
Aislan Rafael
 
Desenvolvimento Ágil com Drupal
Desenvolvimento Ágil com DrupalDesenvolvimento Ágil com Drupal
Desenvolvimento Ágil com Drupal
Rafael Caceres
 

Tendances (10)

Design Sprint
Design SprintDesign Sprint
Design Sprint
 
Programador – Como Me Tornar Um!
Programador –  Como  Me Tornar  Um!Programador –  Como  Me Tornar  Um!
Programador – Como Me Tornar Um!
 
TDC2016SP - Trilha UX Design
TDC2016SP - Trilha UX DesignTDC2016SP - Trilha UX Design
TDC2016SP - Trilha UX Design
 
Como escrever apps de qualidade em qualquer arquitetura
Como escrever apps de qualidade em qualquer arquiteturaComo escrever apps de qualidade em qualquer arquitetura
Como escrever apps de qualidade em qualquer arquitetura
 
Sistemas sustentáveis
Sistemas sustentáveisSistemas sustentáveis
Sistemas sustentáveis
 
Desmistificando Design Patterns
Desmistificando Design PatternsDesmistificando Design Patterns
Desmistificando Design Patterns
 
Soujavarj 12 habitos de arquitetos altamente eficazes
Soujavarj 12 habitos de arquitetos altamente eficazesSoujavarj 12 habitos de arquitetos altamente eficazes
Soujavarj 12 habitos de arquitetos altamente eficazes
 
A evolução do ux nas empresas (e como promovê-la)
A evolução do ux nas empresas (e como promovê-la)A evolução do ux nas empresas (e como promovê-la)
A evolução do ux nas empresas (e como promovê-la)
 
Desenvolvimento Ágil com Drupal
Desenvolvimento Ágil com DrupalDesenvolvimento Ágil com Drupal
Desenvolvimento Ágil com Drupal
 
TDD, introdução sem mágica!
TDD, introdução sem mágica!TDD, introdução sem mágica!
TDD, introdução sem mágica!
 

En vedette

Historias sao suposicoes: build:measure:learn no kanban e livro de possibilid...
Historias sao suposicoes: build:measure:learn no kanban e livro de possibilid...Historias sao suposicoes: build:measure:learn no kanban e livro de possibilid...
Historias sao suposicoes: build:measure:learn no kanban e livro de possibilid...
Hélio Medeiros
 
Como implementar APIs RESTful em PHP
Como implementar APIs RESTful em PHPComo implementar APIs RESTful em PHP
Como implementar APIs RESTful em PHP
Pablo Aguiar
 

En vedette (9)

Jquery fundamentals-book-pt-br
Jquery fundamentals-book-pt-brJquery fundamentals-book-pt-br
Jquery fundamentals-book-pt-br
 
Team building - Software depende de relacionamento
Team building  - Software depende de relacionamentoTeam building  - Software depende de relacionamento
Team building - Software depende de relacionamento
 
Historias sao suposicoes: build:measure:learn no kanban e livro de possibilid...
Historias sao suposicoes: build:measure:learn no kanban e livro de possibilid...Historias sao suposicoes: build:measure:learn no kanban e livro de possibilid...
Historias sao suposicoes: build:measure:learn no kanban e livro de possibilid...
 
Elaborando hipóteses like a Boss
Elaborando hipóteses like a BossElaborando hipóteses like a Boss
Elaborando hipóteses like a Boss
 
Como implementar APIs RESTful em PHP
Como implementar APIs RESTful em PHPComo implementar APIs RESTful em PHP
Como implementar APIs RESTful em PHP
 
Projetando experiencias por meio do Service Design
Projetando experiencias por meio do Service DesignProjetando experiencias por meio do Service Design
Projetando experiencias por meio do Service Design
 
Service Design Thinking
Service Design ThinkingService Design Thinking
Service Design Thinking
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
 
Web Services PHP Tutorial
Web Services PHP TutorialWeb Services PHP Tutorial
Web Services PHP Tutorial
 

Similaire à Faça Frameworks, Não faça refens

C a linguagem de programação
C   a linguagem de programaçãoC   a linguagem de programação
C a linguagem de programação
Andrei Bastos
 
Fgv um desafio de design 04112013
Fgv um desafio de design 04112013Fgv um desafio de design 04112013
Fgv um desafio de design 04112013
Dobra Inova
 

Similaire à Faça Frameworks, Não faça refens (20)

O que é ser um bom programador?
O que é ser um bom programador?O que é ser um bom programador?
O que é ser um bom programador?
 
Agile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelumAgile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelum
 
Agile br2011 lucabastos-prog10x
Agile br2011 lucabastos-prog10xAgile br2011 lucabastos-prog10x
Agile br2011 lucabastos-prog10x
 
PHPZEIRO: Adote um framework
PHPZEIRO: Adote um frameworkPHPZEIRO: Adote um framework
PHPZEIRO: Adote um framework
 
TDC 2015 - Torne-se um programador melhor
TDC 2015 - Torne-se um  programador melhorTDC 2015 - Torne-se um  programador melhor
TDC 2015 - Torne-se um programador melhor
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
 
C a linguagem de programação
C   a linguagem de programaçãoC   a linguagem de programação
C a linguagem de programação
 
Fgv um desafio de design 04112013
Fgv um desafio de design 04112013Fgv um desafio de design 04112013
Fgv um desafio de design 04112013
 
User Experience Boot Camp
User Experience Boot CampUser Experience Boot Camp
User Experience Boot Camp
 
Extreme Programming XP
Extreme Programming XPExtreme Programming XP
Extreme Programming XP
 
99% serverless, mais aquele 1% legado
99% serverless, mais aquele 1% legado99% serverless, mais aquele 1% legado
99% serverless, mais aquele 1% legado
 
Criando e testando produtos em 24h
Criando e testando produtos em 24hCriando e testando produtos em 24h
Criando e testando produtos em 24h
 
Pessoas Ou Processos
Pessoas Ou ProcessosPessoas Ou Processos
Pessoas Ou Processos
 
Lidar com Expectativas é a melhor forma de garantir a Experiência
Lidar com Expectativas é a melhor forma de garantir a ExperiênciaLidar com Expectativas é a melhor forma de garantir a Experiência
Lidar com Expectativas é a melhor forma de garantir a Experiência
 
Eu não sou um "bom programador"!
Eu não sou um "bom programador"!Eu não sou um "bom programador"!
Eu não sou um "bom programador"!
 
Novos padrões e propósitos para o desenvolvimento de aplicações Mobile/Web
Novos padrões e propósitos para o desenvolvimento de aplicações Mobile/WebNovos padrões e propósitos para o desenvolvimento de aplicações Mobile/Web
Novos padrões e propósitos para o desenvolvimento de aplicações Mobile/Web
 
Extreme programming explicada
Extreme programming explicadaExtreme programming explicada
Extreme programming explicada
 
Extreme Programming Explicada
Extreme Programming ExplicadaExtreme Programming Explicada
Extreme Programming Explicada
 
Trabalho remoto: Mindset e ferramentas
Trabalho remoto: Mindset e ferramentasTrabalho remoto: Mindset e ferramentas
Trabalho remoto: Mindset e ferramentas
 
Além do MVP com PHP - TDC POA 2015
Além do MVP com PHP  - TDC POA 2015Além do MVP com PHP  - TDC POA 2015
Além do MVP com PHP - TDC POA 2015
 

Plus de Hélio Medeiros

Agile Brazil 2013 - Sucesso na medida certa – métricas de vaidade
Agile Brazil 2013 - Sucesso na medida certa – métricas de vaidadeAgile Brazil 2013 - Sucesso na medida certa – métricas de vaidade
Agile Brazil 2013 - Sucesso na medida certa – métricas de vaidade
Hélio Medeiros
 
Lançando versões em um clique - deploy contínuo
Lançando versões em um clique - deploy contínuoLançando versões em um clique - deploy contínuo
Lançando versões em um clique - deploy contínuo
Hélio Medeiros
 

Plus de Hélio Medeiros (20)

Team building - Workshop - ThoughtWorks Away Day 2018
Team building - Workshop - ThoughtWorks Away Day 2018Team building - Workshop - ThoughtWorks Away Day 2018
Team building - Workshop - ThoughtWorks Away Day 2018
 
Team building praticas e atividades
Team building   praticas e atividadesTeam building   praticas e atividades
Team building praticas e atividades
 
Historias, hipoteses e metricas aprendendo no dia a dia
Historias, hipoteses e metricas   aprendendo no dia a diaHistorias, hipoteses e metricas   aprendendo no dia a dia
Historias, hipoteses e metricas aprendendo no dia a dia
 
Continuidade de times - quando os relacionamentos contam?
Continuidade de times - quando os relacionamentos contam?Continuidade de times - quando os relacionamentos contam?
Continuidade de times - quando os relacionamentos contam?
 
Feature injection - descobrindo e entregando valor testável
Feature injection - descobrindo e entregando valor testávelFeature injection - descobrindo e entregando valor testável
Feature injection - descobrindo e entregando valor testável
 
Growth hacking - customer lifecycle na pratica
Growth hacking - customer lifecycle na praticaGrowth hacking - customer lifecycle na pratica
Growth hacking - customer lifecycle na pratica
 
Tdc growth hacking-customer lifecycle na pratica
Tdc   growth hacking-customer lifecycle na praticaTdc   growth hacking-customer lifecycle na pratica
Tdc growth hacking-customer lifecycle na pratica
 
A Jornada de um desenvolvedor de Princípios SOLID em um mundo de micro-services
A Jornada de um desenvolvedor de Princípios SOLID em um mundo de micro-servicesA Jornada de um desenvolvedor de Princípios SOLID em um mundo de micro-services
A Jornada de um desenvolvedor de Princípios SOLID em um mundo de micro-services
 
Feature Injection - Descobrindo e entregando valor testável
Feature Injection - Descobrindo e entregando valor testávelFeature Injection - Descobrindo e entregando valor testável
Feature Injection - Descobrindo e entregando valor testável
 
Um desenvolvedor com princípios SOLID
Um desenvolvedor com princípios SOLIDUm desenvolvedor com princípios SOLID
Um desenvolvedor com princípios SOLID
 
RBS QCon São Paulo 2014 REVIEW
RBS QCon São Paulo 2014 REVIEWRBS QCon São Paulo 2014 REVIEW
RBS QCon São Paulo 2014 REVIEW
 
Git that like a boss - Colaborando com GITHUB
Git that like a boss - Colaborando com GITHUBGit that like a boss - Colaborando com GITHUB
Git that like a boss - Colaborando com GITHUB
 
Git that like a boss - Dos comandos básicos aos branches.
Git that like a boss - Dos comandos básicos aos branches.Git that like a boss - Dos comandos básicos aos branches.
Git that like a boss - Dos comandos básicos aos branches.
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDev
 
RBS Agile Brazil Review - Managing dojo
RBS Agile Brazil Review - Managing dojoRBS Agile Brazil Review - Managing dojo
RBS Agile Brazil Review - Managing dojo
 
RBS Agile Brazil 2013 Review - HotSpot
RBS Agile Brazil 2013 Review - HotSpotRBS Agile Brazil 2013 Review - HotSpot
RBS Agile Brazil 2013 Review - HotSpot
 
Agile brazil 2013 - Laboratório Experimental refinando ideias e lançando prod...
Agile brazil 2013 - Laboratório Experimental refinando ideias e lançando prod...Agile brazil 2013 - Laboratório Experimental refinando ideias e lançando prod...
Agile brazil 2013 - Laboratório Experimental refinando ideias e lançando prod...
 
Agile Brazil 2013 - Sucesso na medida certa – métricas de vaidade
Agile Brazil 2013 - Sucesso na medida certa – métricas de vaidadeAgile Brazil 2013 - Sucesso na medida certa – métricas de vaidade
Agile Brazil 2013 - Sucesso na medida certa – métricas de vaidade
 
Lançando versões em um clique - deploy contínuo
Lançando versões em um clique - deploy contínuoLançando versões em um clique - deploy contínuo
Lançando versões em um clique - deploy contínuo
 
Github - Escrevendo código e compartilhando conhecimento
Github - Escrevendo código e compartilhando conhecimentoGithub - Escrevendo código e compartilhando conhecimento
Github - Escrevendo código e compartilhando conhecimento
 

Dernier

Dernier (8)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

Faça Frameworks, Não faça refens