معمارية التطبيقات
التطوير على App Router في Next.js
معمارية App Router للفرق التي لديها مهندسوها - حدّ الخادم والعميل، ونموذج التخزين المؤقّت، وتنظيم المسارات، محسومةً عن قصد، ومهندسوك في طلبات الدمج.
هذا هو النصّ إن كان لديك مهندسون ولم تكن المشكلة في الطاقة. أنت تبني على App Router، والفريق قادر، وقرارات المعمارية يتّخذها من لمس الملف آخر مرّة.
وإن كان ما تريده منتجًا يُبنى من طرفه إلى طرفه، فذلك تطوير التطبيقات وهو ارتباط آخر - هناك نحمل نحن التسليم. أما هنا فتحمله أنت، ونتكفّل نحن بأن يكون النموذج تحته صحيحًا بينما يبني فريقك فوقه.
القرارات الأربعة المكلفة لاحقًا
أين يقع حدّ العميل. تنزلق use client نحو الجذر، بقرارٍ معقول تلو الآخر -
قائمة منسدلة تحتاج حالة، فتأخذ الترويسة التوجيه، وبعد ثمانية عشر شهرًا يصير
التخطيط مكوّن عميل ويرسل كل مسار الشجرة كاملة. نضع الحدّ عن قصد ونجعله قاعدة
مراجعة، وهو أثمن من أي محلّل حزم لأنه يلتقط الانزلاق عند نشأته.
أي ذاكرة تحمل ماذا. هي أربع، بأربعة أعمار، و«غيّرنا البيانات ولم تتحدّث الصفحة» خلطٌ بينها في الغالب لا خلل. وعُرف تسمية للوسوم يلتزم به فريقك فعلًا هو المُخرَج هنا.
ما الذي يُسمَح له بجعل المسار ديناميكيًا. استدعاء cookies() واحد في مكوّن
مشترك يجعل كل مسار تحته ديناميكيًا ويكلّفك شبكة التوزيع. ومعرفة أي القراءات
تفعل ذلك وإبقاؤها خلف حدّ هي الفرق بين موقع يقدّم من الحافة وآخر يعرض لكل زائر.
كيف تُنظَّم المسارات. مجموعات المسارات والمسارات المتوازية والمعترِضة تحلّ مشكلات حقيقية، وهي أيضًا أسهل طريق لبناء شيء لا يعرف أحد التنقّل فيه. نستعملها حيث تستحقّ.
كيف يجري العمل
لا عرض شرائح. نعمل في مستودعك مدّةً محدّدة - من أربعة إلى ثمانية أسابيع عادةً - والعمل طلبات دمج يراجعها مهندسوك، إضافةً إلى الأعراف مكتوبةً حيث تكون الشيفرة.
الشكل المعتاد:
- قراءة لما هو قائم. نمط العرض لكل مسار، والحدّ، والذواكر المستعملة، وحجم First Load JS لكل مسار. أسبوعان، وهي الوثيقة نفسها التي يُنتجها التدقيق.
- القرارات، متّخذةً ومكتوبة. قاعدة الحدّ، وعُرف الوسوم، وبنية المسارات، وما يُسمَح له أن يكون ديناميكيًا.
- مطبَّقةً على المسارات المهمّة، وفريقك في المراجعات. لا على كلّها - بل على ما يكفي ليصير النمط لا لبس فيه ويستطيعوا إكماله.
- ميزانية أداء في التكامل المستمر، كي تبقى القرارات بعد انتهاء الارتباط.
لماذا هذه خدمة مستقلّة
لأن البديل فريق يتعلّم نموذج العرض عبر أعطال الإنتاج، وهي أغلى طرق تعلّمه وأكثرها شيوعًا.
معظم ما يسوء في تطبيقات App Router ليس صعوبة. بل أن الإعدادات الافتراضية جيّدة بما يكفي للإطلاق بها، فلا يقرّر أحد، وتُتَّخذ القرارات بالمصادفة. والشرح الكامل للنموذج علنيّ - نموذج العرض في App Router، مشروحًا كما ينبغي
- وهذا هو، مطبَّقًا على شيفرتك ومع مهندسيك.
