Engine.IO è l’ultima intuizione di Guillermo Rauch, uno sviluppatore particolarmente attivo nella realizzazione di soluzioni con Node.js. In sé, il nuovo progetto consiste in un transport layer che intende garantire la corretta ridistribuzione dei dati in tempo reale fra browser e dispositivi per le applicazioni in carico a Socket.IO. Utilizza il meccanismo di trasmissione del long–polling – sfruttato, ad esempio, da Facebook e GMail di Google – per dialogare coi WebSocket. Se non bastasse, tutela la compatibilità dei browser.
Socket.IO, come suggerisce il nome stesso, è ideato per sfruttare i WebSocket: una tecnologia concepita per instaurare contemporaneamente delle connessioni bidirezionali in entrata e/o in uscita, presente sui browser più moderni. Già implementati su Gecko e WebKit, i WebSocket sono assenti da Internet Explorer. Microsoft ne proporrà l’implementazione soltanto a partire da IE10. Engine.IO è capace di supportare il trasporto dei dati gestiti da Socket.IO sui browser meno recenti utilizzando i FlashSocket come risorsa di fallback.
Sempre a proposito di fallback, Engine.IO ribalta il funzionamento di Socket.IO sfruttando un meccanismo upgrade–based. Significa, essenzialmente, che il nuovo “motore” inizia a caricare subito tanto i FlashSocket, quanto i WebSocket — senza attendere che la comunicazione sia interrotta da un browser obsoleto. Disponibile come pacchetto per Node Package Manager (NPM), Engine.IO è rilasciato sotto licenza MIT nelle versioni server e client. In futuro, sarà portato in Java, Go e Lua, oltre a JavaScript — la variante predefinita.
Via | Guillermo Rauch
Engine.IO, un transport layer di Socket.IO creato da Guillermo Rauch é stato pubblicato su Ossblog.it alle 13:00 di lunedì 09 luglio 2012. Leggete le condizioni di utilizzo del feed.