Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A hora de migrar do Rails numa perspectiva do F...

Eduardo Matos
November 18, 2017

A hora de migrar do Rails numa perspectiva do Front-end

Você sente que o processo de desenvolvimento front-end começou a ficar improdutivo com Rails? Nessa palestra vamos pontuar vários aspectos que nos ajudaram a decidir que a hora de partir pra outra stack tinha chegado. Veremos como é o impacto de uma migração desse tipo, quais alternativas e como escolher uma nova abordagem, considerando o aprendizado e bagagem que o Rails tem.

Eduardo Matos

November 18, 2017
Tweet

More Decks by Eduardo Matos

Other Decks in Technology

Transcript

  1. D E V N A E S T R A

    DA . C O M . B R
  2. H T T P : / / D I V

    E R S I DA D E . T E C H
  3. H T T P S : / / G I

    T H U B . C O M / F R O N T E N D B R
  4. MAS O QUE TEM DE NEGATIVO NO RAILS? NUMA PERSPECTIVA

    DO FRONT-END DIVIDIDO EM DOIS TEMAS GESTÃO DE ASSETS TIME E CULTURA
  5. RENDER NO RAILS AS PARTIALS COMEÇAM A SE TORNAR CONFUSAS

    E COMEÇAM AS ARMADILHAS HTML ESPALHADO PRA TODO LUGAR GESTÃO DE ASSETS
  6. TOOLING ENGESSADO COM BACK-END A MAIORIA DAS APLICAÇÕES MONOLÍTICAS TENDEM

    A TER SEUS PRÓPRIOS GESTORES DE ASSETS (EX: RAILS => SPROCKETS). GESTÃO DE ASSETS
  7. TOOLING ENGESSADO COM BACK-END BABEL, NODE-SASS, OUTRAS FERRAMENTAS DE TOOLING

    FICAM DEPENDENTES DE UM UPDATE DO FRAMEWORK DE BACK-END GESTÃO DE ASSETS
  8. MONOLÍTICOS QUE NÃO FAZEM GESTÃO DE ASSETS DEPENDEM DE UM

    BUILDER EXTERNO QUE CONSIGA CONVERSAR COM O BACK-END GESTÃO DE ASSETS
  9. DEPLOY DE FRONT-END AFETANDO BACK-END AJUSTES PONTUAIS DE FRONT-END QUE

    PODERIAM SER SIMPLES DE SUBIR EM PRODUÇÃO, ACABAM CRIANDO UM DEPLOY MAIS ROBUSTO, SUBINDO VERSÃO DA APLICAÇÃO TODA GESTÃO DE ASSETS
  10. DEPLOY PRA PRODUÇÃO EM MÉDIA: 30 MIN ISSO SE OS

    TESTES NÃO FALHAREM, SE EM HOMOLOG ESTIVER TUDO CERTINHO, NÃO CHOVER, AMAZON S3 NÃO CAIR (RÁ!), PRECOMPILE DE ASSETS DAR ALGUM XABÚ, …
  11. TAMANHO DA APLICAÇÃO PESSOA NOVA NO TIME SE ASSUSTA E

    SE PERDE COM CODEBASE GIGANTE TIME E CULTURA
  12. MUITOS TIMES, MESMA APLICAÇÃO ENTREGAS ATRELADAS A DE OUTROS TIMES

    TORNAM O PROCESSO DE DEPLOY MAIS COMPLEXO DE LIDAR TIME E CULTURA
  13. “ATÉ QUE A MORTE OS SEPARE” SE TRATANDO DE FRAMEWORKS

    DE BACK-END, UMA VEZ ESCOLHIDA A TECNOLOGIA, VAI CONVIVER COM ELA POR UM LONGO TEMPO NO FRONT-END ISSO É QUASE IMPOSSÍVEL, SE TRATANDO DA QUANTIDADE DE EVOLUÇÕES QUE TEM OCORRIDO TIME E CULTURA
  14. FERRAMENTA CERTA PRO JOB CERTO FRAMEWORKS MUITAS VEZES NÃO FACILITAM

    O USO DE FERRAMENTAS CERTAS PRA CADA TAREFA. TIME E CULTURA
  15. IMPACTO DE ALTERAÇÕES MAIS COMPLEXO COM COBERTURA DE TESTES, FAZER

    ALTERAÇÕES NO FRONT-END COMEÇA A FICAR COMPLICADO. 
 VELOCIDADE DE EXECUÇÃO DAS SPECS, TESTE DE MARKUP, ETC., COMEÇA A DIFICULTAR AS COISAS. TIME E CULTURA
  16. AMBIENTE DE DESENVOLVIMENTO MUITO LENTO SE NÃO EXISTIR “MOCK” OU

    SEED DE DADOS, DEPENDENDO DA QUANTIDADE DE QUERIES E INTEGRAÇÕES, O FRONT-END FICA EXTREMAMENTE LENTO TIME E CULTURA
  17. PESSOAS DE 
 FRONT-END FOCADAS EM MELHORAR O FRONT-END PERFIL

    T-SHAPE OU FULL-STACK É MUITO BOM! MAS PRA INVESTIR EM PERFORMANCE, TER UMA BASE SÓLIDA E SABER ONDE ATACAR NO FRONT-END É PRECISO PESSOAS ESPECIALIZADAS NO ASSUNTO
  18. NOVAS FERRAMENTAS PARA PROBLEMAS ESPECÍFICOS PWA, OFFLINE-FIRST, CLIENT-SIDE DATA, OTIMIZAÇÃO

    DE PAINT, WEBWORKERS… MUITA COISA NOVA SURGINDO QUE PRECISA DE UM CUIDADO MAIOR
  19. COISAS SEPARADAS, MAS AINDA UNIDAS AINDA PRECISA DE MUITA INTEGRAÇÃO

    ENTRE AS APLICAÇÕES. NO FUNDO, AMBOS OS MUNDOS GANHAM.
  20. DESENVOLVIMENTO MAIS RÁPIDO ISOLANDO O FRONT-END, PODEMOS FOCAR EM ENTREGAR

    INTERFACE MESMO SEM A FONTE DE DADOS BEM DEFINIDA AINDA (MOCKS). ISSO AGILIZA O PROCESSO
  21. MENOS CONFIG PRA MEXER DECISÕES JÁ FORAM TOMADAS, BASTA SE

    PREOCUPAR COM A FUNCIONALIDADE VANTAGENS DO RAILS
  22. CONVENÇÕES FORTES FUNCIONA ASSIM, FAÇA AS COISAS DESSE JEITO. NÃO

    TEM MUITO SEGREDO OU CONVERSA. VANTAGENS DO RAILS
  23. COMPLEXIDADE BAIXA ISOLANDO O FRONT-END, PRECISAMOS CUIDAR TAMBÉM DE MAIS

    UMA APLICAÇÃO WEB. MONITORAMENTO DE SERVER, TRACK DE ERROS, PERFORMANCE E CUIDADO COM OUTRAS COISAS VANTAGENS DO RAILS
  24. TESTES CENTRALIZADOS AO ISOLAR O FRONT-END, PRECISAMOS COBRIR TAMBÉM A

    PARTE DE CLIENT-SIDE COM TESTES ESPECÍFICOS (INTEGRAÇÃO E ATÉ REGRESSÃO VISUAL). VANTAGENS DO RAILS
  25. FRAMEWORK CONHECIDO, CONTRATAÇÃO MAIS FÁCIL QUANDO USAMOS UM FRAMEWORK CONHECIDO,

    ACHAR PESSOAS QUE JÁ CONHECEM A STACK É MAIS FÁCIL. FACILITA A ENTRADA DE INTEGRANTES NO TIME. VANTAGENS DO RAILS
  26. ONE RING TO RULE THEM ALL TUDO ESTÁ LÁ. A

    VANTAGEM É QUE SÓ É PRECISO ME PREOCUPAR COM UMA APLICAÇÃO SÓ, E BOAS. SEJA PRA DESENVOLVER OU SUBIR NOVAS FEATURES. VANTAGENS DO RAILS
  27. QUANDO DEVO MIGRAR PRA UMA STACK DE FRONT-END ISOLADA? SÓ

    QUANDO AS PESSOAS DESENVOLVEDORAS TIVEREM SKILLS SUFICIENTES PRA MIGRAÇÃO. 2
  28. QUANDO DEVO MIGRAR PRA UMA STACK DE FRONT-END ISOLADA? QUANDO

    O TEMPO DE CARREGAMENTO DE VIEWS E ASSETS COMEÇAR A IMPACTAR O DIA-A-DIA. 3
  29. QUANDO DEVO MIGRAR PRA UMA STACK DE FRONT-END ISOLADA? QUANDO

    O DEPLOY COMEÇAR A SER PREOCUPANTE E IMPACTANTE COM FREQUÊNCIA. 4
  30. QUANDO DEVO MIGRAR PRA UMA STACK DE FRONT-END ISOLADA? QUANDO

    O FRONT-END NÃO CONSEGUIR MAIS EVOLUIR, EM QUESTÕES DE TOOLING E NOVAS TECNOLOGIAS. 5
  31. E COMO? CONVENCENDO COM DADOS O QUANTO DE IMPACTO NA

    PRODUTIVIDADE PARA O FRONT-END O RAILS TEM INFLUENCIADO? QUE TIPOS DE FERRAMENTAS PODERÍAMOS USAR SE MIGRÁSSEMOS PRA OUTRA STACK? QUANTAS PESSOAS JÁ TRABALHARAM NA STACK ATUAL E NA QUE VOCÊS QUEREM MIGRAR?
  32. E COMO? MIGRANDO AOS POUCOS ESCOLHA UMA PÁGINA OU UMA

    PARTE PEQUENA DA APLICAÇÃO PRA COMEÇAR A MUDANÇA. FAÇA ITERATIVO. IMPLEMENTE, MEÇA. REFATORE, MEÇA. MOSTRE O RESULTADO DEPOIS DA MIGRAÇÃO.
  33. E COMO? FAÇA POCs “PROVE OF CONCEPT” É JUSTAMENTE PRA

    TESTAR FERRAMENTAS QUE O TIME DESEJA IMPLEMENTAR. FAÇA POCs QUE PRODUZAM UMA ANÁLISE DO QUE FOI ESTUDADO. POCs SEM RESULTADO NÃO FAZEM SENTIDO.
  34. E COMO? MOSTRE MIGRAÇÕES DE OUTRAS EMPRESAS BLOG POSTS EXPLICANDO

    OS PONTOS POSITIVOS E NEGATIVOS ESTÃO AÍ AOS MONTES. LEIA E TENTE ENCAIXAR NA SUA PROPOSTA DE MUDANÇA. CONVENCER COM EXEMPLOS É O MELHOR CAMINHO.
  35. AVALIE, PESQUISE, LEIA ANTES DE MUDAR, TOME UMA DECISÃO BASEADA

    NO SEU CENÁRIO EM VÁRIOS CASOS, RAILS PARA O FRONT AINDA FAZ MUITO SENTIDO!!! TOME CUIDADO COM BLOG POST “PAGANDO DE COOL”, MUDANDO TODA STACK E ETC. ETC. ETC. AVALIE!!
  36. UMA PESSOA QUE É BOA DESENVOLVEDORA: QUESTIONA TESTA PESQUISA LÊ

    MUITO NÃO SE LEVA PELO HYPE USA A FERRAMENTA CERTA, PRA HORA E LUGAR CERTO LEVA EM CONTA O NEGÓCIO QUE ESTÁ TRABALHANDO