Next.js هو عبارة عن إطار عمل جافا سكريبت حديث نسبيًا ولكنه قوي، والذي أحدث ثورة في مشهد تطوير الويب الحديث. يعمل Next.js على تقوية React من خلال العرض من جانب الخادم، وإنشاء موقع ثابت، وتحسين محركات البحث.
يحب المطورون تعدد استخداماته، والأرقام تتحدث عن نفسها. في استطلاع حديث، قال 60% من المطورين إنهم يفضلون Next.js لإنشاء تطبيقات جاهزة للإنتاج نظرًا لسهولة نشره وقابلية التوسع. عند مقارنة أوقات النشر، يتفوق Next.js باستمرار على React من حيث السرعة والكفاءة، مما يجعله خيارًا مفضلاً للمطورين الذين يهدفون إلى عملية بناء سلسة.
تركز دراسة الحالة هذه على مستودع OpenSource Next.js، مع تسليط الضوء بشكل خاص على تكرار نشره الاستثنائي.
باعتبارنا مطورين تلاعبوا بـ Next.js لإنشاء مواقع تجارة إلكترونية ديناميكية ومدونات سريعة الإطلاق، لا يسعنا إلا أن نتساءل --- كيف قاموا بإنشاء وإدارة مثل هذا الريبو الأسطوري بهذه الكفاءة؟ لذلك، تعمقنا أكثر في استخدام البرامج الوسيطة مفتوحة المصدر.
إذا كنت متحمسًا لاستكشاف هذه الأفكار بشكل أكبر والتواصل مع زملائك القادة الهندسيين، انضم إلينا في مجتمع Middle Out أو اشترك في نشرتنا الإخبارية للحصول على عروض حصرية دراسات حالة وأكثر!
ولكن، الأشياء الأولى أولاً. دعونا نفهم ما هي مقاييس دورا.
تعد مقاييس دورا مؤشرات رئيسية توضح مدى كفاءة تقدم المشروع من البداية إلى الإنتاج النهائي في تسليم البرامج. لا تتردد في قراءة مدونتنا التفصيلية حول Dora Metrics وكيف يمكن أن تساعدك في العمليات الهندسية الخاصة بك!
تكرار النشر: عدد المرات التي يصل فيها الكود إلى مرحلة الإنتاج.
المهلة الزمنية للتغييرات: المدة التي يستغرقها تنفيذ الالتزام.
متوسط وقت الاستعادة (MTTR): الوقت المستغرق للتعافي من الفشل.
معدل فشل التغيير: كم عدد عمليات النشر التي تؤدي إلى كسر شيء ما.
الآن بعد أن أصبحنا جميعًا على نفس الصفحة، فلنرى كيف يقيس Next.js.
يتميز مستودع OpenSource Next.js بتكرار النشر الاستثنائي الذي يفوق معايير الصناعة بكثير. على مدار الأشهر الثلاثة الماضية، ساهمت عمليات إعادة الشراء باستمرار في زيادة حجم عمليات النشر، مما يعكس كفاءة الفريق وبراعة الأتمتة.
في يونيو 2024، كانت هناك 247 عملية نشر، تليها 261 في يوليو، و279 في أغسطس. تسلط هذه الأرقام الضوء على التزام المستودع بالتكامل المستمر وإصدارات الميزات السريعة، مما يجعله معيارًا لتكرار النشر في مجتمع المصادر المفتوحة.
يعادل ذلك عملية نشر واحدة تقريبًا كل 3 ساعات! هذا النشر عالي التردد ليس للعرض فقط؛ فهو يحافظ على تطور المشروع بسرعة لا تصدق. كيف يفعلون ذلك؟ هناك عاملان رئيسيان يبرزان:
خط أنابيب CI/CD الآلي: مع التشغيل الآلي، تكون عمليات النشر سريعة وسلسة --- تقريبًا مثل السحر.
العلاقات العامة الصغيرة والمتكررة: من خلال تقسيم التغييرات إلى طلبات سحب صغيرة الحجم، يمكنها الدمج والنشر بشكل أسرع وبمخاطر أقل.
حل سريع للمشكلات: يتم سحق الأخطاء بسرعة، ونادرًا ما تكون عمليات النشر الفاشلة.
على الرغم من تكرار النشر العالي، يُظهر المستودع تقلبات ملحوظة في مدة الدورة، مما يؤثر على المهلة الإجمالية للتغييرات. يشمل وقت الدورة جميع العلاقات العامة، في حين يتضمن المهلة الزمنية فقط العلاقات العامة التي لديها بيانات النشر المتاحة. في يونيو 2024، كان متوسط مدة الدورة حوالي 3.5 يومًا، وزاد قليلاً إلى 3.6 يومًا في يوليو، ثم ارتفع إلى 5.3 يومًا بحلول أغسطس.
لقد زاد وقت الدورة من 3.5 إلى 5.3 يومًا، مما يشير إلى بعض التأخير في عملية التطوير. يمكن أن يساعد تحديد الاختناقات، سواء في مراجعات التعليمات البرمجية أو الاختبار أو المهام اليدوية، وتنفيذ الاختبار الآلي أو التخطيط المحسن لسباق السرعة في تقليل ذلك.
في يونيو 2024، كان متوسط وقت الاستجابة الأولى 1.6 يومًا (38.4 ساعة)، مما يشير إلى معالجة سريعة وفعالة للمشكلات وطلبات السحب في مستودع Next.js. بحلول يوليو 2024، زادت هذه المرة قليلاً إلى 1.8 يومًا (43.2 ساعة)، مما يشير إلى تأخير بسيط، ربما بسبب العدد المتزايد من المشكلات أو انخفاض توفر الفريق.
ومع ذلك، في أغسطس 2024، كانت هناك قفزة كبيرة إلى 2.6 يومًا (62.4 ساعة)، مما يشير إلى تأخيرات ملحوظة، ربما بسبب زيادة أعباء العمل، أو الاختناقات في مهام المراجعين، أو انخفاض عدد أعضاء الفريق بسبب الإجازات.
لتحسين وقت الاستجابة الأولى، يمكن تنفيذ عدة إستراتيجيات لمعالجة الزيادة الأخيرة في حالات التأخير. يمكن أن يؤدي تشغيل الإشعارات التلقائية للمشكلات وطلبات السحب إلى ضمان تعيين المراجعين بشكل أسرع، مما يقلل أوقات الانتظار.
يمكن أن يؤدي تقديم اتفاقيات مستوى الخدمة (اتفاقيات مستوى الخدمة) لأوقات الاستجابة إلى إنشاء المساءلة وتشجيع المشاركة بشكل أسرع. علاوة على ذلك، فإن مراجعة تخصيص الفريق وتوزيع عبء العمل يمكن أن تساعد في تحقيق التوازن بين المسؤوليات، خاصة خلال فترات الطلب المرتفع أو انخفاض توفر الفريق، مثل الإجازات.
يمكن أن يؤدي تشجيع التعاون بين الوظائف أيضًا إلى تمكين استجابات أسرع من خلال توزيع العبء على الفريق بشكل أكثر توازناً. يمكن لهذه التغييرات أن تؤدي بشكل فعال إلى خفض أوقات الاستجابة والحفاظ على الكفاءة.
من يونيو إلى أغسطس 2024، زادت المهلة الزمنية للتغييرات في مستودع Next.js تدريجيًا من 3.3 يومًا إلى 4.1 يومًا. وفي يونيو/حزيران، عكس التحول السريع نسبيًا الذي استغرق 3.3 أيام سير عمل فعالًا وتنسيقًا سلسًا. بحلول شهر يوليو، زاد هذا قليلاً إلى 3.6 يومًا، مما يشير إلى أوجه قصور طفيفة، ربما بسبب مراجعات التعليمات البرمجية الأطول أو المهام الأكثر تعقيدًا.
ومع ذلك، بحلول أغسطس، وصلت المهلة الزمنية إلى 4.1 يومًا، مما يشير إلى حدوث تأخيرات أكبر على الأرجح بسبب أعباء العمل المرتفعة، أو الاختناقات في المراجعات، أو انخفاض قدرة الفريق بسبب الإجازات. يشير هذا الاتجاه إلى الحاجة إلى تحسين العمليات ومنع المزيد من التباطؤ.
الأسباب؟
أوقات المراجعة الممتدة. على سبيل المثال، PR #67498
المهام المعقدة التي تنطوي على التدقيق والاختبار العميق. العلاقات العامة #67391
تتسبب التقلبات في أوقات الاستجابة الأولى (من 1.6 يومًا إلى 2.6 يومًا) في أوقات بدء غير متساوية للمراجعات، مما يؤدي إلى تأخير التقدم.
يتضمن مستودع OpenSource Next.js مجموعة متنوعة من الأنشطة، بدءًا من ترقيات الميزات وسحق الأخطاء إلى تحسين التوثيق واختبارات التحسين. فيما يلي تحليل لبعض الأفكار الرئيسية:
الميزات والتحسينات: الإصلاحات الشاملة بما في ذلك تحسينات الأداء (PR #67397)، والوظائف الجديدة (PR #67215).
التوثيق: المساهمات الكبيرة في التوثيق تضمن الوضوح وسهولة الاعتماد (PR #67056).
إصلاحات الأخطاء: معالجة إصلاحات الأخطاء الحرجة، والتي تم تمييزها بـ 41.5 ساعة (~ 1.7 يوم) من وقت إعادة العمل (PR #67022).
تحسينات الأداء: تعزيز سرعة وكفاءة إطار العمل (PR #67065).
تضع هذه التحديثات Next.js كشركة رائدة في تطوير الويب. ومع ذلك، فإن العديد من المجالات التي تحتاج إلى تحسين --- وقت الدورة، والاستجابة الأولى، والمهلة الزمنية --- يمكن أن تستفيد من زيادة الأتمتة في الاختبار، ومراجعات التعليمات البرمجية، والإشعارات.
لمزيد من التحسين، يمكنهم تتبع الاختناقات في مساراتهم، سواء حدثت هذه الاختناقات أثناء مراجعة التعليمات البرمجية أو الاختبار أو النشر، واستهداف تلك المناطق لتعزيز الأداء العام. كما أن تعزيز ردود الفعل المستمرة من خلال المواقف المتكررة أو الأحداث الماضية يمكن أن يساعد في تحديد نقاط الاحتكاك وحلها. ومن خلال التركيز على هذه الاستراتيجيات، يمكنك إنشاء مسار تطوير ونشر أكثر كفاءة وانسيابية.
بالنسبة للمساهمين الداخليين، تعد دورة النشر السريع بمثابة حلم. يتم طرح الميزات والإصلاحات بسرعة، مما يعني أن الفريق يحصل على التعليقات في الوقت الفعلي تقريبًا. ومع ذلك، قد تجعل المهلة الزمنية الطويلة بعض المساهمين يشعرون وكأنهم عالقون في قائمة انتظار طويلة، في انتظار نشر عملهم.
بالنسبة إلى المساهمين الخارجيين، فإن فهم هذه الاختناقات يمكن أن يحدد توقعات أكثر وضوحًا. إذا كنت تساهم في Next.js، فلا تتفاجأ إذا استغرقت العلاقات العامة الخاصة بك بعض الوقت للدمج، على الرغم من أن عمليات النشر تحدث بشكل متكرر.
الاستثمار في الأتمتة: يمكن لخط أنابيب CI/CD القوي أن يحافظ على تدفق عمليات النشر مثل الماء.
تشجيع العلاقات العامة الصغيرة والمتكررة: التعقيد الأقل يعني إجراء مراجعات أسرع وعمليات نشر أسرع.
معالجة الاختناقات في وقت الدورة: إذا كانت المهلة الزمنية متأخرة، فابحث في أسباب التأخير --- سواء كانت أوقات إعادة العمل أو المراجعة.
يتمتع Next.js بتكرار نشر مثير للإعجاب ومتزايد، ولكن المهلة الزمنية ومدة الدورة وأوقات الاستجابة الأولى قد تتطلب بعض الاهتمام. ومن خلال بعض التعديلات الإستراتيجية، لديهم القدرة على أن يصبحوا منافسين أقوياء ضد أصحاب الأداء الأفضل في تقرير Dora السنوي من Google،
لقد وضع Next.js معيارًا جديدًا في كفاءة النشر، مما يجعله المعيار الذي يستحق المشاهدة في عالم مفتوح المصدر. بفضل مزيجها الذي لا يهزم من السرعة والجودة والابتكار المستمر، فإنها لا تترك مجالًا كبيرًا للمنافسين للحاق بالركب. سواء كنت مساهمًا نشطًا أو متفرجًا فضوليًا، هناك الكثير مما يستحق الإعجاب --- والتعلم --- من هذا الريبو الرائد.
مع استمرار Next.js في التطور، فهو لا يقتصر على مواكبة متطلبات الويب فحسب؛ إنها تشكلهم. استعد لمزيد من التحديثات الرائدة لأنه يعيد تعريف التميز مفتوح المصدر!
إذا كنت متحمسًا لاستكشاف هذه الأفكار بشكل أكبر والتواصل مع زملائك القادة الهندسيين، انضم إلينا في مجتمع Middle Out. واشترك في النشرة الإخبارية لدراسات الحالة الحصرية والمزيد!
تم إنشاء Next.js بواسطة Vercel (Zeit سابقًا) في عام 2016 وسرعان ما اكتسب شعبية بسبب ميزاته القوية لإنشاء تطبيقات React المقدمة من جانب الخادم. وهو يدعم كلاً من إنشاء الموقع الثابت (SSG) والعرض من جانب الخادم (SSR)، مما يجعله خيارًا مرنًا للمطورين. تستخدم الشركات الكبرى مثل Netflix وTwitch وGitHub Next.js لتشغيل تطبيقات الويب الخاصة بها، وإظهار موثوقيتها وقابلية التوسع.
البرامج الوسيطة ومقاييس الدورة
أدلة التكامل المستمر
منهجية مقاييس الدورة
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3