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

Processo de Desenvolvimento FrontEnd - Do caos ...

Jaydson Gomes
November 30, 2013

Processo de Desenvolvimento FrontEnd - Do caos ao Sublime

O mundo muda constantemente.
Na tecnologia isso é mais evidente, o avanço é exponêncial, e quase não conseguimos acompanhar o que há de mais novo na área em que atuamos.
No desenvolvimento de software, a mudança pode influenciar diretamente no sucesso do mesmo. Novas tecnologias, novas ferramentas, novas linguagens, tudo isso deve ser considerado.
O JavaScript ocupou o lugar de linguagem mais querida e popular no mundo, depois de passar anos sendo incompreendida.
Esta mudança é reflexo do avanço da linguagem, das ferramentas e de todas as tecnologias que a cercam.
O modo de se desenvolver código client-side mudou, e para melhor.
O ambiente de desenvolvimento não é mais o mesmo, hoje temos um arsenal de ferramentas que nos ajudam a criar aplicações robustas, escaláveis e de qualidade.
Praticamente tudo que existe para melhorar o desenvolvimento de software em alguma outra linguagem, também existe para JavaScript.
Testes unitários, testes funcionais, ferramentas de build, validação de sintaxe, validação de convenções, integração contínua, etc.
Todos os itens acima, e muitos outros, são essenciais em qualquer tipo de software, e atualmente temos o poder de tornar nossas aplicações JavaScript muito mais confiáveis do que há alguns anos.
O objetivo da palestra é apresentar as principais ferramentas, tecnologias e técnicas disponíveis para o desenvolvimento de aplicações client-side, além de mostrar na prática, como mudamos completamente o processo de desenvolvimento FrontEnd em um dos maiores portais da América Latina, o Terra.

Jaydson Gomes

November 30, 2013
Tweet

More Decks by Jaydson Gomes

Other Decks in Programming

Transcript

  1. Web

  2. * Dev recebia a spec e não tinha um lugar

    padrão para armazenar os artefatos * Não existia um meio fácil de pesquisa por projetos
  3. * Baixa o projeto inteiro via ~SVN~ para a sua

    máquina * Os testes eram integrados em um único branch compartilhado * Não existia versionamento adequado para feature/bugfix
  4. * Ferramentas e serviços associados ao ambiente usavam a base

    de produção * Ambiente de desenvolvimento não era compatível com produção
  5. * O processo de publicação em produção era manual e

    arriscado (limpar cache, arquivo por arquivo)
  6. ~400MB de arquivos estáticos no projeto Portal ~SVN~ PRD *.js,

    *.css, (alguns html’s), *.png, *.jpg, *.swf
  7. ~400MB de arquivos estáticos no projeto Portal ~GIT~ MASTER *.js,

    *.css, (alguns html’s), *.png, *.jpg, *.swf
  8. *

  9. *

  10. Faz merge dos pull- requests do dia anterior com a

    master branch 8:00 > Job Merger 14:00 > Job Merger Disponibiliza o ~produto~ do merge dos pull-requests em preview Job Deployer faz push no frontend-deploy Elenca pull-requests do dia atual