আপনার ওয়েব অ্যাপ যদি সফটওয়্যারের মতো আচরণ করে, তাহলে রিঅ্যাক্ট (React) ভালো পছন্দ: মানুষ অনেকক্ষণ ধরে ব্যবহার করেন, ক্লিক, ফিল্টার, এডিট করেন, আর পেজ রিলোড ছাড়াই স্ক্রিন বদলায়। কিন্তু পরিচিতিমূলক ওয়েবসাইট, ব্লগ বা ছোট অনলাইন শপের জন্য এটা সাধারণত বাড়াবাড়ি। সেখানে সাধারণ পেজ, ওয়ার্ডপ্রেস বা সার্ভারে তৈরি হওয়া পেজ দ্রুত বানানো যায়, রক্ষণাবেক্ষণ সস্তা, আর গুগলের পক্ষেও পড়া সহজ।

রিঅ্যাক্ট আসলে কী করে

রিঅ্যাক্ট হলো ফেসবুকে (এখন মেটা) তৈরি একটা জাভাস্ক্রিপ্ট লাইব্রেরি। এটা দিয়ে স্ক্রিন বানানো হয় ছোট ছোট পুনর্ব্যবহারযোগ্য অংশ জুড়ে, যাদের বলে কম্পোনেন্ট। একটা কম্পোনেন্ট হতে পারে প্রোডাক্ট কার্ড, তারিখ বাছার বক্স বা অর্ডারের টেবিল। ডেটা বদলালে রিঅ্যাক্ট স্ক্রিনের শুধু সেই অংশটুকু নতুন করে আঁকে।

ছাপা মেনু আর ব্যস্ত রেস্টুরেন্টের রান্নাঘরের অর্ডার স্ক্রিনের পার্থক্যটা ভাবুন। ছাপা মেনু কালেভদ্রে বদলায়, সবাই একই জিনিস পড়েন। রান্নাঘরের স্ক্রিন প্রতি মিনিটে বদলায়, আলাদা স্টাফকে আলাদা অর্ডার দেখায়, আর কিছু "হয়ে গেছে" চিহ্নিত হলেই সাথে সাথে বদলে যায়। রিঅ্যাক্ট বানানো রান্নাঘরের স্ক্রিনের জন্য। অনেক ব্যবসায়িক ওয়েবসাইট আসলে ছাপা মেনু।

কখন রিঅ্যাক্ট মানায়

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

কখন এটা বাড়াবাড়ি

  • সাইটে মূলত তথ্য: সার্ভিস, পরিচিতি, যোগাযোগ, লেখা।
  • কনটেন্ট এডিট করেন এমন মানুষ, যাঁরা ডেভেলপার নন এবং সহজ এডিটর চান। সেখানে সিএমএস বেশি মানায়।
  • সার্চ থেকে ভিজিটর আসা খুব জরুরি, অথচ টিমের সার্ভার রেন্ডারিংয়ের অভিজ্ঞতা নেই।
  • বাজেটে বানানোর খরচ আছে, কিন্তু পরে জাভাস্ক্রিপ্ট ডেভেলপার দিয়ে দেখভালের খরচ নেই।
  • ভিজিটররা মোবাইল ডেটা আর পুরনো ফোনে আসেন, অথচ কিছু দেখানোর আগেই অ্যাপ ভারী জাভাস্ক্রিপ্ট নামায়।

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

সার্চ ইঞ্জিনের প্রশ্ন

গুগল জাভাস্ক্রিপ্ট প্রসেস করতে পারে, কিন্তু যে পেজের কনটেন্ট স্ক্রিপ্ট চলার পরেই দেখা যায়, সেখানে বাড়তি একটা ধাপ যোগ হয়, ভুলের সুযোগও বাড়ে। পাবলিক পেজ র‍্যাঙ্ক করানো দরকার হলে সার্ভার-সাইড রেন্ডারিং বা স্ট্যাটিক জেনারেশন ব্যবহার করুন (রিঅ্যাক্টের ওপর তৈরি ফ্রেমওয়ার্কে এটা করা যায়), নয়তো পাবলিক সাইট সহজ টুলে রেখে শুধু লগইনের ভেতরের অংশে রিঅ্যাক্ট ব্যবহার করুন। সার্চ ইঞ্জিন আর এআই টুল দুটোর কাছেই সহজে পড়া যাওয়া কেন জরুরি, তা আছে এসইও, এইও, জিইও ও এআইও লেখায়।

প্রায়ই সবচেয়ে ভালো কাজ করে যে মাঝামাঝি পথ

পদ্ধতি যার জন্য ভালো
সার্ভারে তৈরি সাধারণ পেজ (লারাভেল, ওয়ার্ডপ্রেস) ব্যবসায়িক ওয়েবসাইট, ব্লগ, ছোট শপ
সাধারণ পেজের সাথে কয়েকটি ইন্টারঅ্যাকটিভ অংশ একটা ক্যালকুলেটর, ফিল্টার বা বুকিং বক্সসহ সাধারণ সাইট
শুধু লগইনের ভেতরের অ্যাপে রিঅ্যাক্ট পাবলিক সাইট সিএমএসে, গ্রাহক বা স্টাফ পোর্টাল রিঅ্যাক্টে
সার্ভার রেন্ডারিংসহ পুরো রিঅ্যাক্ট অ্যাপ যেখানে জটিল ইন্টারঅ্যাকশন আর সার্চ দুটোই জরুরি

তৃতীয় পথটা প্রচলিত এবং যুক্তিসংগত। মার্কেটিং সাইট হালকা আর সহজে এডিটযোগ্য থাকে, আর লগইনের পেছনের ড্যাশবোর্ড পায় দরকারি সমৃদ্ধ ইন্টারফেস। আপনার প্রজেক্ট কোন শ্রেণিতে পড়ে বুঝতে না পারলে আগে পড়ুন ওয়েবসাইট, ওয়েব অ্যাপ নাকি মোবাইল অ্যাপ।

বেছে নেওয়ার আগে যে প্রশ্নগুলো করবেন

  1. একজন সাধারণ ব্যবহারকারী একবারে কতক্ষণ এতে থাকবেন?
  2. পেজগুলো কি গুগলে র‍্যাঙ্ক করাতে হবে, নাকি লগইনের ভেতরে থাকবে?
  3. কে দেখভাল করবেন, আর তিনি কি রিঅ্যাক্ট ভালো জানেন?
  4. মোবাইল ডেটায় মাঝারি মানের ফোনে এটা কেমন চলে? মুখে না শুনে পরীক্ষা করে দেখাতে বলুন।
  5. প্রথম ভার্সন কি সহজ পদ্ধতিতে করা যায়, পরে যেখানে সত্যিই দরকার সেখানে রিঅ্যাক্ট যোগ করে?

প্রজেক্টের পরিধি ঠিক করার সময় আমি প্রথম প্রশ্ন দিয়েই শুরু করি। সৎ উত্তর যদি হয় "এক-দুই মিনিট, পড়ে তারপর ফোন করবেন", তাহলে আমি রিঅ্যাক্টের দিকে যাই না।

শেষ কথা

আপনার প্রজেক্ট যদি ওয়েবসাইট হয়, সহজ দিয়ে শুরু করুন আর আসল ফোনে স্পিড মেপে দেখুন; পেজ সাধারণত কেন ধীর হয়, তা আছে মোবাইল ডেটায় ধীর ওয়েবসাইট ঠিক করা লেখায়। আর যদি সত্যিই অ্যাপ হয়, যেমন পোর্টাল, ড্যাশবোর্ড বা সাস প্রোডাক্ট, তাহলে রিঅ্যাক্ট শক্তিশালী পছন্দ। সিদ্ধান্ত নিতে সাহায্য চাইলে দেখুন সফটওয়্যার ও ওয়েবসাইট ডেভেলপমেন্ট।

সংশ্লিষ্ট সেবা সফটওয়্যার ও ওয়েবসাইট ডেভেলপমেন্ট দ্রুত লোড হওয়া, এসইও-বান্ধব ওয়েবসাইট, কাস্টম ওয়ার্ডপ্রেস প্লাগইন, ওয়েব অ্যাপ ও সাস প্রোডাক্ট, সঠিকভাবে তৈরি ও হোস্ট করা।