ویب ساکٹ، ویب ورکرز، اور سروس ورکرز پلیٹو بلاکچین ڈیٹا انٹیلی جنس کے درمیان فرق۔ عمودی تلاش۔ عی

ویب ساکٹ، ویب ورکرز اور سروس ورکرز کے درمیان فرق

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

تو، آئیے ان کو ایک ساتھ توڑتے ہیں اور ویب ساکٹ، ویب ورکرز، اور سروس ورکرز میں فرق کرتے ہیں۔ اس طرح کے سخت معنوں میں نہیں جہاں ہم گہرا غوطہ لگاتے ہیں اور ہر ایک کے ساتھ تجربہ حاصل کرتے ہیں — اگلی بار بک مارک کرنے کے لیے ایک چھوٹے مددگار کی طرح I آپ کو ایک ریفریشر کی ضرورت ہے.

فوری حوالہ

ہم فوری موازنہ اور تضاد کے لیے ایک اعلیٰ سطحی جائزہ کے ساتھ شروع کریں گے۔

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

ویب ساکٹ

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

ویب ساکٹ، ویب ورکرز اور سروس ورکرز کے درمیان فرق

مواصلات واقعات پر مبنی ہے. اے WebSocket آبجیکٹ قائم ہوتا ہے اور سرور سے منسلک ہوتا ہے، اور سرور کے درمیان پیغامات ٹرگر ایونٹس جو انہیں بھیجتے اور وصول کرتے ہیں۔

اس کا مطلب یہ ہے کہ جب ابتدائی کنکشن بنایا جاتا ہے، تو ہمارے پاس کلائنٹ-سرور مواصلات ہوتا ہے جہاں ایک کنکشن شروع کیا جاتا ہے اور اسے اس وقت تک زندہ رکھا جاتا ہے جب تک کہ کلائنٹ یا سرور اسے بھیج کر ختم کرنے کا انتخاب نہ کرے۔ CloseEvent. یہ ویب ساکٹ کو ان ایپلی کیشنز کے لیے مثالی بناتا ہے جن کے لیے کلائنٹ اور سرور کے درمیان مسلسل اور براہ راست رابطے کی ضرورت ہوتی ہے۔ زیادہ تر تعریفیں میں نے کال آؤٹ چیٹ ایپس کو عام استعمال کے معاملے کے طور پر دیکھا ہے — آپ ایک پیغام ٹائپ کرتے ہیں، اسے سرور کو بھیجتے ہیں، ایک ایونٹ کو متحرک کرتے ہیں، اور سرور بار بار سرور کو پنگ کیے بغیر ڈیٹا کے ساتھ جواب دیتا ہے۔

اس منظر نامے پر غور کریں۔: آپ باہر جا رہے ہیں اور آپ گوگل میپس پر سوئچ کرنے کا فیصلہ کرتے ہیں۔ آپ شاید پہلے سے ہی جانتے ہوں گے کہ گوگل میپس کیسے کام کرتا ہے، لیکن اگر آپ ایسا نہیں کرتے ہیں، تو یہ آپ کے ایپ سے منسلک ہونے کے بعد آپ کا مقام خود بخود تلاش کر لیتا ہے اور آپ جہاں بھی جاتے ہیں اس پر نظر رکھتا ہے۔ جب تک یہ کنکشن زندہ ہے آپ کے مقام پر نظر رکھنے کے لیے یہ ریئل ٹائم ڈیٹا ٹرانسمیشن کا استعمال کرتا ہے۔ یہ ایک ویب ساکٹ ہے جو براؤزر اور سرور کے درمیان مسلسل دو طرفہ گفتگو کو قائم کرتا ہے تاکہ اس ڈیٹا کو تازہ ترین رکھا جا سکے۔ ریئل ٹائم اسکور والی اسپورٹس ایپ بھی ویب ساکٹ کا اس طرح استعمال کر سکتی ہے۔

ویب ساکٹ اور ویب ورکرز کے درمیان بڑا فرق (اور توسیع کے لحاظ سے جیسا کہ ہم دیکھیں گے، سروس ورکرز) یہ ہے کہ انہیں DOM تک براہ راست رسائی حاصل ہے۔ جہاں ویب ورکرز (اور سروس ورکرز) الگ الگ تھریڈز پر چلتے ہیں، ویب ساکٹس مرکزی دھاگے کا حصہ ہیں جو انہیں DOM میں ہیرا پھیری کرنے کی صلاحیت فراہم کرتے ہیں۔

ویب ساکٹ کنکشن قائم کرنے اور برقرار رکھنے میں مدد کے لیے ٹولز اور خدمات موجود ہیں، بشمول: ساکٹ کلسٹر, AsyncAPI, چرواہا, ویب ساکٹ کنگ, چینلز، اور گوریلا ویب ساکٹ. MDN کے پاس ایک ہے۔ چل رہی فہرست جس میں دیگر خدمات شامل ہیں۔.

مزید ویب ساکٹ کی معلومات

ویب ورکرز

ایک ایسے منظر نامے پر غور کریں جہاں آپ کو DOM میں تبدیلیاں کرتے ہوئے پیچیدہ حسابات کا ایک گروپ انجام دینے کی ضرورت ہے۔ JavaScript ایک واحد تھریڈڈ ایپلیکیشن ہے اور ایک سے زیادہ اسکرپٹ چلانے سے اس صارف انٹرفیس میں خلل پڑ سکتا ہے جس میں آپ تبدیلیاں کرنے کی کوشش کر رہے ہیں اور ساتھ ہی پیچیدہ حساب کتاب بھی کیا جا رہا ہے۔

یہ وہ جگہ ہے جہاں ویب ورکرز کھیل میں آتے ہیں۔

ویب ورکرز اسکرپٹس کو الگ الگ تھریڈز میں پس منظر میں چلنے کی اجازت دیتے ہیں تاکہ اسکرپٹ کو مرکزی تھریڈ پر ایک دوسرے کو بلاک کرنے سے روکا جا سکے۔ یہ ان ایپلی کیشنز کی کارکردگی کو بڑھانے کے لیے بہت اچھا بناتا ہے جن کے لیے سخت آپریشنز کی ضرورت ہوتی ہے کیونکہ ان آپریشنز کو رینڈرنگ سے یوزر انٹرفیس کو متاثر کیے بغیر علیحدہ تھریڈز پر پس منظر میں کیا جا سکتا ہے۔ لیکن وہ DOM تک رسائی حاصل کرنے میں اتنے اچھے نہیں ہیں کیونکہ، ویب ساکٹ کے برعکس، ایک ویب ورکر اپنے دھاگے میں مین تھریڈ سے باہر چلتا ہے۔

ایک ویب ورکر ایک ایسی چیز ہے جو ایک اسکرپٹ فائل کو استعمال کرکے عمل کرتی ہے۔ Worker کاموں کو انجام دینے پر اعتراض۔ اور جب ہم کارکنوں کے بارے میں بات کرتے ہیں، تو وہ تین اقسام میں سے ایک میں آتے ہیں:

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

ویب ورکرز کی مزید معلومات

سروس ورکرز

کچھ چیزیں ایسی ہیں جن پر ہمارا ڈویلپرز کے طور پر کوئی کنٹرول نہیں ہے، اور ان چیزوں میں سے ایک صارف کا نیٹ ورک کنکشن ہے۔ صارف جس نیٹ ورک سے جڑتا ہے وہی ہوتا ہے۔ ہم صرف اپنی ایپس کو بہتر بنانے کی پوری کوشش کر سکتے ہیں تاکہ وہ استعمال ہونے والے کسی بھی کنکشن پر اپنی بہترین کارکردگی کا مظاہرہ کریں۔

سروس ورکرز ان چیزوں میں سے ایک ہیں جو ہم کسی ایپ کی کارکردگی کو بتدریج بڑھانے کے لیے کر سکتے ہیں۔ ایک سروس ورکر ایپ، براؤزر اور سرور کے درمیان بیٹھتا ہے، ایک محفوظ کنکشن فراہم کرتا ہے جو ایک علیحدہ تھریڈ پر پس منظر میں چلتا ہے، شکریہ — آپ نے اندازہ لگایا — ویب ورکرز۔ جیسا کہ ہم نے پچھلے حصے میں سیکھا، سروس ورکرز ویب ورکرز کی تین اقسام میں سے ایک ہیں۔

تو، آپ کو اپنی ایپ اور صارف کے براؤزر کے درمیان بیٹھے خدمت کارکن کی ضرورت کیوں پڑے گی؟ ایک بار پھر، صارف کے نیٹ ورک کنکشن پر ہمارا کوئی کنٹرول نہیں ہے۔ کہتے ہیں کہ کنکشن کسی نامعلوم وجہ سے نکلتا ہے۔ یہ براؤزر اور سرور کے درمیان مواصلات کو توڑ دے گا، ڈیٹا کو آگے پیچھے ہونے سے روکے گا۔ ایک سروس ورکر کنکشن کو برقرار رکھتا ہے، ایک async پراکسی کے طور پر کام کرتا ہے جو کہ نیٹ ورک کنکشن کھو جانے کے بعد بھی درخواستوں کو روکنے اور کاموں کو انجام دینے کے قابل ہے۔

براؤزر آئیکن لیبل والے کلائنٹ اور کلاؤڈ آئیکن لیبل والے سرور کے درمیان سروس ورکر کا لیبل لگا ہوا گیئر کوگ آئیکن۔
ویب ساکٹ، ویب ورکرز اور سروس ورکرز کے درمیان فرق

یہ اس کا بنیادی ڈرائیور ہے جسے اکثر کہا جاتا ہے۔ "آف لائن پہلی" ترقی. ہم نیٹ ورک کے بجائے مقامی کیش میں اثاثے اسٹور کر سکتے ہیں، صارف کے آف لائن ہونے کی صورت میں اہم معلومات فراہم کر سکتے ہیں، چیزیں پیش کر سکتے ہیں تاکہ صارف کو ضرورت پڑنے پر وہ تیار ہو جائیں، اور نیٹ ورک کی غلطیوں کے جواب میں فال بیک فراہم کر سکتے ہیں۔ وہ مکمل طور پر غیر مطابقت پذیر ہیں لیکن، ویب ساکٹ کے برعکس، ان کی DOM تک رسائی نہیں ہے کیونکہ وہ اپنے تھریڈز پر چلتے ہیں۔

سروس ورکرز کے بارے میں جاننے کے لیے دوسری بڑی چیز یہ ہے کہ وہ آپ کی ایپ سے ہر ایک درخواست اور جواب کو روکتے ہیں۔ اس طرح، ان کے کچھ حفاظتی مضمرات ہیں، خاص طور پر یہ کہ وہ ایک ہی اصل کی پالیسی پر عمل کرتے ہیں۔ لہذا، اس کا مطلب ہے کہ CDN یا تھرڈ پارٹی سروس سے کوئی سروس ورکر نہیں چل رہا ہے۔ انہیں ایک محفوظ HTTPS کنکشن کی بھی ضرورت ہوتی ہے، جس کا مطلب ہے کہ آپ کو ان کے چلانے کے لیے SSL سرٹیفکیٹ کی ضرورت ہوگی۔

سروس ورکرز کی مزید معلومات

اپ ریپنگ

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

ہم نے ایک فوری ریفرنس ٹیبل کے ساتھ چیزوں کو شروع کیا۔ یہاں ایک ہی چیز ہے، لیکن موٹے موازنے کے لیے تھوڑا سا بڑھا دیا گیا ہے۔

نمایاں کریں یہ کیا ہے ملٹی تھریڈڈ۔ HTTPS؟ DOM تک رسائی؟
ویب ساکٹ براؤزر اور سرور کے درمیان ایک کھلا اور مستقل دو طرفہ کنکشن قائم کرتا ہے تاکہ واقعات سے شروع ہونے والے ایک کنکشن پر پیغامات بھیجنے اور وصول کرنے کے لیے۔ مین تھریڈ پر چلتا ہے۔ کی ضرورت نہیں جی ہاں
ویب ورکر اسکرپٹس کو الگ تھریڈز میں پس منظر میں چلنے کی اجازت دیتا ہے تاکہ اسکرپٹس کو مرکزی تھریڈ پر ایک دوسرے کو بلاک کرنے سے روکا جا سکے۔ الگ تھریڈ پر چلتا ہے۔ کی ضرورت ہے نہیں
خدمت کارکن ویب ورکر کی ایک قسم جو ایک بیک گراؤنڈ سروس تخلیق کرتی ہے جو براؤزر اور سرور کے درمیان نیٹ ورک کی درخواستوں سے نمٹنے کے لیے مڈل ویئر کا کام کرتی ہے، یہاں تک کہ آف لائن حالات میں بھی۔ الگ تھریڈ پر چلتا ہے۔ کی ضرورت ہے نہیں

ٹائم اسٹیمپ:

سے زیادہ سی ایس ایس ٹیکنیکس