شکریہ،
فلک شیر بھائی۔
نکولا بھی بلاگر اور ورڈ پریس کی طرح ایک بلاگ سوفٹویئر ہے، جس کو استعمال کرتے ہوئے آپ اپنے بلاگ کی نظامت کر سکتے ہیں۔ فرق یہ ہے کہ نکولا ایک سٹیٹک سائٹ جنریٹر (
static site generator) ہے۔
آجکل اکثر ویب سائٹس ڈائنیمک (
dynamic) ہوتی ہیں۔ ایک ڈائنیمک ویب سائٹ کے کسی بھی صفحے کو جب آپ ملاحظہ کرتے ہیں تو اس کا متن ریئل ٹائم میں ویب سروَر پر تیار ہوتا ہے اور پھر براؤزر کی جانب بھیجا جاتا ہے۔ محفل ہی کی مثال لیں: جب آپ محفل کی کسی لڑی کے ربط کو کلک کرتے ہیں، تو آپ کا براؤزر اس لڑی کے لیے ایک درخواست محفل کے ویب سروَر کی جانب بھیجتا ہے۔ ویب سروَر پر موجود سائٹ سوفٹویئر اس ربط کو دیکھ کر ڈیٹا بیس میں سے متعلقہ متن نکالتا ہے، یہ دیکھتا ہے کہ آپ لاگڈ اِن ہیں یا نہیں، اگر ہیں تو کس نام سے، آپ کے اختیارات کیا ہیں، اور اس لحاظ سے صفحے پر کون کونسی آپشنز موجود ہونی چاہیئیں، وغیرہ وغیرہ، پھر ان تمام آپشنز اور متن کو ایک خاص ترتیب میں لا کر صفحہ تیار کرتا ہے، اور وہ صفحہ آپ کے براؤزر کی جانب بھیج دیتا ہے، جہاں آپ اسے پڑھتے ہیں۔ یہ سب کام انتہائی تیز رفتاری سے ہوتا ہے، لیکن اس کے لیے ویب سروَر کے پاس خاطر خواہ ریسورسز موجود ہونے چاہیئیں تاکہ وہ بیک وقت کئی صارفین کو ہینڈل کر سکے اور ان کے طلب کیے گئے صفحوں کو جنریٹ کر کے انہیں بھیج سکے۔
اس کے بر عکس ایک سٹیٹک (
static) ویب سائٹ ایسی ویب سائٹ ہوتی ہے جس میں تمام ویب صفحات پہلے سے تیار شدہ حالت میں ویب سروَر پر رکھ دیے جاتے ہیں۔ جب کوئی صارف کسی صفحے کی درخواست بھیجتا ہے، تو ویب سرور کو محنت کر کے صفحہ تیار کرنے کی بجائے محض ڈِسک پر پہلے سے تیار شدہ صفحے کو اٹھا کر براؤزر کی طرف روانہ کرنا ہوتا ہے۔ یوں ریسورسز کی خاطر خواہ بچت ہوتی ہے۔ البتہ، سٹیٹک ویب سائٹس کو اپڈیٹ کرنا ایک مشکل کام ہوتا ہے۔ مثال کے طور پر، اگر آپ کا بلاگ سٹیٹک صفحات پر مشتمل ہے، تو ہر نئی پوسٹ کے لیے آپ کو ایک نیا صفحہ خود بنانا ہو گا، پوسٹس کی فہرست میں خود تبدیلی کرنی ہوگی، متعلقہ روابط خود اپڈیٹ کرنے ہوں گے، وغیرہ۔ اسی طرح اگر آپ اپنے بلاگ کے ہیڈر میں کوئی نیا ربط دینا چاہیں، تو ہر صفحے کے ہیڈر میں اس ربط کا اضافہ کرنا ہو گا۔ چاہے آپ کی ویب سائٹ میں چند صفحات ہی کیوں نہ ہوں، لیکن یوں ہاتھ سے ہر صفحے کو تبدیل کرنا ایک وقت طلب اور بورِنگ کام ہے۔
سٹیٹک ویب سائٹ جنریٹرز اس ضمن میں آپ کی مدد کرتے ہیں، اور نکولا ان کی ایک مثال ہے۔ میرے پاس گھر میں موجود مشین پر نکولا کا پورا سیٹ اَپ موجود ہے، جہاں میرے بلاگ کا تمام متن سادہ ٹیکسٹ فائلوں میں محفوظ ہے۔ میں اطمینان سے ٹیکسٹ فائلوں ہی میں نئی پوسٹس لکھتا ہوں، یا بلاگ کے ڈیزائن/روابط میں تبدیلی کرتا ہوں، اور ہر تبدیلی کے بعد نکولا میرے لیے ایک مکمل، سٹیٹک ویب سائٹ جنریٹ کر دیتا ہے۔ یہی سٹیٹک ویب سائٹ میں اپنے ویب سروَر پر
sync کر دیتا ہوں، اور یوں میرا بلاگ انٹرنیٹ پر موجود رہتا ہے۔
سٹیٹک طریقۂ کار ہر ویب سائٹ کے لیے تو موزوں نہیں ہوتا (محفل کو اگر سٹیٹک کر دیا جائے تو اس کا سارا مزا کرکرا ہو جائے گا
)، لیکن بلاگز کے لیے، یا ایسی ویب سائٹس جن کا متن اتنی تیزی سے تبدیل نہیں ہوتا، یا جن میں صارفین کے ساتھ زیادہ انٹریکشن کی ضرورت نہیں ہوتی—ایسی ویب سائٹس کے لیے سٹیٹک ترکیب خاصی کارگر رہتی ہے۔
سو بلاگنگ کے نقطۂ نظر سے دیکھا جائے تو ورڈ پریس اور بلاگر ڈائنیمک سسٹمز ہیں، جبکہ نکولا سٹیٹک۔ سٹیٹک بلاگ جنریٹرز تو اب ایک ڈھونڈنے پر درجن ملتے ہیں (
ایک لسٹ ملاحظہ کیجیے)، البتہ ان کی اکثریت کا انٹرفیس
کمانڈ لائن اور ٹیکسٹ فائلوں کی ادارت پر مبنی ہے، سو ان کو استعمال کرنے کے لیے آپ کا کمانڈ لائن سے کچھ نہ کچھ واقف ہونا اور ویب سائٹس کی تکنیکی تفصیلات کا عمومی تعارف رکھنا ضروری ہے۔ اس کے برعکس ڈائنیمک ویب سائٹس میں متن کی نظامت کے لیے پُرکشش اور آسان گرافکل انٹرفیسز دستیاب ہوتے ہیں، اور اسی لیے ایک عام صارف ڈائنیمک سسٹمز کو ترجیح دیتا ہے۔ علاوہ ازیں، ڈائنیمک سسٹمز کا ویب سروَر پر موجود رہنا ضروری ہے، تاکہ وہ صارفین کی درخواستوں کے جواب میں صفحے تیار کر سکیں، جبکہ ایک سٹیٹک سسٹم کہیں بھی موجود رہ کر سائٹ جنریٹ کر سکتا ہے اور اس جنریٹڈ سائٹ کو بعد میں ویب سروَر پر منتقل کیا جا سکتا ہے۔
مزید کوئی سوال ہو، یا اگر درج بالا سطروں میں کوئی بات وضاحت طلب ہو، تو بلا تکلف پوچھ لیں۔