برمجياتقراءة دقيقتين

مطور يزيل Next.js من مدونته فينخفض الـ JavaScript غير المستخدم من 230,460 بايت إلى 407

نشر مطور في 26 أكتوبر 2026 تجربته في إزالة Next.js من مدونته الشخصية. وبعد الانتقال، انخفض حجم الـ JavaScript غير المستخدم من 230,460 بايت إلى 407 بايت، وانخفضت أول مهمة طويلة قبل رسم الصفحة من 309.3 إلى 68.01 ملي ثانية، وسجّل Lighthouse الدرجة 100 في كل التصنيفات.

وكان يظن في البداية أن المشكلة في الـ hydration، أي إعادة ربط الصفحة بالـ JavaScript في المتصفح بعد وصول الـ HTML. لكنه وجد السبب في طبقة أسفل منها: الـ App Router يرسل runtime إلى المتصفح حتى في الصفحة الساكنة بالكامل.

ويوضح أن عنصري next/link وnext/image كلاهما client components، فبمجرد استخدام أحدهما تنتقل معه أجزاء الـ runtime والـ hydration وحمولة الـ RSC. وحتى بعد إزالتهما، بقي الـ router وحدود الأخطاء، ولا توجد طريقة رسمية لإزالتهما.

واستبدل بالإطار إطار Hono مع JSX، فصار البناء ينتج صفر JavaScript، وانخفض وقت البناء نحو 40%. ولا تذكر المقالة درجات Lighthouse التفصيلية لنسخة Next.js السابقة، فالمقارنة الموثقة تقتصر على أرقام الـ JavaScript والمهمة الطويلة ووقت البناء.

وللحالة حدود واضحة: هي مدونة بلا حالة مستخدم ولا لوحة تحكم. وفي التطبيقات التي فيها تفاعل حقيقي، يقدم هذا الـ runtime شيئًا مطلوبًا فعلًا. أما صفحات الهبوط والمدونات ومواقع الشركات المبنية على Next.js، فيصبح الـ runtime فيها حملًا على كل صفحة، يدفعه أولًا القارئ على شبكة 3G.

المصادر

  1. مقالة المطور
  2. إطار Hono
  3. توثيق Lighthouse
  4. تقرير Unused JavaScript في Lighthouse
  5. توثيق Next.js عن client components

من عدد الاثنين 15 جمادى الأولى - 26 أكتوبر

أخبار ذات صلة

أخبار الاثنين 15 جمادى الأولى - 26 أكتوبر