Highlights – Otimização de caminho crítico – Node.js + WebSockets



Highlights – Otimização de caminho crítico – Node.js + WebSockets

0 3


braziljs-2015-highlights

Highlights do BrazilJS 2015

On Github CWISoftware / braziljs-2015-highlights

Highlights

Sumário

  • Web Workers
  • WebAssembly
  • Otimização de caminho crítico
  • Node.js + WebSockets

Web Workers

Damian Schenkelman

Multi-threading no browser

Execução paralela sem travar a UI

Comunica-se com thread princial através de event handlers

Como funciona?

              index.js
              
// Verifica se API do Web Worker está disponível
if (window.Worker) {
  var worker = new Worker('worker.js');

  // Envia uma mensagem para o worker
  input.onchange = function (e) {
    worker.postMessage(input.value);
  };

  // Recebe uma mensagem do worker
  worker.onmessage = function (e) {
    console.log(e.data);
  };
}
              
            
              worker.js
              
onmessage = function (e) {
  var result = 'Mensagem recebida!';
  postMessage(result);
};
              
            

WebAssembly

Damian Schenkelman

Novo formato binário compátivel entre browsers

Mozilla + Google + Microsoft + Apple

Menor e mais rápido que o asm.js

Polyfill (WebAssembly → JavaScript) para funcionar nos browsers atuais

github.com/webassembly

Otimização de caminho crítico

Nicolas Bevacqua

O que é caminho crítico?

Ação primária da página

Twitter → tweetar

Google → buscar

O que deve ser otimizado?

Tamanho total de bytes críticos

Número de recursos críticos

Tamanho do caminho crítico

Ferramentas

DevTools Audits

PageSpeed Insights

WebPageTest

YSlow

Node.js + WebSockets

Fernando Miçalli

Aplicações em tempo real

Chat

Games

Placar da copa do mundo

Acompanhamento de eleições

Como servir milhões de conexões simultâneas sem ir a falência?

WebSockets to the rescue!

Otimização do uso de CPUs

sticky-session

GC do V8 pode matar a perfomance, então...

--nouse-idle-notification --expose-gc

Algumas libs parra trabalhar com WebSockets

socket.io

ws

socketjs

WebSocket-Node

Always bet on JS!

 CWISoftware/braziljs-2015-highlights
Highlights