جاوا اسکرپٹ سروس ورکرز کا تعارف

جاوا اسکرپٹ سروس ورکرز کا تعارف

کیا آپ نے کبھی سوچا ہے کہ کچھ ویب سائٹس آپ کے آف لائن ہونے کے باوجود کیسے کام کرتی رہتی ہیں؟ راز آسان ہے: ان ویب سائٹس پر سروس ورکرز ہیں۔





سروس ورکرز جدید ویب ایپلیکیشنز کی بہت سی مقامی ایپ جیسی خصوصیات کے پیچھے کلیدی ٹیکنالوجی ہیں۔





سروس ورکرز کیا ہیں؟

سروس ورکرز ایک مخصوص قسم کے ہوتے ہیں۔ جاوا اسکرپٹ ویب ورکرز . سروس ورکر ایک JavaScript فائل ہے جو تھوڑا سا پراکسی سرور کی طرح کام کرتی ہے۔ یہ آپ کی ایپلیکیشن سے باہر جانے والی نیٹ ورک کی درخواستوں کو پکڑتا ہے، جس سے آپ اپنی مرضی کے جوابات تخلیق کرتے ہیں۔ آپ، مثال کے طور پر، صارف کو کیشڈ فائلیں اس وقت پیش کر سکتے ہیں جب وہ آف لائن ہوں۔





Lorem ipsum dolor sit amet، consectetur

سروس ورکرز آپ کو اپنی ویب ایپلیکیشنز میں بیک گراؤنڈ سنک جیسی خصوصیات شامل کرنے دیتے ہیں۔

میرا کی بورڈ میرے لیپ ٹاپ پر کیوں کام نہیں کر رہا؟

سروس ورکرز کیوں؟

ویب ڈویلپرز طویل عرصے سے اپنی ایپس کی صلاحیتوں کو بڑھانے کی کوشش کر رہے ہیں۔ سروس ورکرز کے ساتھ آنے سے پہلے، آپ اسے ممکن بنانے کے لیے مختلف حل استعمال کر سکتے ہیں۔ ایک خاص طور پر قابل ذکر AppCache تھا، جس نے کیشنگ کے وسائل کو آسان بنا دیا۔ بدقسمتی سے، اس میں ایسے مسائل تھے جنہوں نے اسے زیادہ تر ایپس کے لیے ایک ناقابل عمل حل بنا دیا۔



AppCache ایک اچھا خیال لگتا ہے کیونکہ اس نے آپ کو واقعی آسانی سے کیش کرنے کے لیے اثاثوں کی وضاحت کرنے کی اجازت دی۔ تاہم، اس نے اس بارے میں بہت سے مفروضے بنائے کہ آپ کیا کرنے کی کوشش کر رہے تھے اور پھر اس وقت بری طرح ٹوٹ گئے جب آپ کی ایپ نے ان مفروضوں پر بالکل عمل نہیں کیا۔ پڑھیں جیک آرچیبالڈ کی (بدقسمتی سے عنوان لیکن اچھی طرح سے لکھا گیا) ایپلیکیشن کیشے ایک ڈوچ بیگ ہے۔ مزید تفصیلات کے لیے. (ذریعہ: MDN )

سروس ورکرز ایپ کیچ جیسی ٹیک کی خرابیوں کے بغیر ویب ایپس کی حدود کو کم کرنے کی موجودہ کوشش ہے۔





سروس ورکرز کے لیے کیسز استعمال کریں۔

تو سروس ورکرز آپ کو بالکل کیا کرنے دیتے ہیں؟ سروس ورکرز آپ کو اپنی ویب ایپلیکیشن میں ایسی خصوصیات شامل کرنے کی اجازت دیتے ہیں جو مقامی ایپس کی خصوصیت ہیں۔ وہ ان آلات پر بھی ایک عام تجربہ فراہم کر سکتے ہیں جو سروس ورکرز کو سپورٹ نہیں کرتے ہیں۔ اس طرح کی ایپس کو کبھی کبھی کہا جاتا ہے۔ پروگریسو ویب ایپس (PWAs) .

یہاں کچھ خصوصیات ہیں جو سروس ورکرز کو ممکن بناتے ہیں:





پی ڈی ایف گرے اسکیل بنانے کا طریقہ
  • صارف کو ایپ (یا کم از کم اس کے کچھ حصے) استعمال کرنے کی اجازت دینا جب وہ اب انٹرنیٹ سے منسلک نہ ہوں۔ سروس ورکرز درخواستوں کے جواب میں کیشڈ اثاثوں کو پیش کرکے یہ حاصل کرتے ہیں۔
  • Chromium پر مبنی براؤزرز میں، ایک سروس ورکر کسی ویب ایپ کو انسٹال کرنے کے لیے ضروریات میں سے ایک ہے۔
  • سروس ورکرز آپ کی ویب ایپلیکیشن کے لیے ضروری ہیں کہ وہ پش نوٹیفیکیشن کو لاگو کر سکیں۔

سروس ورکر کا لائف سائیکل

سروس ورکرز پوری سائٹ، یا سائٹ کے صفحات کے صرف ایک حصے کی درخواستوں کو کنٹرول کر سکتے ہیں۔ ایک مخصوص ویب پیج پر صرف ایک فعال سروس ورکر ہو سکتا ہے، اور تمام سروس ورکرز کے پاس ایونٹ پر مبنی لائف سائیکل ہوتا ہے۔ سروس ورکر کا لائف سائیکل عام طور پر اس طرح لگتا ہے:

  1. کارکن کی رجسٹریشن اور ڈاؤن لوڈ۔ سروس ورکر کی زندگی اس وقت شروع ہوتی ہے جب جاوا اسکرپٹ فائل اسے رجسٹر کرتی ہے۔ اگر رجسٹریشن کامیاب ہو جاتی ہے، تو سروس ورکر ڈاؤن لوڈ کرتا ہے، اور پھر ایک خاص تھریڈ کے اندر چلنا شروع کر دیتا ہے۔
  2. جب سروس ورکر کے زیر کنٹرول صفحہ لوڈ ہوتا ہے، سروس ورکر کو ایک 'انسٹال' ایونٹ موصول ہوتا ہے۔ یہ ہمیشہ ایک سروس ورکر کو ملنے والا پہلا واقعہ ہوتا ہے، اور آپ ورکر کے اندر اس ایونٹ کے لیے ایک سننے والا سیٹ کر سکتے ہیں۔ 'انسٹال' ایونٹ کا استعمال عام طور پر سروس ورکر کو درکار وسائل کو لانے اور/یا کیش کرنے کے لیے کیا جاتا ہے۔
  3. سروس ورکر کے انسٹال کرنے کے بعد، اسے ایک 'ایکٹیویٹ' ایونٹ موصول ہوتا ہے۔ یہ ایونٹ کارکن کو پچھلے سروس ورکرز کے ذریعے استعمال ہونے والے بے کار وسائل کو صاف کرنے کی اجازت دیتا ہے۔ اگر آپ کسی سروس ورکر کو اپ ڈیٹ کر رہے ہیں، تو ایکٹیویٹ ایونٹ صرف تب ہی فائر ہو گا جب ایسا کرنا محفوظ ہو۔ یہ اس وقت ہوتا ہے جب سروس ورکر کے پرانے ورژن کا استعمال کرتے ہوئے کوئی لوڈ شدہ صفحات نہیں ہوتے ہیں۔
  4. اس کے بعد، سروس ورکر کے پاس ان تمام صفحات کا مکمل کنٹرول ہوتا ہے جو کامیابی سے رجسٹر ہونے کے بعد لوڈ کیے گئے تھے۔
  5. لائف سائیکل کا آخری مرحلہ فالتو پن ہے، جو اس وقت ہوتا ہے جب سروس ورکر کو ہٹا دیا جاتا ہے یا اس کی جگہ نیا ورژن لایا جاتا ہے۔

جاوا اسکرپٹ میں سروس ورکرز کا استعمال کیسے کریں۔

سروس ورکر API ( MDN ) انٹرفیس فراہم کرتا ہے جو آپ کو JavaScript میں سروس ورکرز بنانے اور ان کے ساتھ بات چیت کرنے کی اجازت دیتا ہے۔