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

Performance com AngularJS

Wilson Mendes
January 07, 2015

Performance com AngularJS

Sua aplicação AngularJS está lenta? Como otimizar a performance? Combinar outras tecnologias como workaround são paliativos, pois não resolvem o problema. Nessa palestra, entenda conceitos do núcleo do AngularJS e várias técnicas para aumentar o desempenho de suas aplicações web.

Vamos explorar conceitos fundamentais como o ciclo de vida do $rootScope e como funciona o dirty checking, assim como $compile, $watch e $emit. Veremos também boas práticas ao utilizar diretivas, filters, services e outros componentes do framework. Outro ponto abordado é a utilização de paradigmas e patterns assíncronos para melhorar o desempenho de suas aplicações.

Por fim, veremos boas práticas, como melhorar os nossos testes unitários e end-to-end, discutiremos conceitos de lazy web e conheceremo ferramentas que podem nos ajudar nesta tarefa.

Wilson Mendes

January 07, 2015
Tweet

More Decks by Wilson Mendes

Other Decks in Technology

Transcript

  1. Use $emit ao invés de $broadcast Minimize os binds/watchers Maximize

    os binds/watchers registrados Como fugir disso?
  2. Use ng-if ao invés de ng-show (ng-show não mostra o

    elemento, mas o two- way binding já está ativo) Táticas
  3. Immutable Data Estado não pode ser alterado após criação Thread

    safe (sem alterações) Bons para se usar como chave hash
  4. Immutable.js Immutable.js fits better with the rest of the JS

    ecosystem in my opinion, because it is designed for and written in JS, rather than ClojureScript. The API follows the native Array API where possible, so it's a lot easier to switch between the two. Lee Byron, Interactive Information Designer at Facebook
  5. Prós Contras Melhoria na performance de grandes informações Tende a

    ser menos performático com poucas informações
  6. ===

  7. Todas as otimizações para o Javascript se aplicam ao AngularJS

    (ou qualquer outro framework) Javascript optimization
  8. $log ao invés de console $timeout ao invés de setTimeout

    $interval ao invés de setInterval Test ++