নেক্সট.জেএস

**নেক্সট.জেএস** হলো একটি ওপেন সোর্স ফুল-স্ট্যাক ওয়েব ডেভেলপমেন্ট ফ্রেমওয়ার্ক যা প্রাইভেট কোম্পানি ভার্সেল তৈরি করেছে। এটি সার্ভার-সাইড রেন্ডারিং এবং স্ট্যাটিক রেন্ডারিং-এর সুবিধাসহ রিয়্যাক্ট-ভিত্তিক ওয়েব অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়।

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

নেক্সট.জেএস-এর কপিরাইট এবং ট্রেডমার্কের মালিকানা ভার্সেল-এর হাতে, যা এর ওপেন-সোর্স ডেভেলপমেন্ট পরিচালনা ও রক্ষণাবেক্ষণ করে।

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

গুগল নেক্সট.জেএস প্রকল্পে অবদান রেখেছে, যার মধ্যে ২০১৯ সালে ৪৩টি পুল রিকোয়েস্ট অন্তর্ভুক্ত ছিল। ২০২৪ সালের অক্টোবর মাস পর্যন্ত, এই ফ্রেমওয়ার্কটি অনেক বড় ওয়েবসাইট ব্যবহার করছে, যার মধ্যে রয়েছে ওয়ালমার্ট, অ্যাপল, নাইকি, নেটফ্লিক্স, টিকটক, উবার, লিফট, স্টারবাকস এবং স্পটিফাই। ২০২০ সালের শুরুর দিকে, সফটওয়্যারটির উন্নতি সাধনের জন্য ভার্সেল সিরিজ-এ তহবিলের মাধ্যমে ২১ মিলিয়ন ডলার সংগ্রহ করে। ফ্রেমওয়ার্কটির মূল প্রণেতা গুইলারমো রাউচ বর্তমানে ভার্সেলের সিইও এবং প্রকল্পটির প্রধান মেইনটেইনার হলেন টিম নিউটকেনস।

## উন্নয়নের ইতিহাস
নেক্সট.জেএস প্রথম একটি ওপেন-সোর্স প্রকল্প হিসেবে ২৫ অক্টোবর ২০১৬ সালে গিটহাবে প্রকাশিত হয়। এটি মূলত ছয়টি নীতির ওপর ভিত্তি করে তৈরি করা হয়েছিল: কোনো সেটআপ ছাড়া তাৎক্ষণিক ব্যবহারযোগ্য কার্যকারিতা, সর্বত্র জাভাস্ক্রিপ্ট, সমস্ত ফাংশন জাভাস্ক্রিপ্টে লেখা, স্বয়ংক্রিয় কোড-স্প্লিটিং এবং সার্ভার-রেন্ডারিং, কনফিগারযোগ্য ডেটা-ফেচিং, রিকোয়েস্টের পূর্বাভাস দেওয়া এবং ডিপ্লয়মেন্ট সহজ করা।

২০১৭ সালের মার্চ মাসে নেক্সট.জেএস ২.০ ঘোষণা করা হয়, যেখানে বেশ কিছু উন্নতি অন্তর্ভুক্ত ছিল যা ছোট ওয়েবসাইটগুলোর সাথে কাজ করা সহজ করে তোলে। এটি বিল্ড দক্ষতা বৃদ্ধি করে এবং হট-মডিউল রিপ্লেসমেন্ট ফিচারের স্কেলেবিলিটি উন্নত করে।

২০১৮ সালের সেপ্টেম্বরে সংস্করণ ৭.০ মুক্তি পায়, যেখানে উন্নত এরর হ্যান্ডলিং এবং ডায়নামিক রুট পরিচালনার জন্য রিয়্যাক্টের কনটেক্সট এপিআই সমর্থন অন্তর্ভুক্ত ছিল। এটিই প্রথম সংস্করণ যা ওয়েবপ্যাক ৪-এ আপগ্রেড করা হয়।

২০১৯ সালের ফেব্রুয়ারিতে সংস্করণ ৮.০ প্রকাশিত হয় এবং এটিই প্রথম সংস্করণ যা অ্যাপ্লিকেশনগুলোর সার্ভারলেস ডিপ্লয়মেন্টের সুযোগ দেয়, যেখানে কোডগুলোকে ল্যাম্বডা ফাংশনে বিভক্ত করা হয় যা চাহিদা অনুযায়ী চালিত হয়। এই সংস্করণটি স্ট্যাটিক এক্সপোর্টের জন্য প্রয়োজনীয় সময় ও রিসোর্স কমিয়ে আনে এবং প্রিফেচ পারফরম্যান্স উন্নত করে।

২০২০ সালের মার্চ মাসে ঘোষিত সংস্করণ ৯.৩-এ বিভিন্ন অপ্টিমাইজেশন এবং গ্লোবাল সাস ও সিএসএস মডিউল সমর্থন অন্তর্ভুক্ত করা হয়।

২৭ জুলাই ২০২০ তারিখে নেক্সট.জেএস সংস্করণ ৯.৫ ঘোষণা করা হয়, যা ইনক্রিমেন্টাল স্ট্যাটিক রিজেনারেশন, রিরাইট এবং রিডাইরেক্ট সমর্থনসহ নতুন ক্ষমতা যুক্ত করে।

১৫ জুন ২০২১ তারিখে নেক্সট.জেএস সংস্করণ ১১ প্রকাশিত হয়, যা অন্যান্য বিষয়ের পাশাপাশি ওয়েবপ্যাক ৫ সমর্থন, রিয়েল-টাইম কোলাবোরেটিভ কোডিং ফাংশনালিটি "নেক্সট.জেএস লাইভ"-এর প্রিভিউ এবং ক্রিয়েট রিয়্যাক্ট অ্যাপ থেকে নেক্সট.জেএস সামঞ্জস্যপূর্ণ ফর্মে স্বয়ংক্রিয় রূপান্তরের পরীক্ষামূলক ফাংশন "ক্রিয়েট রিয়্যাক্ট অ্যাপ মাইগ্রেশন" প্রবর্তন করে।

২৬ অক্টোবর ২০২১ তারিখে নেক্সট.জেএস ১২ প্রকাশিত হয়, যেখানে একটি রাস্ট কম্পাইলার যুক্ত করা হয়, যা কম্পাইলেশনকে দ্রুততর করে তোলে, এছাড়া এতে এভিআইএফ সমর্থন, এজ ফাংশন ও মিডলওয়্যার এবং নেটিভ ESM ও ইউআরএল ইম্পোর্টস যুক্ত করা হয়।

২৬ অক্টোবর ২০২২ তারিখে ভার্সেল নেক্সট.জেএস ১৩ রিলিজ করে। এই বড় রিলিজটি বেটা সংস্করণে একটি নতুন রাউটিং প্যাটার্ন নিয়ে আসে, সাথে অ্যাপ রাউটার যুক্ত করা হয় যা লেআউট, রিয়্যাক্ট সার্ভার কম্পোনেন্টস, স্ট্রিমিং এবং ডেটা ফেচিং পদ্ধতির একটি নতুন সেট সমর্থন করে। এছাড়া, ভার্সেল ফ্রন্ট-এন্ড ডেভেলপমেন্টের জন্য টার্বো নামে একটি নতুন টুলচেইন ঘোষণা করে, যার মধ্যে ওয়েবপ্যাকের উত্তরসূরি হিসেবে টার্বোপ্যাক এবং ইনক্রিমেন্টাল বিল্ড সিস্টেমের জন্য টার্বোরেপো (Turborepo) অন্তর্ভুক্ত ছিল।

২০২৩ সালের মে মাসে ভার্সেল নেক্সট.জেএস ১৩.৪ প্রকাশ করে। এর সাথে অ্যাপ রাউটারের স্থিতিশীল সংস্করণ নিয়ে আসা হয়, যা ডেভেলপারদের প্রোডাকশনে এটি ব্যবহার করার অনুমতি দেয়।

২০২৩ সালের অক্টোবরে ভার্সেল নেক্সট.জেএস ১৪ প্রকাশ করে, যা এজ রানটাইম ব্যবহারের মাধ্যমে উন্নত মেমরি ব্যবস্থাপনা প্রদান করে।

২০২৪ সালের অক্টোবরে ভার্সেল নেক্সট.জেএস ১৫ রিলিজ করে। এতে রাস্ট-ভিত্তিক বান্ডলার টার্বোপ্যাক (যা ওয়েবপ্যাকের চেয়ে দ্রুত), রিয়্যাক্ট ১৯-এর সমর্থন এবং অ্যাসিনক্রোনাস রিকোয়েস্ট এপিআই প্রবর্তন করা হয়।

২০২৫ সালের অক্টোবরে ভার্সেল নেক্সট.জেএস ১৬ রিলিজ করে। ওপেন-সোর্সের দিক থেকে এর সবচেয়ে লক্ষণীয় বৈশিষ্ট্য হলো বিল্ড অ্যাডাপ্টার্স এপিআই, যা এমন হোস্টিং প্রোভাইডারদের সাথে সহজতর ইন্টিগ্রেশনের অনুমতি দেয় যাদের কাস্টম প্রয়োজনীয়তা রয়েছে, যদিও ভার্সেল ২০১৬ সাল থেকেই সেলফ-ডিপ্লয়মেন্ট সমর্থন করে আসছে।

## স্টাইলিং ও বৈশিষ্ট্য
নেক্সট.জেএস সিএসএস-এর পাশাপাশি প্রিকম্পাইল করা সাস ও সাস, সিএসএস-ইন-জেএস এবং জেএসএক্স-এর মাধ্যমে স্টাইলিং সমর্থন করে। এর পাশাপাশি, এটি টাইপস্ক্রিপ্ট সমর্থন এবং স্মার্ট বান্ডলিং সুবিধা দিয়ে তৈরি করা হয়েছে। ব্রাউজারে ব্যবহারযোগ্য জাভাস্ক্রিপ্টে কোড রূপান্তর এবং কম্পাইল করার জন্য এতে ওপেন-সোর্স ট্রান্সপাইলার SWC ব্যবহার করা হয়। পরবর্তীতে মডিউলগুলো বান্ডেল করার জন্য আরেকটি ওপেন-সোর্স টুল Webpack ব্যবহৃত হয়, তবে বর্তমানে এর পরিবর্তে টার্বোপ্যাক (TurboPack) ব্যবহারের প্রক্রিয়া চলমান। এই সমস্ত টুল টার্মিনালে npm-এর সাথে ব্যবহার করা হয়।

নেক্সট.জেএস-এর প্রধান বৈশিষ্ট্য হলো এর সার্ভার-সাইড রেন্ডারিং (SSR) ব্যবহার, যা ওয়েব ব্রাউজারের ওপর চাপ কমায় এবং উন্নত নিরাপত্তা প্রদান করে। এটি অ্যাপ্লিকেশনের যেকোনো নির্দিষ্ট অংশ বা সম্পূর্ণ সিস্টেমের জন্য করা যেতে পারে, যার ফলে প্রচুর কন্টেন্টযুক্ত পৃষ্ঠাগুলোকে সার্ভার-সাইড রেন্ডারিংয়ের জন্য আলাদা করা সম্ভব হয়। সাইটের কোনো অ্যাসেট ডাউনলোড করেনি এমন ব্রাউজারগুলোর চাপ কমাতে শুধুমাত্র প্রথমবারের ভিজিটরদের জন্যও এটি করা যেতে পারে। এর "হট রিলোডিং" বৈশিষ্ট্যটি যেকোনো পরিবর্তনের সাথে সাথে তা শনাক্ত করে এবং সংশ্লিষ্ট পেজগুলো পুনরায় রেন্ডার করে, যার ফলে সার্ভার রিস্টার্ট করার প্রয়োজন হয় না। এর ফলে অ্যাপ্লিকেশন কোডে করা পরিবর্তনগুলো তাৎক্ষণিকভাবে ওয়েব ব্রাউজারে দেখা যায়, তবে কিছু ব্রাউজারের ক্ষেত্রে পৃষ্ঠাটি রিফ্রেশ করার প্রয়োজন হতে পারে। ডেভেলপারদের সুবিধার জন্য সফটওয়্যারটি পেজ-ভিত্তিক রাউটিং ব্যবহার করে এবং এতে ডাইনামিক রাউটিংয়ের সমর্থনও রয়েছে। অন্যান্য বৈশিষ্ট্যের মধ্যে রয়েছে হট-মডিউল রিপ্লেসমেন্ট (যাতে মডিউলগুলো লাইভ পরিবর্তন করা যায়), স্বয়ংক্রিয় কোড স্প্লিটিং (যা শুধুমাত্র পৃষ্ঠা লোড করার জন্য প্রয়োজনীয় কোডগুলো অন্তর্ভুক্ত করে) এবং লোডিংয়ের সময় কমানোর জন্য পেজ প্রিফেচিং সুবিধা।

নেক্সট.জেএস ইনক্রিমেন্টাল স্ট্যাটিক রিজেনারেশন এবং স্ট্যাটিক সাইট জেনারেশনও (SSG) সমর্থন করে - যেখানে সাধারণত বিল্ড করার সময় ওয়েবসাইটের একটি কম্পাইল করা সংস্করণ তৈরি হয় এবং তা একটি `.next` ফোল্ডার হিসেবে সংরক্ষিত হয়। যখন কোনো ব্যবহারকারী রিকোয়েস্ট পাঠান, তখন এই আগে থেকে তৈরি করা স্ট্যাটিক এইচটিএমএল পেজগুলো ক্যাশ করে তাদের কাছে পাঠানো হয়। এটি পেজ লোডের সময়কে অত্যন্ত দ্রুত করে, তবে এটি সব ওয়েবসাইটের জন্য উপযুক্ত নয়, বিশেষ করে এমন ইন্টারঅ্যাকটিভ সাইটগুলোর জন্য যা ঘনঘন পরিবর্তিত হয় এবং প্রচুর ব্যবহারকারীর ইনপুট গ্রহণ করে।

## আরও দেখুন

* জাভাস্ক্রিপ্ট লাইব্রেরি
* ভার্সেল
* নাক্সট.জেএস

## তথ্যসূত্র

## বহিঃসংযোগ
* 

বিষয়শ্রেণী:জাভাস্ক্রিপ্ট ওয়েব ফ্রেমওয়ার্ক
বিষয়শ্রেণী:এমআইটি লাইসেন্স ব্যবহারকারী সফটওয়্যার
বিষয়শ্রেণী:উন্মুক্ত স্ট্যাটিক ওয়েবসাইট জেনারেটর

বিষয়শ্রেণী:জাভাস্ক্রিপ্ট
বিষয়শ্রেণী:জাভাস্ক্রিপ্ট লাইব্রেরি