SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
Não  deixe  seu  projeto  só  
nas  mãos  do  framework	
    {	
     Giuseppe  Lopes	
     Desenvolvedor  Back-­‐‑end  SaaS  -­‐‑  Kinghost
Ñ  Giuseppe  Lopes	
    Ñ  Mais  de  6  anos  de  experiência  com  
        desenvolvimento  de  aplicações  de  acesso  
        crítico;	
    Ñ  Especialista  em  MVC,  Webservices  e  Core  de  
        aplicações  críticas;	
    Ñ  Consultor  de  TI;	

    Ñ  ZCE  (Zend  Certified  Engineer)	

    Ñ  Apaixonado  por  tecnologia;	

    Ñ  Curioso  por  natureza;	

    Ñ  Interesses  em:  Cloud  Computing,  SaaS,  Agile,  
        SOA,  Mobile  e  Back-­‐‑end!	


Quem  sou
Ñ  Introdução	
    Ñ  Back-­‐‑end;	

    Ñ  Frameworks;	

    Ñ  Exemplos;	

    Ñ  Case;	

    Ñ  Conclusões;	

    Ñ  Referências;	

    Ñ  Dúvidas  e  contatos;	




Agenda
Ñ  Foco  da  palestra:	
    Ñ  A  importância  do  Back-­‐‑end  e  da  escolha  do  
        Framework  para  o  desenvolvimento  de  sua  
        aplicação;	




Introdução
Ñ  Back-­‐‑end??	
    Ñ  Framework???	




   WTF?!?!?!	


Introdução
Ñ    Linguagens:	
          Ó    Php,  Java,  .NET,  Obj-­‐‑C,  Python..	
    Ñ  Orientadas  a  objetos;	
    Ñ  Padrões  de  Projeto;	

    Ñ  Técnicas  de  otimização;	


    Ñ    Desenvolver  é  aprender;	




Introdução
E  o  Back-­‐‑end?
Ñ  Camada  de  nível  mais  baixo;	
     Ñ  Não  interage  com  o  usuário;	

     Ñ  Tem  seu  alicerce  nos  Padrões  de  Projetos:	

           Ó    MVC;	
           Ó    Singleton;	
           Ó    Factory;	
           Ó    Adapter;	
           Ó    Proxy;	
           Ó    Minimizar  o  acoplamento;	
           Ó    E  mais  outros  479872343	




Back-­‐‑end
Ñ  Conjunto  de  artefatos;	
     Ñ  Interage  com  outros  “atores”:	

           Ó    Banco  de  dados;	
           Ó    Serviços;	
           Ó    Sistema  de  Arquivos;	
           Ó    Webservices;	
     Ñ  Faz  a  mágica  acontecer;	
     Ñ  O  Back-­‐‑end  precisa  estar  preparado  para  
         mudanças;	




Back-­‐‑end
Ñ  Cérebro  da  aplicação;	
     Ñ  Falhas  impactam  diretamente  na  aplicação;	

     Ñ  Precisa  ser:  	

            Ó    Consistente;	
            Ó    Rastreável;	
            Ó    Testável  (foi  feito  para  falhar);	
            Ó    De  fácil  manutenção;	
     Ñ    “Só”  isso!	




Back-­‐‑end
Tantos  padrões..  	
  Tantas  preocupações..	
Tantas  responsabilidades..
Frameworks!
Vieram  para  resolver    
    tudo  então?!
NÃO!	


K
Mas  ajudam  bastante!	


       J
“A  framework  is  not  
      absolutely  necessary:  it  is  
      just  one  of  the  tools  that  is  
         available  to  help  you  
        develop  beVer  and  
                 faster”	
                   @Symfony	
      	




Frameworks
Melhor,  porque  um  framework  fornece  a  certeza  
de  que  você  está  desenvolvendo  um  aplicativo  que  
está  em  total  conformidade  com  as  regras  
de  negócios,  que  está  estruturado,  e  que  é  
      ao  mesmo  tempo  sustentável  e  
              atualizável.	


Frameworks
Mais  rápido,  porque  permite  que  os  
   desenvolvedores  economizem  tempo  
através  da  reutilização  de  módulos  genéricos,  
      a  fim  de  se  concentrar  em  outras  áreas.	




Frameworks
Ñ    TOOLBOX	
         Ó    Conjunto  de  componentes  de  SW  pré-­‐‑
               fabricados  que  se  integram  facilmente;	
   Ñ    METHODOLOGY	
         Ó    Fornece  uma  linha  de  desenvolvimento  
               sustentável  e  escalável  de  software;	
   Ñ    Provê  uma  solução  genérica  para  
         uma  família  de  problemas  
         semelhantes;	

Frameworks
Foco  na  tarefa  a  se  desenvolver  e  não  na  
            tecnologia  adotada!	




Frameworks
Ó  Aí  que  mora  o  perigo..	
     Ó  Frameworks  fornecem  muitas  opções..	

     Ó  Opções  genéricas..	

     Ó  FOCO  deve  se  MANTER  NO  

         PRODUTO  DE  SW  que  estamos  
         desenvolvendo  e  NÃO  em  usar  tudo  o  
         que  o  framework  oferece;	
     Ó  TESTAR  é  ESSENCIAL!	




Frameworks
Ó    A  escolha  de  um  framework  
           implica  estar  de  acordo  com  a  
           metodologia  e  os  padrões  
           adotados  pelo  framework.	




Frameworks
Atualmente  temos  muitos  
       frameworks..	
       	
       	
       	
       	
       	


Exemplos
Ñ  Mas  qual  é  o  melhor?	
     Ñ  No  Silver  Bullet!	

     Ñ  O  que  é  bom  para  uns  não  quer  dizer  que  
         seja  o  melhor  para  o  seu  time!	
     Ñ  Encontre  o  melhor  para  o  seu  time!	




Exemplos
É  possivel  desenvolver  algo  
   legal,  sem  experiência  em  back-­‐‑
        end,  de  forma  que  possa  
      suportar  bastante  acesso?	




Case
Esses  caras  dizem  que  sim!	



                                    Kevin  Systrom	

Mike  Krieger	




Case
Ñ  Dois  caras  de  produtos;	
         Ñ  Uma  ideia  e  a  vontade  de  criar  algo  legal;	

         Ñ  Sem  experiência  real  em  Back-­‐‑end;	

         Ñ  Escolheram  a  linguagem  que  tinham  
             experiência;	
         Ñ  Adotaram  algunS  frameworkS  que  estavam  de  
             acordo  com  o  foco  deles;	
         Ñ  Simplicidade;	

         Ñ  Otimizado  para  uma  carga  operacional  
             mínima;	




Case
Ñ  2010  –  2  Engenheiros  de  Software  	
         Ñ  2011  –  3  Engenheiros  de  Software  	
         Ñ  2012  –  5  Engenheiros  de  Software	
         Ñ  30  milhões  de  usuários  	
         Ñ  Lançaram  para  Android;	
         Ñ  1  milhão  de  novos  usuários  em  12  horas;	
         Ñ  83.333,33  novos  usuários  por  hora  	
         Ñ  1388,88  novos  usuários  por  
             segundo!	




Case
Ñ  O  Back-­‐‑end  precisa  ser  bem  elaborado!	
  Ñ  Adotar  padrões  e  seguir  boas  práticas  é  
      essencial;	
  Ñ  Reutilizável;	

  Ñ  De  fácil  manutenção;	

  Ñ  ESCALÁVEL;	

  Ñ  Sutileza  em  tornar  simples  e  bem  estruturado;	

  	




Conclusões
Ñ  Frameworks  não  são  balas  de  prata!	
  Ñ  A  escolha  de  um  framework  é  essencial  para  o  
      sucesso  do  projeto;	
  Ñ  Foco  em  gerar  valor!	

  Ñ  Redução  no  time-­‐‑to-­‐‑market  >  MVP  (Minimun  

      Viable  Product)	
  Ñ  Maior  consistência  e  compatibilidade  entre  
      aplicações;	
  Ñ  Curva  de  aprendizado;	




Conclusões
Ñ  Existe  muito  material  atualmente;	
  Ñ  Muita  coisa  ruim  também!	

  Ñ  Saber  filtrar  pode  exigir  atenção  redobrada;	

  Ñ  Procurar  em  Papers,  publicações  acadêmicas  e  
      artigos  também!	
  Ñ  Estudar  x  Estudar  x  Estudar	

  Ñ  Testar  x  Testar  x  Testar	




Conclusões
Ñ  Dr.  Jacques  Philippe  Sauvé  -­‐‑  Associate  
        Professor  of  Computer  Science  Federal  
        University  of  Campina  Grande  	
    Ñ  Cristian  Reis  -­‐‑  No  Silver  Bullet:  essence  and  
        accidents  of  software  engineering	
    Ñ  Martin  Fowler  Site	

    Ñ  hxp://framework.zend.com	

    Ñ  hxp://symfony.com/	

    Ñ  hxp://cakephp.org/	

    Ñ  hxp://ellislab.com/codeigniter	




Bibliografia  Recomendada
Ñ    Dúvidas?	



Ñ  E-­‐‑mail:  giuseppe.lopes@kinghost.com.br	
Ñ  Twixer:  @giuseppe_lopes	

Ñ  SlideShare:  slideshare.net/giuseppelopes	

	




  Obrigado!  =)

Mais conteúdo relacionado

Mais procurados

Oficina FLISOL Curitiba - TDD, pequenos passos fazem toda diferença
Oficina FLISOL Curitiba - TDD, pequenos passos fazem toda diferençaOficina FLISOL Curitiba - TDD, pequenos passos fazem toda diferença
Oficina FLISOL Curitiba - TDD, pequenos passos fazem toda diferençaAndre Cardoso
 
Lean e a Engenharia de Software
Lean e a Engenharia de SoftwareLean e a Engenharia de Software
Lean e a Engenharia de SoftwareRafael Glanzner
 
DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?Thiago Ganzarolli
 
Mindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosMindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosJúlio de Lima
 
Proposta de Boas Práticas e Padrões de Desenvolvimento Web
Proposta de Boas Práticas e Padrões de Desenvolvimento WebProposta de Boas Práticas e Padrões de Desenvolvimento Web
Proposta de Boas Práticas e Padrões de Desenvolvimento WebEr Galvão Abbott
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 
Mindset do QA em diferentes contextos
Mindset do QA em diferentes contextosMindset do QA em diferentes contextos
Mindset do QA em diferentes contextosJúlio de Lima
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariTaller Negócio Digitais
 
Aula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREAula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREErnesto Bedrikow
 
Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Raphael Paiva
 
Padrões no Desenvolvimento de Software
Padrões no Desenvolvimento de SoftwarePadrões no Desenvolvimento de Software
Padrões no Desenvolvimento de SoftwareEmanuel Poletto
 
Notification e result pattern
Notification e result patternNotification e result pattern
Notification e result patternAna Manzan
 
A influência do Test-Driven Design no projeto de classes e no design em siste...
A influência do Test-Driven Design no projeto de classes e no design em siste...A influência do Test-Driven Design no projeto de classes e no design em siste...
A influência do Test-Driven Design no projeto de classes e no design em siste...Toni Esteves
 
Cultura DevOps e integração entre infra e devel
Cultura DevOps e integração entre infra e develCultura DevOps e integração entre infra e devel
Cultura DevOps e integração entre infra e develJose Augusto Carvalho
 

Mais procurados (20)

Oficina FLISOL Curitiba - TDD, pequenos passos fazem toda diferença
Oficina FLISOL Curitiba - TDD, pequenos passos fazem toda diferençaOficina FLISOL Curitiba - TDD, pequenos passos fazem toda diferença
Oficina FLISOL Curitiba - TDD, pequenos passos fazem toda diferença
 
A saga do desenvolvedor java
A saga do desenvolvedor javaA saga do desenvolvedor java
A saga do desenvolvedor java
 
Introdução ao design de teste de software
Introdução ao design de teste de softwareIntrodução ao design de teste de software
Introdução ao design de teste de software
 
Lean e a Engenharia de Software
Lean e a Engenharia de SoftwareLean e a Engenharia de Software
Lean e a Engenharia de Software
 
Bdd&tdd
Bdd&tddBdd&tdd
Bdd&tdd
 
DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?
 
Mindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosMindset de QA em Diferentes Contextos
Mindset de QA em Diferentes Contextos
 
Proposta de Boas Práticas e Padrões de Desenvolvimento Web
Proposta de Boas Práticas e Padrões de Desenvolvimento WebProposta de Boas Práticas e Padrões de Desenvolvimento Web
Proposta de Boas Práticas e Padrões de Desenvolvimento Web
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
Mindset do QA em diferentes contextos
Mindset do QA em diferentes contextosMindset do QA em diferentes contextos
Mindset do QA em diferentes contextos
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
 
Aula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREAula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWARE
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
 
Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?
 
Padrões no Desenvolvimento de Software
Padrões no Desenvolvimento de SoftwarePadrões no Desenvolvimento de Software
Padrões no Desenvolvimento de Software
 
Notification e result pattern
Notification e result patternNotification e result pattern
Notification e result pattern
 
A influência do Test-Driven Design no projeto de classes e no design em siste...
A influência do Test-Driven Design no projeto de classes e no design em siste...A influência do Test-Driven Design no projeto de classes e no design em siste...
A influência do Test-Driven Design no projeto de classes e no design em siste...
 
Test First, TDD e outros Bichos
Test First, TDD e outros BichosTest First, TDD e outros Bichos
Test First, TDD e outros Bichos
 
SETIC Scrum & XP
SETIC Scrum & XPSETIC Scrum & XP
SETIC Scrum & XP
 
Cultura DevOps e integração entre infra e devel
Cultura DevOps e integração entre infra e develCultura DevOps e integração entre infra e devel
Cultura DevOps e integração entre infra e devel
 

Destaque

Help, de burger praat terug! - Marco Derksen
Help, de burger praat terug!  - Marco DerksenHelp, de burger praat terug!  - Marco Derksen
Help, de burger praat terug! - Marco Derksencascadis
 
trabajo en equipo_ppt_yanahuaman huachuhuillca
trabajo en equipo_ppt_yanahuaman huachuhuillcatrabajo en equipo_ppt_yanahuaman huachuhuillca
trabajo en equipo_ppt_yanahuaman huachuhuillcaadlaremses
 
Powerpoint etm speaking skills
Powerpoint etm speaking skillsPowerpoint etm speaking skills
Powerpoint etm speaking skillsBendita Des Santos
 
Unitats 1 i 2 llengua catalana
Unitats 1 i 2  llengua catalanaUnitats 1 i 2  llengua catalana
Unitats 1 i 2 llengua catalanamjvercher
 
Presentación luis martinez
Presentación luis martinezPresentación luis martinez
Presentación luis martinezlukymarti
 
Fle 2012 case aliander team energie 1
Fle 2012 case aliander team energie 1Fle 2012 case aliander team energie 1
Fle 2012 case aliander team energie 1MVO Nederland
 
Oficina Design Thinking | Encontro Regional AcessaSP | Botucatu | 29-04-2015
Oficina Design Thinking | Encontro Regional AcessaSP | Botucatu | 29-04-2015Oficina Design Thinking | Encontro Regional AcessaSP | Botucatu | 29-04-2015
Oficina Design Thinking | Encontro Regional AcessaSP | Botucatu | 29-04-2015Reinaldo Campos
 
бровкин справочник рыбоводство
бровкин справочник рыбоводствобровкин справочник рыбоводство
бровкин справочник рыбоводствоMisovets
 
Presentación de unidad
Presentación de unidadPresentación de unidad
Presentación de unidadEma Prez
 
Impacto de las tics
Impacto de las ticsImpacto de las tics
Impacto de las ticsalemartboh
 

Destaque (20)

Help, de burger praat terug! - Marco Derksen
Help, de burger praat terug!  - Marco DerksenHelp, de burger praat terug!  - Marco Derksen
Help, de burger praat terug! - Marco Derksen
 
234
234234
234
 
04 relacionamento
04   relacionamento04   relacionamento
04 relacionamento
 
234
234234
234
 
2007
20072007
2007
 
.
..
.
 
trabajo en equipo_ppt_yanahuaman huachuhuillca
trabajo en equipo_ppt_yanahuaman huachuhuillcatrabajo en equipo_ppt_yanahuaman huachuhuillca
trabajo en equipo_ppt_yanahuaman huachuhuillca
 
Estatísticas
EstatísticasEstatísticas
Estatísticas
 
Engenharia pura
Engenharia puraEngenharia pura
Engenharia pura
 
Powerpoint etm speaking skills
Powerpoint etm speaking skillsPowerpoint etm speaking skills
Powerpoint etm speaking skills
 
Unitats 1 i 2 llengua catalana
Unitats 1 i 2  llengua catalanaUnitats 1 i 2  llengua catalana
Unitats 1 i 2 llengua catalana
 
Presentación luis martinez
Presentación luis martinezPresentación luis martinez
Presentación luis martinez
 
Practca 3 copia
Practca 3   copiaPractca 3   copia
Practca 3 copia
 
Fle 2012 case aliander team energie 1
Fle 2012 case aliander team energie 1Fle 2012 case aliander team energie 1
Fle 2012 case aliander team energie 1
 
Oficina Design Thinking | Encontro Regional AcessaSP | Botucatu | 29-04-2015
Oficina Design Thinking | Encontro Regional AcessaSP | Botucatu | 29-04-2015Oficina Design Thinking | Encontro Regional AcessaSP | Botucatu | 29-04-2015
Oficina Design Thinking | Encontro Regional AcessaSP | Botucatu | 29-04-2015
 
Calentamiento global
Calentamiento globalCalentamiento global
Calentamiento global
 
Sociales
SocialesSociales
Sociales
 
бровкин справочник рыбоводство
бровкин справочник рыбоводствобровкин справочник рыбоводство
бровкин справочник рыбоводство
 
Presentación de unidad
Presentación de unidadPresentación de unidad
Presentación de unidad
 
Impacto de las tics
Impacto de las ticsImpacto de las tics
Impacto de las tics
 

Semelhante a Não deixe seu projeto só nas mãos do framework

Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Cristiano Schwening
 
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceEncontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceCarolina Karklis
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwarePablo Dall'Oglio
 
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...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
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
Conceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de Software
Conceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de SoftwareConceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de Software
Conceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de SoftwareFelizardo Charles
 
O futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseO futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseGlobalcode
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...iMasters
 
Design for change: Fatores que influenciam na longevidade de um Software PHP
Design for change: Fatores que influenciam na longevidade de um Software PHPDesign for change: Fatores que influenciam na longevidade de um Software PHP
Design for change: Fatores que influenciam na longevidade de um Software PHPPablo Dall'Oglio
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento webArlindo Santos
 
Seja Um Programador Pragmatico
Seja Um Programador PragmaticoSeja Um Programador Pragmatico
Seja Um Programador PragmaticoLeonardo Fernandes
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimentoGabriel Moura
 

Semelhante a Não deixe seu projeto só nas mãos do framework (20)

Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?
 
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceEncontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um Software
 
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...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...
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Conceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de Software
Conceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de SoftwareConceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de Software
Conceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de Software
 
O futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseO futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java Enterprise
 
Test day 2012
Test day 2012Test day 2012
Test day 2012
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
 
Começando errado com php
Começando errado com phpComeçando errado com php
Começando errado com php
 
Curso Scrum
Curso ScrumCurso Scrum
Curso Scrum
 
Design for change: Fatores que influenciam na longevidade de um Software PHP
Design for change: Fatores que influenciam na longevidade de um Software PHPDesign for change: Fatores que influenciam na longevidade de um Software PHP
Design for change: Fatores que influenciam na longevidade de um Software PHP
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
 
Seja Um Programador Pragmatico
Seja Um Programador PragmaticoSeja Um Programador Pragmatico
Seja Um Programador Pragmatico
 
SCRUM.pptx
SCRUM.pptxSCRUM.pptx
SCRUM.pptx
 
Supero Framework New
Supero Framework NewSupero Framework New
Supero Framework New
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimento
 

Não deixe seu projeto só nas mãos do framework

  • 1. Não  deixe  seu  projeto  só   nas  mãos  do  framework { Giuseppe  Lopes Desenvolvedor  Back-­‐‑end  SaaS  -­‐‑  Kinghost
  • 2. Ñ  Giuseppe  Lopes Ñ  Mais  de  6  anos  de  experiência  com   desenvolvimento  de  aplicações  de  acesso   crítico; Ñ  Especialista  em  MVC,  Webservices  e  Core  de   aplicações  críticas; Ñ  Consultor  de  TI; Ñ  ZCE  (Zend  Certified  Engineer) Ñ  Apaixonado  por  tecnologia; Ñ  Curioso  por  natureza; Ñ  Interesses  em:  Cloud  Computing,  SaaS,  Agile,   SOA,  Mobile  e  Back-­‐‑end! Quem  sou
  • 3. Ñ  Introdução Ñ  Back-­‐‑end; Ñ  Frameworks; Ñ  Exemplos; Ñ  Case; Ñ  Conclusões; Ñ  Referências; Ñ  Dúvidas  e  contatos; Agenda
  • 4. Ñ  Foco  da  palestra: Ñ  A  importância  do  Back-­‐‑end  e  da  escolha  do   Framework  para  o  desenvolvimento  de  sua   aplicação; Introdução
  • 5. Ñ  Back-­‐‑end?? Ñ  Framework??? WTF?!?!?! Introdução
  • 6. Ñ  Linguagens: Ó  Php,  Java,  .NET,  Obj-­‐‑C,  Python.. Ñ  Orientadas  a  objetos; Ñ  Padrões  de  Projeto; Ñ  Técnicas  de  otimização; Ñ  Desenvolver  é  aprender; Introdução
  • 8. Ñ  Camada  de  nível  mais  baixo; Ñ  Não  interage  com  o  usuário; Ñ  Tem  seu  alicerce  nos  Padrões  de  Projetos: Ó  MVC; Ó  Singleton; Ó  Factory; Ó  Adapter; Ó  Proxy; Ó  Minimizar  o  acoplamento; Ó  E  mais  outros  479872343 Back-­‐‑end
  • 9. Ñ  Conjunto  de  artefatos; Ñ  Interage  com  outros  “atores”: Ó  Banco  de  dados; Ó  Serviços; Ó  Sistema  de  Arquivos; Ó  Webservices; Ñ  Faz  a  mágica  acontecer; Ñ  O  Back-­‐‑end  precisa  estar  preparado  para   mudanças; Back-­‐‑end
  • 10. Ñ  Cérebro  da  aplicação; Ñ  Falhas  impactam  diretamente  na  aplicação; Ñ  Precisa  ser:   Ó  Consistente; Ó  Rastreável; Ó  Testável  (foi  feito  para  falhar); Ó  De  fácil  manutenção; Ñ  “Só”  isso! Back-­‐‑end
  • 11. Tantos  padrões..   Tantas  preocupações.. Tantas  responsabilidades..
  • 13. Vieram  para  resolver     tudo  então?!
  • 16. “A  framework  is  not   absolutely  necessary:  it  is   just  one  of  the  tools  that  is   available  to  help  you   develop  beVer  and   faster” @Symfony Frameworks
  • 17. Melhor,  porque  um  framework  fornece  a  certeza   de  que  você  está  desenvolvendo  um  aplicativo  que   está  em  total  conformidade  com  as  regras   de  negócios,  que  está  estruturado,  e  que  é   ao  mesmo  tempo  sustentável  e   atualizável. Frameworks
  • 18. Mais  rápido,  porque  permite  que  os   desenvolvedores  economizem  tempo   através  da  reutilização  de  módulos  genéricos,   a  fim  de  se  concentrar  em  outras  áreas. Frameworks
  • 19. Ñ  TOOLBOX Ó  Conjunto  de  componentes  de  SW  pré-­‐‑ fabricados  que  se  integram  facilmente; Ñ  METHODOLOGY Ó  Fornece  uma  linha  de  desenvolvimento   sustentável  e  escalável  de  software; Ñ  Provê  uma  solução  genérica  para   uma  família  de  problemas   semelhantes; Frameworks
  • 20. Foco  na  tarefa  a  se  desenvolver  e  não  na   tecnologia  adotada! Frameworks
  • 21. Ó  Aí  que  mora  o  perigo.. Ó  Frameworks  fornecem  muitas  opções.. Ó  Opções  genéricas.. Ó  FOCO  deve  se  MANTER  NO   PRODUTO  DE  SW  que  estamos   desenvolvendo  e  NÃO  em  usar  tudo  o   que  o  framework  oferece; Ó  TESTAR  é  ESSENCIAL! Frameworks
  • 22. Ó  A  escolha  de  um  framework   implica  estar  de  acordo  com  a   metodologia  e  os  padrões   adotados  pelo  framework. Frameworks
  • 23. Atualmente  temos  muitos   frameworks.. Exemplos
  • 24. Ñ  Mas  qual  é  o  melhor? Ñ  No  Silver  Bullet! Ñ  O  que  é  bom  para  uns  não  quer  dizer  que   seja  o  melhor  para  o  seu  time! Ñ  Encontre  o  melhor  para  o  seu  time! Exemplos
  • 25. É  possivel  desenvolver  algo   legal,  sem  experiência  em  back-­‐‑ end,  de  forma  que  possa   suportar  bastante  acesso? Case
  • 26. Esses  caras  dizem  que  sim! Kevin  Systrom Mike  Krieger Case
  • 27. Ñ  Dois  caras  de  produtos; Ñ  Uma  ideia  e  a  vontade  de  criar  algo  legal; Ñ  Sem  experiência  real  em  Back-­‐‑end; Ñ  Escolheram  a  linguagem  que  tinham   experiência; Ñ  Adotaram  algunS  frameworkS  que  estavam  de   acordo  com  o  foco  deles; Ñ  Simplicidade; Ñ  Otimizado  para  uma  carga  operacional   mínima; Case
  • 28. Ñ  2010  –  2  Engenheiros  de  Software   Ñ  2011  –  3  Engenheiros  de  Software   Ñ  2012  –  5  Engenheiros  de  Software Ñ  30  milhões  de  usuários   Ñ  Lançaram  para  Android; Ñ  1  milhão  de  novos  usuários  em  12  horas; Ñ  83.333,33  novos  usuários  por  hora   Ñ  1388,88  novos  usuários  por   segundo! Case
  • 29. Ñ  O  Back-­‐‑end  precisa  ser  bem  elaborado! Ñ  Adotar  padrões  e  seguir  boas  práticas  é   essencial; Ñ  Reutilizável; Ñ  De  fácil  manutenção; Ñ  ESCALÁVEL; Ñ  Sutileza  em  tornar  simples  e  bem  estruturado; Conclusões
  • 30. Ñ  Frameworks  não  são  balas  de  prata! Ñ  A  escolha  de  um  framework  é  essencial  para  o   sucesso  do  projeto; Ñ  Foco  em  gerar  valor! Ñ  Redução  no  time-­‐‑to-­‐‑market  >  MVP  (Minimun   Viable  Product) Ñ  Maior  consistência  e  compatibilidade  entre   aplicações; Ñ  Curva  de  aprendizado; Conclusões
  • 31. Ñ  Existe  muito  material  atualmente; Ñ  Muita  coisa  ruim  também! Ñ  Saber  filtrar  pode  exigir  atenção  redobrada; Ñ  Procurar  em  Papers,  publicações  acadêmicas  e   artigos  também! Ñ  Estudar  x  Estudar  x  Estudar Ñ  Testar  x  Testar  x  Testar Conclusões
  • 32. Ñ  Dr.  Jacques  Philippe  Sauvé  -­‐‑  Associate   Professor  of  Computer  Science  Federal   University  of  Campina  Grande   Ñ  Cristian  Reis  -­‐‑  No  Silver  Bullet:  essence  and   accidents  of  software  engineering Ñ  Martin  Fowler  Site Ñ  hxp://framework.zend.com Ñ  hxp://symfony.com/ Ñ  hxp://cakephp.org/ Ñ  hxp://ellislab.com/codeigniter Bibliografia  Recomendada
  • 33. Ñ  Dúvidas? Ñ  E-­‐‑mail:  giuseppe.lopes@kinghost.com.br Ñ  Twixer:  @giuseppe_lopes Ñ  SlideShare:  slideshare.net/giuseppelopes Obrigado!  =)