الأدلة

ما هو Next.js؟ دليل بسيط لمُنشئي التطبيقات

Next.js إطار عمل لبناء مواقع وتطبيقات ويب باستخدام React. تمنحك React لبنات الواجهة، مثل الأزرار والنماذج والقوائم. ويضيف Next.js بقية الموقع حولها: الصفحات والروابط، وعرض الصفحات على الخادم لتصل جاهزة للقراءة، وتحميل البيانات، وتشغيل كود الخلفية في المشروع نفسه. وهو مفتوح المصدر، من تطوير شركة Vercel، وأحد أكثر الطرق استخدامًا لبناء مواقع React.

لماذا يهم Next.js عند البناء بالذكاء الاصطناعي

حين تصف تطبيقًا لمُنشئ بالذكاء الاصطناعي، يجب أن يختار أساسًا تقنيًا له. وهذا الاختيار يؤثر في أشياء تهمك لاحقًا:

  • الظهور في البحث. الموقع العام الذي يحتاج أن يظهر في نتائج Google يستفيد من إرسال HTML حقيقي، وهذا ما يجيده Next.js.
  • مكان الخلفية. يتيح Next.js أن تعيش صفحات الواجهة وكود الخادم (مثل «احفظ هذا النموذج» أو «استدعِ واجهة الدفع») في مشروع واحد.
  • الاستضافة. تطبيق Next.js مع ميزات خادمية يحتاج خادمًا يعمل عليه، بينما يمكن تقديم تطبيق Vite العادي كملفات ثابتة.

يبدأ Mythex المشاريع الجديدة افتراضيًا بـ Vite + React + TypeScript + Tailwind، ويستخدم Next.js حين تطلبه، فيكفي أن تكتب «استخدم Next.js» في طلبك الأول (كيف تُختار التقنية). لذا من المفيد أن تعرف متى يستحق طلبه.

تشبيه يومي

إذا كان React صندوقًا من قطع ليغو عالية الجودة، فإن Next.js طقم ليغو يحتوي التعليمات والقاعدة وقطع الأبواب والأنابيب جاهزة.

يمكنك بناء البيت نفسه من القطع المفردة، لكن عليك حينها أن تقرر بنفسك كيف تتصل الغرف، وأين الباب الأمامي، وكيف يصل الماء. يتخذ Next.js هذه القرارات عنك بطريقة قياسية، فيكون لكل مشروع Next.js تخطيط متشابه، ويستطيع مطور جديد (أو ذكاء اصطناعي) أن يجد طريقه بسرعة.

ما الذي يضيفه Next.js إلى React

الميزةماذا تعني لك
التوجيه القائم على الملفاتكل صفحة ملف. الملف app/pricing/page.tsx يصبح صفحة /pricing. دون أي إعداد إضافي.
العرض على الخادميمكن بناء الصفحات كـ HTML على الخادم لكل طلب، فتظهر بسرعة ويستطيع محركات البحث قراءتها.
التوليد الثابتالصفحات النادرة التغيير يمكن بناؤها مسبقًا مرة واحدة وتقديمها بسرعة كبيرة.
مكونات الخادم (Server Components)يمكن أن تعمل أجزاء من الصفحة على الخادم فقط، فتقرأ قاعدة البيانات مباشرة، وترسل HTML جاهزًا إلى المتصفح، لا كودًا.
مسارات الخادم والإجراءات الخادميةكود الخلفية، مثل نقطة نهاية API أو معالج نموذج، يعيش في المشروع نفسه مع الصفحات.
تحسينات مدمجةتغيير حجم الصور وتحميل الخطوط وتقسيم الكود تُدار لك.

يقدم Next.js طريقتين لتنظيم الصفحات. App Router (مجلد app/) هو الأحدث ويدعم مكونات الخادم. وPages Router (مجلد pages/) هو الأصلي، وما زال مدعومًا. والمشاريع الجديدة تستخدم App Router عادةً. وإذا بدا لك كود مُنشئ الذكاء الاصطناعي أو أي درس تعليمي غريبًا، فغالبًا لهذا السبب.

مثال عملي: دليل عام لمقاهي المدينة

تخيل موقعًا يدرج المقاهي في مدينتك، بصفحة لكل مقهى، وتريده أن يظهر في نتائج البحث.

قد تبدو صفحة Next.js لمقهى واحد تقريبًا هكذا:

// app/cafes/[slug]/page.tsx  →  /cafes/blue-door, /cafes/hilltop ...
export default async function CafePage({ params }) {
  const { slug } = await params;
  const cafe = await db.cafe.findUnique({ where: { slug } });
  return (
    <main>
      <h1>{cafe.name}</h1>
      <p>{cafe.address}</p>
    </main>
  );
}

ما الذي يحدث حين يزور شخص (أو Google) الرابط /cafes/blue-door:

  1. يطابق Next.js الرابط مع ذلك الملف. مجلد [slug] يعني «أي مقهى».
  2. يعمل المكون على الخادم، ويقرأ المقهى من قاعدة البيانات ويبني HTML.
  3. يستلم المتصفح صفحة كاملة فيها اسم المقهى وعنوانه جاهزين، دون انتظار JavaScript لجلب البيانات.

أما مع تطبيق React عادي من جهة العميل، فسيستلم المتصفح أولًا صفحة شبه فارغة، ثم يحمّل JavaScript، ثم يجلب المقهى، ثم يعرضه. قد تتعامل محركات البحث مع ذلك، لكن الصفحة الكاملة أكثر موثوقية. انظر تحسين محركات البحث لمواقع بُنيت بالذكاء الاصطناعي.

قارن ذلك بلوحة تحكم داخلية خلف تسجيل دخول: محركات البحث لا تراها أصلًا، فعرض الصفحات على الخادم لا يفيدها كثيرًا، وتطبيق Vite أبسط غالبًا هو الأنسب.

مصطلحات أساسية

المصطلحالمعنى
إطار العمل (Framework)هيكل له قواعد يحدد كيف يُنظَّم التطبيق. Next.js إطار عمل، وReact مكتبة.
SSR (العرض على الخادم)بناء HTML للصفحة على الخادم لكل زيارة.
SSG (التوليد الثابت)بناء الصفحات كـ HTML مسبقًا وقت النشر.
CSR (العرض على جهة العميل)يبني المتصفح الصفحة بـ JavaScript بعد التحميل. هكذا يعمل تطبيق Vite + React التقليدي.
SPA (تطبيق صفحة واحدة)تطبيق يُحمَّل مرة واحدة ويبدّل الشاشات في المتصفح دون إعادة تحميل الصفحة كاملة.
الترطيب (Hydration)يستيقظ المتصفح على HTML المرسل من الخادم فتصبح الأزرار والنماذج تفاعلية.
المسار (Route)مسار URL مثل /pricing والكود الذي يجيب عليه.

مفاهيم خاطئة شائعة

  • «Next.js يحل محل React». لا. إنه يستخدم React. ومكوناتك ما زالت مكونات React.
  • «Next.js هو الخيار الأفضل دائمًا». إنه أقدر، لكنه يحتاج فهمًا أكبر. العرض على الخادم والتخزين المؤقت والفرق بين كود الخادم وكود العميل مصادر شائعة لأخطاء محيرة. أما تطبيق يكون معظمه خلف تسجيل دخول، فغالبًا ما يكون تطبيق React عاديًا أبسط.
  • «Next.js يعمل على Vercel فقط». إنه مفتوح المصدر ويمكن تشغيله على أي خادم Node.js أو داخل حاوية Docker. والتصدير الثابت الكامل ممكن إذا لم تستخدم ميزات الخادم.
  • «استخدام Next.js يضمن تحسين SEO جيدًا». يجعل الصفحات القابلة للقراءة أسهل. أما الترتيب فما زال يعتمد على العناوين والمحتوى والسرعة والروابط.
  • «كود الخادم في Next.js خاص تلقائيًا». الكود الموجه للعميل ينتهي في المتصفح. والأسرار يجب أن تبقى في كود الخادم فقط ومتغيرات البيئة.

ماذا تسأل مُنشئ التطبيقات بالذكاء الاصطناعي

  • «استخدم Next.js مع App Router» — في طلبك الأول، إذا كنت تريده.
  • «أي الصفحات تُعرض على الخادم، وأيها ثابتة، وأيها يعمل في المتصفح؟ ولماذا؟»
  • «اجعل صفحات التسويق والقوائم العامة معروضة على الخادم أو ثابتة، مع عناوين وأوصاف مناسبة.»
  • «أبقِ مفاتيح واجهات البرمجة في كود الخادم وفي متغيرات البيئة فقط. أرني أين يُقرأ كل مفتاح.»
  • «هل يحتاج هذا التطبيق إلى Next.js، أم أن Vite + React أبسط لما نبنيه؟»

Next.js في Mythex

يستخدم Mythex افتراضيًا Vite + React + TypeScript + Tailwind، ويتحول إلى Next.js حين تطلبه في طلبك؛ وذكر ذلك منذ البداية يوفّر رصيدًا مقارنة بتغييره لاحقًا. ترى التطبيق في المعاينة الحية، وينشره زر Publish على رابط مباشر دون أن تعد الاستضافة بنفسك. وتنبه وثائق Mythex إلى أن تطبيقات الصفحة الواحدة المعروضة من جهة العميل أضعف في SEO من صفحات HTML المعروضة على الخادم أو الثابتة، لذا إذا كان البحث يهمك في موقع تسويقي، فاذكر ذلك صراحةً منذ البداية (تحسين SEO لتطبيقك).

الأسئلة

ما هو Next.js ببساطة؟

Next.js إطار عمل مبني فوق React. تبني React مكونات الواجهة، ويضيف Next.js بقية الموقع حولها: الصفحات والروابط، والعرض على الخادم، وتحميل البيانات، وكود الخلفية، فتبني تطبيق ويب كاملًا في مشروع واحد.

ما الفرق بين React وNext.js؟

React مكتبة لبناء مكونات الواجهة. أما Next.js فهو إطار عمل يستخدم React ويضيف التوجيه والعرض على الخادم والصفحات الثابتة والكود الخادمي. كل تطبيق Next.js هو تطبيق React، لكن ليس كل تطبيق React يستخدم Next.js.

هل Next.js أفضل لتحسين محركات البحث (SEO)؟

يمكن أن يكون كذلك. يستطيع Next.js إرسال HTML كامل إلى محركات البحث والزوار من الخادم أو من صفحات ثابتة مبنية مسبقًا، بينما يرسل تطبيق React عادي من جهة العميل صفحة شبه فارغة يملؤها JavaScript لاحقًا. تظل العناوين والأوصاف والمحتوى الجيد أهم من الإطار نفسه.

هل أحتاج إلى Vercel لاستخدام Next.js؟

لا. Next.js مفتوح المصدر ومن تطوير شركة Vercel، لكنه يعمل على أي خادم يشغّل Node.js، أو داخل حاوية Docker، أو كتصدير ثابت للمواقع التي لا تحتاج ميزات خادمية. بعض الميزات أسهل في الإعداد على Vercel.

هل أستخدم Next.js أم Vite لتطبيقي؟

للتطبيق الذي يتطلب تسجيل دخول، مثل لوحة تحكم أو أداة داخلية، فإن Vite + React أبسط ويعمل جيدًا. ويستحق Next.js العناء حين تحتاج محتوى تقرؤه محركات البحث بسهولة، أو صفحات عامة كثيرة، أو صفحات تُعرض على الخادم في المشروع نفسه الذي فيه كود الخلفية.

Mythex · Pricing · ابنِ أي شيء بالذكاء الاصطناعي · قوالب المواقع والتطبيقات · مقارنات Mythex · مصطلحات بناء التطبيقات بالذكاء الاصطناعي · أدوات مجانية لبناء التطبيقات بالذكاء الاصطناعي · English

English አማርኛ Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)