আধুনিক ওয়েব বহু মানুষ উপভোগ করেন, যারা নানা ধরনের ডিভাইস ও নেটওয়ার্ক সংযোগ ব্যবহার করেন। আপনার তৈরি করা জিনিস সারা বিশ্বের ব্যবহারকারীদের কাছে পৌঁছাতে পারে, কিন্তু আপনার সকল ব্যবহারকারীকে ওয়েবে একটি নির্ভরযোগ্য অভিজ্ঞতা প্রদান করা বেশ কঠিন হতে পারে। নির্ভরযোগ্যতা বলতে ঠিক কী বোঝায়, তা বোঝাই একটি চ্যালেঞ্জ হতে পারে।
অফলাইনে থাকাকালীন নির্ভরযোগ্য
নির্ভরযোগ্যতা নিয়ে ভাবার একটি উপায় হলো, আপনার ওয়েব অ্যাপটি নেটওয়ার্ক সংযোগ ছাড়াই কাজ করবে কি না। অ্যাপ স্টোর থেকে মোবাইল ডিভাইসে ইনস্টল করা প্ল্যাটফর্ম-নির্দিষ্ট অ্যাপগুলোর ক্ষেত্রে ব্যবহারকারীরা এই ধরনের নির্ভরযোগ্যতাকে স্বাভাবিক বলেই ধরে নেন। যখন আপনি এই ধরনের কোনো অ্যাপের আইকন দেখেন, তখন আপনি আশা করেন যে সেটিতে ট্যাপ করে কোনো একটি অভিজ্ঞতা লাভ করতে পারবেন, আপনি সেই মুহূর্তে ইন্টারনেটের সাথে সংযুক্ত থাকুন বা না থাকুন।
সাম্প্রতিককাল পর্যন্ত, নেটওয়ার্ক সংযোগ ছাড়া নির্ভরযোগ্য ওয়েব অ্যাপ্লিকেশন তৈরি করা একটি চ্যালেঞ্জ ছিল।
নির্ভরযোগ্যভাবে দ্রুত
নির্ভরযোগ্যতা নিয়ে ভাবার আরেকটি উপায় হলো, আপনার ব্যবহারকারীরা যখন একটি দুর্বল নেটওয়ার্ক সংযোগ ব্যবহার করেন, তখন আপনার ওয়েব অ্যাপটি যথেষ্ট দ্রুত গতিতে লোড হবে কি না, সে বিষয়ে তারা নিশ্চিত থাকতে পারেন। পুরনো ব্যবহারকারীরা যখন সেলুলার সংযোগে থাকেন, তখন কি ওয়াই-ফাই সংযোগের মতোই একই অভিজ্ঞতা পাবেন? আর যাদের হাই-ল্যাটেন্সি বা " লাই-ফাই " সংযোগ রয়েছে, তাদের ক্ষেত্রেই বা কী হবে? সেইসব পরিস্থিতিতেও কি আপনার ওয়েব অ্যাপটি নির্ভরযোগ্যভাবে দ্রুত কাজ করবে?
সেরা পরিস্থিতিতে দ্রুত হওয়াটাই যথেষ্ট নয়। আপনার ব্যবহারকারীরা সব ধরনের নেটওয়ার্ক পরিস্থিতিতে আপনার ওয়েব অ্যাপটি কেমন আচরণ করে, সেই দৃষ্টিকোণ থেকেই এর পারফরম্যান্স বিচার করবে।
নির্ভরযোগ্যতা অর্জনযোগ্য।
সুখবরটি হলো যে, আধুনিক ওয়েব প্ল্যাটফর্ম সার্ভিস ওয়ার্কার এবং ক্যাশ স্টোরেজ এপিআই -এর মতো প্রযুক্তি সরবরাহ করে, যা নির্ভরযোগ্য ওয়েব অ্যাপ্লিকেশন তৈরির ভিত্তি হিসেবে কাজ করতে পারে। এগুলোর মাধ্যমে আপনি এমন কোড লিখতে পারেন যা আপনার ওয়েব অ্যাপ এবং নেটওয়ার্কের মাঝে অবস্থান করে। অনেক ক্ষেত্রে, আপনি নেটওয়ার্ককে পুরোপুরি এড়িয়ে যেতে পারেন এবং এর পরিবর্তে আপনার ওয়েব অ্যাপের অনুরোধগুলো পূরণ করার জন্য পূর্বে ক্যাশ করা কন্টেন্ট ব্যবহার করতে পারেন।
আপনার পথপ্রদর্শক আলো: অফলাইনে থাকাকালীন 200 OK দিয়ে সাড়া দেয়।
একবার আপনি সার্ভিস ওয়ার্কার তৈরি করা এবং ক্যাশ থেকে কন্টেন্ট পরিবেশন করা শুরু করলে, আপনি কাজটি কার্যকরভাবে করছেন কিনা তা বোঝা কঠিন হয়ে পড়ে। আপনি কীভাবে জানবেন যে আপনার প্রয়োগ করা সার্ভিস ওয়ার্কারটি সত্যিই আপনার ওয়েব অ্যাপকে নেটওয়ার্ক এড়াতে সাহায্য করে? আপনার ক্যাশিং কৌশলের একটি ছোট পরিবর্তন যাতে আপনার যত্ন করে তৈরি করা অফলাইন অভিজ্ঞতাকে নষ্ট করে না দেয়, তা কীভাবে প্রতিরোধ করবেন?
একটি নির্ভরযোগ্য ওয়েব অ্যাপ তৈরির ক্ষেত্রে লাইটহাউস একটি বিশেষ পরীক্ষা প্রদান করে যা বিশেষভাবে গুরুত্বপূর্ণ: অফলাইনে থাকাকালীন 200 OK দিয়ে সাড়া দেয় ।

এখানে আসলে কী পরীক্ষা করা হচ্ছে? এর মূল উদ্দেশ্য হলো আপনার ব্রাউজারে নেটওয়ার্ক সংযোগ বিচ্ছিন্ন হওয়ার পরিস্থিতি তৈরি করা এবং এরপর আপনার সাইটের যে ইউআরএলটি নিরীক্ষা করা হচ্ছে, সেটি লোড করার চেষ্টা করা। একটি নিয়ন্ত্রিত ও পুনরাবৃত্তিযোগ্য ধারাবাহিক কার্যক্রম ব্যবহার করে এটি একটি নির্ভরযোগ্য সাইট তৈরির একটি দিক— অর্থাৎ অফলাইনে থাকাকালীন নির্ভরযোগ্য থাকা—পরীক্ষা করে।
এটা একটা যাত্রা
আপনি যদি সবে শুরু করে থাকেন, তাহলে ‘Responds with a 200 while offline’ চেকটিতে নেতিবাচক ফলাফল পাওয়ার খুব ভালো সম্ভাবনা রয়েছে। এটা ঠিক আছে! আপনি যদি কোনো কাস্টমাইজড স্টার্টার প্রজেক্ট ব্যবহার না করেন, তাহলে ওয়েব অ্যাপ্লিকেশনগুলোতে ডিফল্টভাবে এই ধরনের নির্ভরযোগ্যতা থাকে না। পরবর্তী কয়েকটি গাইডে আপনার ওয়েব অ্যাপ কী লোড করছে তা শনাক্ত করার জন্য প্রয়োজনীয় কৌশলগুলো তুলে ধরা হবে এবং সেই লোডিং অভিজ্ঞতাকে নির্ভরযোগ্য করে তুলতে লাইটহাউস (Lighthouse) কীভাবে ব্যবহার করতে হয় তা শেখানো হবে।
এই পুরো প্রক্রিয়া জুড়ে, আপনাকে লাইটহাউস অডিটগুলো পুনরায় চালাতে উৎসাহিত করা হয়। একটি নতুন ওয়েব অ্যাপ্লিকেশন থেকে শুরু করে একটি নির্ভরযোগ্য প্রগ্রেসিভ ওয়েব অ্যাপ পর্যন্ত আপনার এই যাত্রাপথে এগুলো পথপ্রদর্শক হিসেবে কাজ করে।