জাভাস্ক্রিপ্ট পরিষেবা কর্মীদের একটি ভূমিকা

জাভাস্ক্রিপ্ট পরিষেবা কর্মীদের একটি ভূমিকা

আপনি কি কখনও ভেবে দেখেছেন যে আপনি অফলাইনে থাকা সত্ত্বেও কিছু ওয়েবসাইট কীভাবে কাজ করে চলেছে? রহস্যটি সহজ: এই ওয়েবসাইটগুলিতে পরিষেবা কর্মী রয়েছে৷





আধুনিক ওয়েব অ্যাপ্লিকেশনগুলির অনেকগুলি নেটিভ অ্যাপ-সদৃশ বৈশিষ্ট্যগুলির পিছনে পরিষেবা কর্মীরা মূল প্রযুক্তি৷





সেবা কর্মী কি?

সেবা কর্মীরা একটি বিশেষ ধরনের জাভাস্ক্রিপ্ট ওয়েব কর্মীরা . একটি পরিষেবা কর্মী হল একটি জাভাস্ক্রিপ্ট ফাইল যা কিছুটা প্রক্সি সার্ভারের মতো কাজ করে। এটি আপনার অ্যাপ্লিকেশন থেকে বহির্গামী নেটওয়ার্ক অনুরোধগুলি ধরে, আপনাকে কাস্টম প্রতিক্রিয়া তৈরি করতে দেয়। আপনি, উদাহরণস্বরূপ, ক্যাশে করা ফাইলগুলি ব্যবহারকারীদের কাছে পরিবেশন করতে পারেন যখন তারা অফলাইনে থাকে৷





পরিষেবা কর্মীরা আপনাকে আপনার ওয়েব অ্যাপ্লিকেশনগুলিতে ব্যাকগ্রাউন্ড সিঙ্কের মতো বৈশিষ্ট্য যুক্ত করতে দেয়।

উইন্ডোজ বাহ্যিক হার্ড ড্রাইভ চিনতে পারে না

কেন সেবা কর্মী?

ওয়েব ডেভেলপাররা দীর্ঘদিন ধরে তাদের অ্যাপের ক্ষমতা বাড়ানোর চেষ্টা করছেন। পরিষেবা কর্মীরা আসার আগে, আপনি এটি সম্ভব করার জন্য বিভিন্ন সমাধান ব্যবহার করতে পারেন। একটি বিশেষভাবে উল্লেখযোগ্য ছিল অ্যাপক্যাচে, যা ক্যাশিং সংস্থানগুলিকে সুবিধাজনক করে তুলেছিল। দুর্ভাগ্যবশত, এতে এমন সমস্যা ছিল যা এটিকে বেশিরভাগ অ্যাপের জন্য একটি অবাস্তব সমাধান করে তুলেছে।



AppCache একটি ভাল ধারণা বলে মনে হচ্ছে কারণ এটি আপনাকে সত্যিই সহজেই ক্যাশে করার জন্য সম্পদ নির্দিষ্ট করতে দেয়। যাইহোক, আপনি যা করার চেষ্টা করছেন সে সম্পর্কে এটি অনেক অনুমান তৈরি করেছে এবং তারপরে ভয়ঙ্করভাবে ভেঙে গেছে যখন আপনার অ্যাপটি সেই অনুমানগুলিকে সঠিকভাবে অনুসরণ করেনি। Jake Archibald's পড়ুন (দুর্ভাগ্যবশত-শিরোনাম কিন্তু ভাল লেখা) অ্যাপ্লিকেশন ক্যাশে একটি ডুচেব্যাগ আরো বিস্তারিত জানার জন্য. (সূত্র: MDN )

AppCache-এর মতো প্রযুক্তির ত্রুটি ছাড়াই ওয়েব অ্যাপের সীমাবদ্ধতা কমানোর বর্তমান প্রয়াস হল পরিষেবা কর্মীরা।





পরিষেবা কর্মীদের জন্য কেস ব্যবহার করুন

তাহলে পরিষেবা কর্মীরা আপনাকে ঠিক কী করতে দেয়? পরিষেবা কর্মীরা আপনাকে আপনার ওয়েব অ্যাপ্লিকেশনে নেটিভ অ্যাপ্লিকেশানগুলির বৈশিষ্ট্যযুক্ত বৈশিষ্ট্যগুলি যোগ করার অনুমতি দেয়৷ পরিষেবা কর্মীদের সমর্থন করে না এমন ডিভাইসগুলিতেও তারা একটি স্বাভাবিক অভিজ্ঞতা প্রদান করতে পারে। এই ধরনের অ্যাপ্লিকেশন কখনও কখনও বলা হয় প্রগতিশীল ওয়েব অ্যাপস (PWAs) .

এখানে কিছু বৈশিষ্ট্য রয়েছে যা পরিষেবা কর্মীরা সম্ভব করে তোলে:





  • ব্যবহারকারীরা যখন আর ইন্টারনেটের সাথে সংযুক্ত থাকে না তখন তাদের অ্যাপ (বা অন্ততপক্ষে এর কিছু অংশ) ব্যবহার করতে দেওয়া। পরিষেবা কর্মীরা অনুরোধের প্রতিক্রিয়া হিসাবে ক্যাশে করা সম্পদ পরিবেশন করে এটি অর্জন করে।
  • ক্রোমিয়াম-ভিত্তিক ব্রাউজারগুলিতে, একটি ওয়েব অ্যাপ ইনস্টলযোগ্য হওয়ার জন্য একজন পরিষেবা কর্মী একটি প্রয়োজনীয়তা।
  • আপনার ওয়েব অ্যাপ্লিকেশানের জন্য পুশ বিজ্ঞপ্তিগুলি কার্যকর করতে সক্ষম হওয়ার জন্য পরিষেবা কর্মীদের প্রয়োজনীয়৷

একজন সেবা কর্মীর জীবনচক্র

পরিষেবা কর্মীরা একটি সম্পূর্ণ সাইট বা সাইটের পৃষ্ঠাগুলির শুধুমাত্র একটি অংশের জন্য অনুরোধগুলি নিয়ন্ত্রণ করতে পারে। একটি নির্দিষ্ট ওয়েবপেজে শুধুমাত্র একজন সক্রিয় পরিষেবা কর্মী থাকতে পারে এবং সমস্ত পরিষেবা কর্মীদের একটি ইভেন্ট-ভিত্তিক জীবনচক্র থাকে। একজন পরিষেবা কর্মীর জীবনচক্র সাধারণত এইরকম দেখায়:

  1. শ্রমিকের নিবন্ধন এবং ডাউনলোড। একটি জাভাস্ক্রিপ্ট ফাইল এটি নিবন্ধিত হলে একটি পরিষেবা কর্মীর জীবন শুরু হয়। নিবন্ধন সফল হলে, পরিষেবা কর্মী ডাউনলোড করে, এবং তারপর একটি বিশেষ থ্রেডের ভিতরে চলতে শুরু করে।
  2. যখন পরিষেবা কর্মী দ্বারা নিয়ন্ত্রিত একটি পৃষ্ঠা লোড করা হয়, তখন পরিষেবা কর্মী একটি 'ইনস্টল' ইভেন্ট পায়৷ এটি সর্বদা একটি পরিষেবা কর্মী প্রাপ্ত প্রথম ইভেন্ট, এবং আপনি কর্মীর ভিতরে এই ইভেন্টের জন্য একজন শ্রোতা সেট আপ করতে পারেন। 'ইনস্টল' ইভেন্টটি সাধারণত পরিষেবা কর্মীর প্রয়োজনীয় সংস্থানগুলি আনয়ন এবং/অথবা ক্যাশে করতে ব্যবহৃত হয়।
  3. পরিষেবা কর্মী ইনস্টল করা শেষ করার পরে, এটি একটি 'অ্যাক্টিভেট' ইভেন্ট পায়। এই ইভেন্টটি কর্মীকে পূর্ববর্তী পরিষেবা কর্মীদের দ্বারা ব্যবহৃত অপ্রয়োজনীয় সংস্থানগুলি পরিষ্কার করার অনুমতি দেয়। আপনি যদি কোনও পরিষেবা কর্মীকে আপডেট করেন তবে সক্রিয় ইভেন্টটি শুধুমাত্র তখনই চালু হবে যখন এটি করা নিরাপদ। পরিষেবা কর্মীর পুরানো সংস্করণ ব্যবহার করে কোনও লোড করা পৃষ্ঠা নেই।
  4. এর পরে, পরিষেবা কর্মীর সমস্ত পৃষ্ঠাগুলির সম্পূর্ণ নিয়ন্ত্রণ থাকে যা এটি সফলভাবে নিবন্ধিত হওয়ার পরে লোড হয়েছিল।
  5. জীবনচক্রের শেষ পর্যায় হল অপ্রয়োজনীয়তা, যা ঘটে যখন পরিষেবা কর্মীকে সরিয়ে দেওয়া হয় বা একটি নতুন সংস্করণ দ্বারা প্রতিস্থাপিত হয়।

কীভাবে জাভাস্ক্রিপ্টে পরিষেবা কর্মী ব্যবহার করবেন

সার্ভিস ওয়ার্কার API ( MDN ) ইন্টারফেস প্রদান করে যা আপনাকে জাভাস্ক্রিপ্টে পরিষেবা কর্মীদের সাথে যোগাযোগ করতে এবং যোগাযোগ করতে দেয়।