Per parafrasare una fortunata pubblicità di qualche tempo fa, verrebbe veramente da dire "c'è tutto un mondo intorno..." al realtime Web. Dall'essere infatti qualcosa di implementabile da pochi eletti, con molte capacità e parecchie risorse (chi non ricorda i primi esperimenti con Comet?), l'interazione in tempo reale si sta trasformando in qualcosa di accessibile a tutti, grazie alla presenza di sempre più strumenti. Tool che possono essere server side (Node.js, Tornado...) o client side (socket.io, Web sockets...); solo per citare i più recenti. Una recente novità in questo ambito è proprio qualcosa che invece unisce, da un punto di vista della programmazione, la parte server con la parte client.
Il prodotto sotto esame è appunto Now.js che altro non è se non un modulo di Node.js; dunque funziona soltanto se usato insieme al quel server. àˆ inoltre dipendente da qualche altro modulo (socket.io e node-proxy).
Quello che Now.js fa è permettere di creare funzioni e proprietà sul server (ovvero sul codice scritto all'interno dell'applicazione Node.js che usa Now.js) che sono poi accessibili direttamente anche dal client ovvero dal codice JavaScript che gira all'interno del browser. La cosa bella è che vale anche il contrario: se nel vostro script viene creata una qualsiasi variabile all'interno del particolare namespace messo a disposizione da Now.js, quella stessa variabile sarà *immediatamente* accessibile (per nome e per valore) lato server. Stessa cosa, appunto, per funzioni (e ovviamente oggetti). Si può dunque definire Now.js come una sorta di proxy applicativo.
Vi lascio consigliandovi caldamente di dare un'occhiata al tutorial del sito (un sistema di chat in tempo reale).