نکست و اپ روتر: چرا سرور کامپوننت‌ها نحوه‌ی ساخت وب‌سایت را تغییر دادند

اپ روتر و سرور کامپوننت‌ها فقط APIهای جدید نیستند؛ محل اجرای کد را تغییر می‌دهند. در این مقاله می‌بینید چطور حجم باندل کم، بازیابی داده ساده‌تر و صفحه‌ها سریع‌تر شدند.

socials-vertical icons
نکست و اپ روتر: چرا سرور کامپوننت‌ها نحوه‌ی ساخت وب‌سایت را تغییر دادند post featured image

اپ روتر در نکست

چه چیزی واقعاً تغییر کرد

جابه‌جایی از روتر پیج‌ها به اپ روتر بزرگ‌ترین تغییر نکست از زمان انتشارش است. لِی‌آوت‌ها قابل اشتراک شدند، حالت‌های بارگذاری تودرتو به امری عادی تبدیل شدند و سرور کامپوننت‌ها بیشتر کار رندرینگ را از کلاینت برداشتند.

حلقه‌ی اول: کد شما کجا اجرا می‌شود؟

  • کامپوننت‌ها پیش‌فرض کامپوننت سرور هستند و فقط HTML ارسال می‌کنند.
  • باندل جاواسکریپت دیگر کدی را که لازم نیست در مرورگر اجرا شود حمل نمی‌کند.
  • «use client» حالا انتخابِ صریح است، نه رفتار پیش‌فرض.

بازیابی داده‌ی ساده‌تر

در روتر پیج‌ها برای هر صفحه باید `getServerSideProps` یا `getStaticProps` جدا می‌نوشتیم. در اپ روتر مستقیم داخل کامپوننت داده می‌گیریم و خود نکست درخواست‌ها را یکتا می‌کند و کش می‌کند. همین یک دسته از باگ‌های سال‌ها‌نرم‌افزار را حذف کرد.

نتیجه‌ی قابل اندازه‌گیری

ملموس‌ترین دستاورد کاهش حجم باندل بود. صفحه‌ی اصلی همین وب‌سایت حدود ۱۸۰ کیلوبایت جاواسکریپت کمتر تحویل می‌دهد و بزرگ‌ترین محتوای نقاشی‌شده از ۲٫۴ ثانیه به حدود ۱٫۱ ثانیه در موبایل محدودشده رسید.

چه زمانی از کامپوننت کلاینت نگه داریم؟

  • فرم‌های تعاملی با به‌روزرسانی خوش‌بینانه.
  • کامپوننت‌هایی که به رویدادهای مرورگر مثل اسکرول گوش می‌دهند.
  • هر چیزی که از Context برای وضعیتی که مدام تغییر می‌کند استفاده می‌کند.

سرور-اول پیش‌فرض عالی‌ای است، اما «use client» در مرزِ درست همچنان انتخابِ صحیح است. مهارت این است که این مرز را کجا بگذاری.

جمع‌بندی

به مرز سرور و کلاینت به چشم یک تصمیم عملکردی نگاه کن، نه یک مد. رندر روی سرور به‌عنوان پیش‌فرض و ارسال فقط آنچه واقعاً به مرورگر نیاز دارد، الگویی است که با محصول هم رشد می‌کند.

socials-vertical icons

205

socials-vertical icons

3100

you might also like...

Next.js App Router: Why Server Components Changed How I Build Websites post featured imageNext.js App Router: Why Server Components Changed How I Build Websites

The App Router and React Server Components are not just new APIs; they change where your code runs. Here is how they cut bundle size, simplified data fetching, and made my pages measurably faster.

parsaaghayi's blog logoparsaaghayi's blog logo

© 2024

All Rights Reserved , Inc.

parsa aghayi
نکست و اپ روتر: چرا سرور کامپوننت‌ها نحوه‌ی ساخت وب‌سایت را تغییر دادند | Parsa Aghayi's Blog