Next.js এ দুটি routing সিস্টেম রয়েছে। Pages Router (pages/) হল মূল সিস্টেম; App Router (app/, Next 13 থেকে) হল নতুন, সুপারিশকৃত সিস্টেম যা React Server Components এর চারপাশে তৈরি।
Pages Router (pages/) App Router (app/)
──────────────────────────────────────────────────────
pages/about.tsx → /about app/about/page.tsx → /about
Default export = page page.tsx = page, layout.tsx = layout
getServerSideProps (SSR) async Server Components (fetch directly)
getStaticProps (SSG) fetch() with caching options
_app.tsx / _document.tsx Nested layout.tsx files
All components client-rendered Server Components by default
// App Router — a Server Component that fetches data directly, no extra API
// app/users/page.tsx
export default async function Users() {
const res = await fetch("https://api.example.com/users"); // runs on the SERVER
const users = await res.json();
return <ul>{users.map(u => <li key={u.id}>{u.name}</li>)}</ul>;
}
App Router এ, কম্পোনেন্টগুলি ডিফল্টভাবে Server Components — তারা সার্ভারে চলে, সরাসরি ডেটা await করতে পারে, এবং সেই কম্পোনেন্টের জন্য ব্রাউজারে শূন্য JS পাঠায়। Pages Router এর পরিবর্তে বিশেষ ফাংশন (getServerSideProps) ব্যবহার করেছিল যা ক্লায়েন্ট-রেন্ডার করা পৃষ্ঠাগুলিতে ডেটা পাস করতে।
layout.tsx)।loading.tsx / Suspense সহ।নতুন প্রকল্পের জন্য App Router ব্যবহার করুন — এটি যেখানে Next.js ডেভেলপমেন্ট ফোকাস করা হয়। Pages Router এখনও সমর্থিত (এবং দুটি একটি অ্যাপে সহাবস্থান করতে পারে) কিন্তু এটি মূলত রক্ষণাবেক্ষণ মোডে।
App Router Next.js এর বর্তমান আর্কিটেকচার প্রতিনিধিত্ব করে (Server Components, nested layouts, streaming)।
লিগ্যাসি Pages Router এর থেকে কীভাবে এটি আলাদা তা জানা — বিশেষত সার্ভার-ফার্স্ট ডিফল্ট এবং লেআউট মডেল — যেকোনো আধুনিক Next.js codebase এ কাজ করার জন্য অপরিহার্য।