مرجع
آخر الزيارات

نكست جي إس

935 كلمة•0 مشاهدة•🗒️ منذ 16 ساعة
باختصار: نيكست جي أس هو إطار عمل لتطوير تطبيقات الويب مفتوح المصدر مبني فوق Node.js لتشغيل خادم نكست جي اس ويستعمل رياكت لاجراء صفحات تفاعليه بإجراء بعض المميزات مثل العرض من جانب الخادم (SSR) وإنشاء مواقع الويب الثابتة (SSG). تجد هنا «نظرة عامة»، «تاريخ التطوير» و«لامب» ضمن 4 أقسام.
المحتويات
  1. نظرة عامة
  2. تاريخ التطوير
  3. لامب
  4. التصميم والمميزات

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

وفي السياق ذاته، حقوق الطبع والنشر والعلامات التجارية الخاصة بـ Next.js مملوكة لشركة فيرسيل، المعروفة سابقًا باسم ZEIT، والتي تقود عملية تطوير المصادر المفتوحة وتدعمها.

نظرة عامة

وفي السياق ذاته، ساهمت جوجل في مشروع Next.js، بـ 43 Pull Request في عام 2019، التي ساعدت في تقليم JavaScript غير المستعمل، وتقليل وقت التحميل، وإضافة مقاييس محسّنة. اعتبارًا من مارس 2020، يتم استخدام الإطار بواسطة الكثير من مواقع الويب الكبيرة، بما في ذلك نتفليكس وغيت هاب وأوبر وتيكيت ماستر وستاربكس. في أوائل عام 2020، أُعلن أن Vercel قد حصل على واحد وعشرين مليون دولار في تمويل السلسلة A لدعم التحسينات على البرنامج. المؤلف الأصلي للإطار، Guillermo Rauch، هو في الوقت الحالي الرئيس التنفيذي لشركة فيرسيل، والمطور الرئيسي للمشروع هو Tim Neutkens.

علاوةً على ذلك، Next.js هو إطار عمل React يمكّن الكثير من الميزات الإضافية، بما في ذلك العرض من جانب الخادم (SSR) وإنشاء مواقع ويب ثابتة (SSG). React هي مكتبة JavaScript تُستعمل تقليديًا لإنشاء تطبيقات الويب المعروضة في متصفح العميل باستخدام JavaScript. يواجه المطورون الكثير من المشكلات المتعلقة بهذه الإستراتيجية، مثل عدم تلبية احتياجات المستعملين الذين ليس لديهم إمكانية الوصول إلى JavaScript أو قاموا بتعطيلها، ومشكلات الأمان المحتملة، وقت تحميل الصفحة، ويمكن أن يضر ذلك بالتحسين محركات البحث الخاصة بالموقع. يُمكن لأطر العمل مثل Next.js تتجنب هذه المشكلات عن طريق السماح بعرض بعض أو كل موقع الويب على جانب الخادم قبل إرسالها إلى العميل. يُعد Next.js أحد أكثر الأطر شيوعًا في React. إنها واحدة من الكثير من «أدوات التطوير» الموصى بها والمتاحة عند بدء تطبيق جديد، وكلها توفر طبقة من التجريد للمساعدة في المهام المشتركة. يتطلب نكست جي اس وجود Node.js ويمكن تهيئة نكست جي اس باستخدام مدير حزم نود جي اس (NPM).

تاريخ التطوير

علاوةً على ذلك، تم إصدار Next.js لأول مرة كمشروع مفتوح المصدر على GitHub في . تم تطويره في الأصل استنادًا إلى ستة مبادئ: وظيفة خارج الصندوق لا تتطلب أي إعداد، وجافا سكريبت في كل مكان، وجميع الوظائف مكتوبة بلغة جافا سكريبت، وتقسيم الكود التلقائي والعرض من جانب الخادم الخادم، وجلب البيانات القابل للتكوين، وتوقع الطلبات، وتبسيط عملية التطوير. تم الإعلان عن Next.js 2.0 في مارس 2017 بما في ذلك الكثير من التحسينات التي سهلت العمل مع مواقع الويب الصغيرة. كما أنها زادت من كفاءة البناء وحسنت قابلية التوسع في ميزة تحديث الوحدات السريع. تم إصدار الإصدار 7.0 في سبتمبر 2018 مع تحسين معالجة الأخطاء ودعم React context API لتحسين معالجة المسار الديناميكي. كان هذا كذلك الإصدار الأول للترقية إلى الإصدار الرابع من ويب باك. تم إصدار الإصدار 8.0 في فبراير 2019 وكان أول إصدار يقدم نشرًا بدون خادم للتطبيقات، حيث يتم تقسيم الكود إلى وظائف lambda يتم تشغيلها عند الطلب. قلل الإصدار كذلك من الوقت والموارد المطلوبة لعمليات التصدير الثابتة وتحسين أداء الجلب المسبق. تضمن الإصدار 9.3، الذي تم الإعلان عنه في مارس 2020، تحسينات متنوعة ودعمًا عالميًا لوحدة Sass و CSS. في 27 يوليو 2020، تم الإعلان عن الإصدار 9.5 من Next.js، مضيفًا إمكانات جديدة بما في ذلك التجديد الثابت المتزايد وإعادة الكتابة وإعادة التوجيه. في 15 يونيو 2021، تم إطلاق الإصدار 11 من Next.js ، والذي قدم من بين أمور أخرى: دعم ويب باك 5، إمكانية المعاينة للبرمجة تعاونية في الوقت الفعلي "Next.js Live"، والوظيفة التجريبية للتحويل التلقائي من إنشاء تطبيق React إلى Next.js نموذج متوافق "Create React App Migration". في 26 أكتوبر 2021، تم إصدار Next.js 12، بإضافة مجمع ومُترجم مكتوب بلغة Rust ، مما يجعل التجميع أسرع، ودعم AVIF، ووظائف الحافة والبرمجيات الوسيطة، واستيراد وحدات ESM ودعم إسترداد الوحدات من خلال الورابط URL.

لامب

  • رياكت (مكتبة جافا سكريبت)
  • Vue.js
  • إطار عمل جافا سكريبت
  • مراجع

التصميم والمميزات

انظر كذلك

كذلك، يدعم Next.js التصميم باستخدام CSS فضلًا عن Scss وSass المترجمة مسبقًا وتلوند سي إس إس وCSS-in-JS وJSX المُنسق. فضلًا عن ذلك، تم تصميمه بدعم تايب سكريبت والتجميع الذكي. يتم استخدام مترجم Babel مفتوح المصدر لتحويل وترجمة التعليمات البرمجية إلى JavaScript يمكن للمتصفح فهمها من خلال مجمع الحزم ويب باك، وهي أداة أخرى مفتوحة المصدر، يتم استخدام كل هذه الأدوات مع إن بي إم في الطرفية.

من جانب آخر، يدعم Next.js كذلك التجديد الثابت المتزايد (ISR)، وإنشاء الموقع الثابت (SSG) - عادةً ما تُنشأ نسخة مجمعة من موقع الويب أثناء وقت الإنشاء وحفظها كمجلد Next.js. عندما يقوم المستعمل بتقديم طلب، تخزَّن النسخة المبنية مسبقًا وهي صفحات HTML ثابتة مؤقتًا وإرسالها إليهم. هذا يجعل وقت التحميل سريعًا جدًا، ولكنه ليس مناسبًا لكل موقع ويب لأن المواقع التفاعلية التي تتغير كثيرًا وتستعمل الكثير من مدخلات المستعمل لن تكون مناسبة.

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

ما رأيك في هذه المقالة؟

📝 هل في هذه المقالة خطأ؟

إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.