العودة إلى جميع المقالات
هندسة الويب7 دقائق قراءة٢٠ يناير ٢٠٢٦

هندسة الأداء الفائق في Next.js: كيف تضمن علامة 100 في Core Web Vitals

استراتيجيات تحسين وقت الإتاحة التفاعلية (INP)، تقليص حمولة الجافاسكريبت، وتحميل الموارد غير المعيق عبر Server Components.

Next.js 15React 19Web VitalsPerformanceTurbopackPWA

أهم النقاط التي يغطيها المقال

  • مؤشر INP (Interaction to Next Paint) يتأثر مباشرة بحجم كود الجافاسكريبت المنفذ على الخيط الرئيسي (Main Thread).
  • مكونات الخادم (RSC) هي أفضل سلاح لتقليص حزمة العميل (Client Bundle) إلى الصفر.
  • تأخير تحميل السكربتات التحليلية والخدمية بعد التفاعل الأولي يوفر الثواني الحرجة لتجربة المستخدم.

1. الانتقال من FID إلى INP: لماذا اختلف معيار الأداء؟

مع اعتماد Google لمؤشر INP رسمياً، لم يعد يكفي قياس أول تفاعل فقط. يقيس INP استجابة الصفحة لكل نقرة أو تفاعل طوال مدة زيارة المستخدم. إذا كان الخيط الرئيسي مشغولاً بـ Hydration ثقيل أو معالجة حالات زائدة، سينهار تقييم الموقع فوراً.

2. استراتيجية السكربتات المتقدمة وإدارة الـ Service Worker

استخدام استراتيجية afterInteractive مع next/script، وتسجيل Service Worker فقط بعد حدث load، يمنح المتصفح أولوية تامة لرسم العناصر التفاعلية الأساسية دون منافسة على الموارد.

تسجيل الـ Service Worker بعد اكتمال التحميل لضمان سرعة LCP القصوىtsx
// Zero-impact Service Worker registration
useEffect(() => {
  if (typeof window !== 'undefined' && 'serviceWorker' in navigator) {
    const registerWorker = () => {
      navigator.serviceWorker.register('/sw.js', { scope: '/' });
    };
    
    if (document.readyState === 'complete') {
      registerWorker();
    } else {
      window.addEventListener('load', registerWorker, { once: true });
    }
  }
}, []);
Abdulhakim Kanbr
مهندس برمجيات ومطور ويب

عبد الحكيم قنبر

مهندس برمجيات ومطور ويب بخبرة تتجاوز 8 سنوات في بناء المواقع والأنظمة المخصصة ومنتجات SaaS. أشارك هنا خلاصة ما أتعلمه من العمل والمشاريع الواقعية.

تعرف على عبد الحكيم وطريقة العمل