تأتي وظائف المؤسسات الوسيطة إلى JavaScript، وذلك بفضل Vercel

يتم استخدام JavaScript على نطاق واسع ومفهوم جيدًا على الخوادم ومتصفحات الويب لتمكين الوظائف المتقدمة، ولكن لم يكن بها برامج وسيطة بشكل عام، حتى الآن.
تتطلع شركة Verce l الناشئة لتطوير الويب الممولة جيدًا إلى تطوير إطار عمل JavaScript next.js مفتوح المصدر مع تحديث الإصدار الجديد 12.2 في 28 يونيو، والذي يتضمن ما تشير إليه الشركة على أنه برنامج JavaScript وسيط.
يدور مفهوم البرامج الوسيطة حول توفير الميزات اللازمة لتسليم تطبيقات المؤسسة، مثل التفويض والتوطين الجغرافي.
بالإضافة إلى البرامج الوسيطة، يقدم إصدار next.js 12.2 مفتوح المصدر أيضًا إمكانية تُعرف باسم التجديد الثابت المتزايد عند الطلب (ISR)، والذي سيساعد على تسريع تسليم موقع الويب بشكل كبير.
في الماضي، ربما تكون المؤسسات قد خبأت صفحات مواقع ويب معينة مؤقتًا من أجل تمكين أداء أفضل، على حساب عدم وجود أحدث المعلومات دائمًا. سيمكن ISR عند الطلب تسليم أسرع للصفحات التي تحتوي على أحدث المعلومات.
قامت Vercel نفسها بتسريع جهودها التنموية على مدار العام الماضي، ويرجع الفضل في ذلك إلى حد كبير إلى تمويل بقيمة 150 مليون دولار أمريكي أعلنت عنه الشركة في نوفمبر 2021.
وقد جمعت الشركة ما مجموعه 313 مليون دولار، مع تقييم لاحق للأموال بقيمة 2.5 مليار دولار.
نظرًا لأن الشركات من جميع الأحجام تسابقت لدعم جهود التحول الرقمي التي غالبًا ما تتضمن وظائف متقدمة لتطبيق مواقع الويب، فقد كان Vercel وإطار عمل next.js من كبار المستفيدين.
“لقد شهدنا الكثير من التجاذب مع التجارة الإلكترونية وتطبيقات الويب على الأجهزة المحمولة للمستهلكين مثل TikTok و Twitch ، وشهدنا نجاحًا كبيرًا في مواقع السفر، مع تشغيل غالبية مواقع السفر الكبرى على next.js””، قال Guillermo Rauch ، المؤسس والرئيس التنفيذي لشركة Vercel ، لـ VentureBeat.
لماذا حان الوقت لبرامج JavaScript الوسيطة
من أبرز ما يميز التحديث next.js 12.2 هو الإصدار الثابت للبرامج الوسيطة next.js، التي كانت في مرحلة تجريبية منذ next.js 12.0 ظهر لأول مرة في أكتوبر 2021.
أوضح راوخ أن سبب استخدام مصطلح البرامج الوسيطة هو أن التكنولوجيا تقع بين طلب المستخدم والمحتوى. وأشار إلى أن البرامج الوسيطة next.js تتيح للمطورين إضافة تعليمات برمجية ديناميكية والتوجيه إلى طلب JavaScript.
قال راوخ: “إنها تتيح لك القيام بكل ما تتوقع القيام به باستخدام تقنيات البرامج الوسيطة الأخرى مثل المصادقة والتفويض وإعادة التوجيه وإعادة الكتابة، بالإضافة إلى تخصيص الميزات الجديدة واختبارها”.
تتطلب البرامج الوسيطة للغات البرمجة الأخرى، مثل Java – التي لا علاقة لها تمامًا بـ JavaScript، على الرغم من تشابه التسمية – غالبًا تقنيات خادم منفصلة لتشغيلها.
في المقابل، فإن الوسيطة next.js هي مجرد ملف واحد يتم نشره على خادم ويب.
قال راوخ: “تقوم حرفياً بإضافة ملف واحد فقط، وهو middleware.ts ، وتبدأ في كتابة منطقك”.
يعد ملف middleware.ts في بعض النواحي تطورًا لملف التكوين next.js الذي حدد معلمات التكوين للنشر. لاحظ راوخ أن ملف التكوين يوفر فقط ما أشار إليه بخيارات “بدائية” مثل الرؤوس المخصصة وعمليات إعادة التوجيه.
باستخدام البرامج الوسيطة، قال إنه يمكن للمطورين وضع أي منطق مطلوب لتشغيل تطبيق الأعمال.
جلب البرمجيات الوسيطة إلى الحافة
يعد دمج تكوينات البرامج الوسيطة في كود التطبيق أمرًا واحدًا، ولكن تمكين هذا التكوين ليعمل في نهج محسّن شيء آخر.
هذا هو المكان الذي تظهر فيه قدرة Vercel’s Edge Middleware في الصورة. Edge Middleware هي خدمة مدعومة تجاريًا تعمل next.js على منصة Vercel لتوفير أداء أسرع وزمن انتقال أقل.
Vercel هو المطور الرئيسي لإطار عمل next.js مفتوح المصدر ويوفر خدمة تجارية لدعم التطبيقات وتسليمها على نطاق واسع. تستخدم خدمة Vercel البنية التحتية من Amazon Web Services (AWS) وكذلك Cloudflare.
تجاوز التخزين المؤقت إلى نظام ISR عند الطلب
وتجدر الإشارة أيضًا إلى تحديث next.js 12.2 مفتوح المصدر لإدخاله ISR عند الطلب لمحتوى الويب.
يمكن إنشاء محتوى الويب ديناميكيًا بواسطة خادم الويب، لكن هذه العملية قد تستغرق وقتًا، ولهذا السبب غالبًا ما يُفضل استخدام المحتوى المخزن مؤقتًا أو الثابت للتطبيقات عالية الحركة.
وأوضح راوخ أنه باستخدام ISR، يتم تحديث المحتوى الثابت عندما يكون هناك تحديث مقابل في مصادر البيانات المصدر لتطبيق معين.
قبل التحديث next.js 12.2، كانت الطريقة التي يعمل بها ISR مع خوادم الويب تتحقق من التحديثات على أساس دوري.
باستخدام القدرة الجديدة عند الطلب، يمكن لتطبيق الويب إخطار الخادم عبر خطاف الويب عند تحديث البيانات، مما يتيح تحديثات أسرع مع next.js 12.2 مقارنة بالإصدارات السابقة من إطار عمل JavaScript.
ما التالي في next.js؟
يقدم الإصدار next.js 12.2 العديد من الإمكانات التجريبية التي توضح الاتجاهات المستقبلية المحتملة للتقنية.
من بين الميزات التجريبية استخدام Edge Runtime. أشار Rauch إلى أن next.js منذ إنشائه قد استخدم وقت تشغيل node.js، ولكن الآن أصبح لدى المستخدمين خيار استخدام Edge Runtime المتوافق مع مبادرة WinterCG ، والتي تهدف إلى إنشاء أوقات تشغيل قابلة للتشغيل البيني لجافا سكريبت.
قال راوخ: “إنها حقبة جديدة من أوقات تشغيل JavaScript التي تم تحسينها للخادم بدلاً من المتصفح”. “Edge Runtime هو في الأساس محاولة للقول إن هذا هو تنفيذ Vercel لـ WinterCG ، وسنكون مصدرًا مفتوحًا لهذا الجهد أيضًا.”
المصدر: venturebeat
شاهد ايضا: