Fork me on GitHub

ساخت یک برنامه Realtime با NowJS

NowJS یک ماژول Nodejs است که برای ساخت برنامه های بلادرنگ یا Realtime استفاده می‌شود. نحوه کار این ماژول در سه مرحله زیر خلاصه می ‌شود:

  • این ماژول یک namespace به نام now ایجاد می کند که هم در سمت client و هم در سمت server در دسترس است.
  • توابع و متغیرهایی که به این namespace اضافه می‌شوند بین سرور و کلاینت sync می‌شوند.
  • در این حالت سرور می‌تواند توابع تعریف شده در سمت کلاینت را صدا بزند و همچنین کلاینت می‌تواند توابع مربوط به سرور را اجرا کند.

به عنوان مثال دو اسکریپت زیر را در نظر بگیرید. اسکریپت اول در سمت سرور:

// On server

var nowjs      = require('now');
var httpServer = require('http').createServer();
var everyone   = nowjs.initialize(httpServer);

var serverInfo = {
  db
: 'mongodb',
  version
: '0.2.2'
}

everyone
.now.getServerInfo = function(callback) {
  callback
(serverInfo);
}

httpServer
.listen(3000);

و دیگری در سمت کلاینت:

// On client

<script>
  now
.getServerInfo(function(data){
    console
.log(data.version);
 
});
</script>

با اجرای این برنامه، مرورگر ورژن 0.2.2 را بر روی console چاپ می کند!