Layouts وTemplates وMetadata الأساسية
Layouts وTemplates وMetadata الأساسية
[المستوى المعماري (Architecture & Security)] شرح تفصيلي من الصفر إلى الاحتراف لدرس «Layouts وTemplates وMetadata الأساسية» ضمن وحدة «الأساس ومعمارية App Router واتفاقيات الملفات» في دورة Next.js 16.3 — من الأساس إلى الإنتاج، مصمم بأسلوب Google Notebook مع ملخص صوتي حواري، وخريطة ذهنية بصرية، وشيفرة برمجية مشروحة، وبطاقات استذكار تفاعلية.
🎧 1. الملخص الصوتي والحوار الهندسي المعمّق (Notebook Audio Overview)
🧠 2. الخريطة الذهنية والمخطط المعماري للدرس (Mind Map & Visual Flowchart)
عرض مخطط تدفق العمليات التفصيلي (Mermaid Flowchart)
flowchart TB
subgraph S1["1. التأسيس (الأساس ومعمارية App Router واتفاقيات الملفات)"]
A["فهم المتطلب: Layouts وTemplates وMetadata الأساسية"] --> B["تعريف العقد والأنواع في Next.js 16.3"]
end
subgraph S2["2. التنفيذ والتحقق (المستوى المعماري (Architecture & Security))"]
B --> C["كتابة الشيفرة المعزولة"]
C --> D{"فحص المدخلات والحالات الحدية"}
D -- "بيانات صالحة" --> E["تنفيذ المنطق الأساسي"]
D -- "بيانات شاذة" --> F["إرجاع خطأ مهيكل وآمن"]
end
subgraph S3["3. الإنتاج (بوابة SaaS متعددة المستأجرين ب...)"]
E --> G["تسجيل الأثر (Audit/Logs) والدمج في المشروع"]
end
💻 4. المختبر البرمجي المشروح بالاستشهادات (Next.js 16.3 Code Walkthrough)
// [1] المرحلة (المستوى المعماري (Architecture & Security)) — الوحدة 1: الأساس ومعمارية App Router واتفاقيات الملفات
// [2] الهدف التنفيذي: Layouts وTemplates وMetadata الأساسية داخل مشروع (بوابة SaaS متعددة المستأجرين بـ App Router وServer Actions وCache Components)
// Layouts وTemplates وMetadata الأساسية — دورة Next.js 16.3 — من الأساس إلى الإنتاج
import React, { useState, useTransition } from 'react';
interface SubscriptionCardProps {
readonly tenantId: string;
readonly currentPlan: string;
readonly onUpgrade: (tenantId: string, targetPlan: string) => Promise<void>;
}
export function SubscriptionCard({
tenantId,
currentPlan,
onUpgrade,
}: SubscriptionCardProps) {
const [error, setError] = useState<string | null>(null);
const [isPending, startTransition] = useTransition();
const handleUpgrade = () => {
setError(null);
startTransition(async () => {
try {
await onUpgrade(tenantId, 'enterprise');
} catch (err) {
setError(err instanceof Error ? err.message : 'حدث خطأ غير متوقع أثناء الترقية');
}
});
};
return (
<section dir="rtl" aria-busy={isPending} className="rounded-xl border border-slate-800 bg-slate-900 p-6">
<h2 className="text-lg font-bold text-white">الباقة الحالية: {currentPlan}</h2>
{error && (
<p role="alert" className="mt-2 text-sm text-rose-400">{error}</p>
)}
<button
type="button"
disabled={isPending}
onClick={handleUpgrade}
className="mt-4 rounded-lg bg-cyan-600 px-4 py-2 font-medium text-white disabled:opacity-50"
>
{isPending ? 'جاري تنفيذ الترقية...' : 'ترقية إلى باقة المؤسسات'}
</button>
</section>
);
}
// [3] التحقق النهائي: ضمان سلامة المخرجات وعدم تسرب الأخطاء في بيئة الإنتاج
الأساس ومعمارية App Router واتفاقيات الملفات) ونفصل الاعتماديات لضمان قابلية إعادة الاستخدام.
📋 5. جدول المقارنة والمفاضلات الهندسية (Production Data Table)
| المعيار الهندسي | الممارسة الهشة (تجنّبها) | الممارسة الاحترافية المعتمدة | الأثر في بيئة الإنتاج |
|---|---|---|---|
| العقد والتحقق | تمرير البيانات الخام دون فحص | فحص الأنواع والقيود عند حدود الدالة | منع الأعطال الصامتة وفساد البيانات |
| فصل المسؤوليات | خلط العرض مع قواعد العمل والتخزين | عزل كل مسؤولية في وحدة قابلة للاختبار | سهولة التطوير المستقبلي وكتابة الاختبارات |
| معالجة الفشل | إخفاء الخطأ أو كشف تفاصيل حساسة | إرجاع خطأ قياسي آمن مع تسجيل السبب | أمان أعلى وتشخيص أسرع في الإنتاج |
🃏 6. بطاقات الاستذكار التفاعلية (Notebook Flashcards — انقر لإظهار الإجابة)
بطاقة 1: ما هو الدور المعماري لدرس «Layouts وTemplates وMetadata الأساسية» داخل وحدة «الأساس ومعمارية App Router واتفاقيات الملفات»؟
تحقيق تحسين الكفاءة وتقليل استهلاك الموارد وتحصين الكود ضد الثغرات الشائعة بأسلوب منضبط يضمن سلامة البيانات وقابلية الصيانة داخل مشروع بوابة SaaS متعددة المستأجرين بـ App Router وServer Actions وCache Components.
بطاقة 2: لماذا نرفض الاعتماد على القيم الضمنية غير المتحقق منها في بيئة الإنتاج؟
لأن المدخلات غير المتوقعة في الإنتاج تؤدي إلى أخطاء متسلسلة أو ثغرات أمنية، والتحقق المبكر (Fail-Fast) يوقف الخطأ عند مصدره.
بطاقة 3: ما هو معيار اجتياز هذا الدرس والانتقال إلى الدرس التالي؟
تنفيذ المثال البرمجي بنفسك، واختبار حالة صحيحة وحالة خاطئة، والتأكد من فهم سبب كل سطر دون نسخ أعمى.
🛠️ 7. التمرين العملي وقائمة التحقق الميداني (Hands-On Lab)
- التنفيذ المباشر: طبّق شيفرة «Layouts وTemplates وMetadata الأساسية» داخل بيئة عملك المحلية في مشروع بوابة SaaS متعددة المستأجرين بـ App Router وServer Actions وCache Components.
- اختبار الحالات الحدية (Edge Cases): جرّب تمرير مدخلات فارغة أو غير متوقعة وتحقّق من استجابة الحماية في الخطوة
[2]. - التوثيق والالتزام: أضف تعليقاً توثيقياً يوضح العقد البرمجي واحفظ تقدمك قبل الانتقال إلى الدرس التالي.