5 أدوات جافا سكريبت مساعدة يبحث عنها في عام 2021

يتطور نظام JavaScript البيئي بوتيرة سريعة ، وأنت تعلم أن مجموعة الأدوات الخاصة بك ستحل محلها في اللحظة التي تختارها!

من المستحيل مواكبة جميع المكتبات والأطر والتقنيات ، ولكن يمكنك ملاحظة اتجاهات واتجاهات الحركة داخل الصناعة. ستظل React.js و Vue.js و Svelte و Node.js و Express.js شائعة خلال عام 2021 ، لكن بعض أدوات المساعدة الممتعة تظهر على السطح.

إليك أفضل اختياراتي لعام 2021. لكن من فضلك لا تعتمد على رأيي. قم بتقييمهم بنفسك.

Rollup.js عبارة عن مجمّع وحدات جافا سكريبت من الجيل التالي من ريتش هاريس ، مؤلف ممشوق. يقوم بتجميع أجزاء صغيرة من التعليمات البرمجية في ملفات فردية أكبر وتتضمن:

  • هندسة البرنامج المساعد

    يمكن أن يكون النظام الأساسي مع الإضافات مثل نقل بابل ES5 وتكامل TypeScript و ESLinting وتصغير Terser وحتى معالجة CSS.

  • توافق الوحدة

    يدعم Rollup.js وحدات ES6 القياسية ولكن CommonJS المستندة إلى العقدة require() يمكن تحليل الوحدات النمطية بامتداد توصيل في.

  • هز الشجرة

    يتم تحليل الكود بشكل ثابت لاستبعاد المتغيرات والوظائف والطرق غير المستخدمة. لذلك يمكنك استيراد مكتبة كبيرة ، ولكن سيتم تضمين الميزات التي تستخدمها فقط في الحزمة النهائية.

  • تقسيم الكود

    يمكن أن يقسم التراكم الشفرة إلى أجزاء للتحميل الديناميكي (عند الطلب) أو نقاط دخول متعددة.

يمكن تنفيذ Rollup.js من سطر الأوامر ، ملف npm البرنامج النصي ومتسابقات المهام العامة مثل بلع مع خيارات الساعة أو بدونها.

أ rollup.config.js يمكن تعريف الملف لمزيد من التكوينات المعقدة. فمثلا:




import commonjs from '@rollup/plugin-commonjs';

export default {

  
  input: './src/main.js',

  
  output: {
    file: './build/main.js',
    format: 'iife'
  },

  
  plugins: [
    commonjs()
  ]

};

ظهر Rollup.js لأول مرة في عام 2018 ولكنه اكتسب زخمًا بفضل سرعته وبساطته. ربما تكون قد استخدمتها دون أن تدرك في Snowpack.

Snowpack هي أداة بناء سريعة للواجهة الأمامية ومنافس مباشر لخيارات الوزن الثقيل مثل webpack و Parcel. الفوائد تشمل:

  • بدء التشغيل الفوري
  • بناء واحد مع التخزين المؤقت
  • إعادة تحميل وحدة ساخنة
  • حزم من الإضافات
  • دعم مدمج لوحدات ES6 ، ووحدات CommonJS ، و TypeScript ، و Svelte ، و React ، و JSX ، ووحدات CSS ، و اكثر

Snowpack يبني الأصول تلقائيًا. يمكنك تثبيته في أي مشروع كاعتماد تطوير:

npm install --save-dev snowpack

ثم قم بتشغيل خادم التطوير:

npx snowpack dev

هذا يفتح الافتراضي index.html ملف في متصفحك. يتم فحص جميع الصفحات بحثًا عن ملفات JavaScript و CSS ، والتي يتم تجميعها في أصول فردية.

يمكن إنشاء موقع الإنتاج النهائي في ملف build الدليل مع:

npx snowpack build

أ snowpack.config.js يمكن أن يحدد ملف التكوين المكونات الإضافية وخيارات أخرى.

كان التطوير سريعًا ، وتم إطلاق الإصدار 3.0 من Snowpack في يناير 2021. وفقًا للموقع ، “بمجرد أن تجربها ، من المستحيل العودة إلى أي شيء آخر.”

يتطلب التطوير الحديث تثبيت مجموعة من الأدوات وتكوينها وتعلمها بأساليب وتقنيات مختلفة. روما يهدف إلى توحيد سلسلة أدوات تطوير الواجهة الأمامية من خلال توفير linter ، ومجمع ، ومجمع ، ومولد مستندات ، ومنسق ، وعامِل اختبار ، ومُصغر لمحتوى HTML ، و CSS ، وجافا سكريبت. في جوهرها ، إنها حزمة لا تبعية تحل محل webpack و Babel و ESLint و Prettier و Jest وغيرها.

كانت روما في حالة تطور نشط طوال عام 2020 ، وفي وقت كتابة هذا التقرير ، يتم دعم الفحص فقط. ومع ذلك ، فقد حظي المشروع باهتمام كبير وحديث دعوة للحصول على تمويل قد تجاوزت أكثر من ربع هدفها البالغ 100000 دولار.

إذا تمكنت روما من تحقيق أهدافها بنجاح ، فقد تصبح الأداة الوحيدة التي تحتاجها.

ليس من المستغرب أن تتم كتابة معظم أدوات بناء JavaScript في JavaScript. عادةً ما تكون السرعة مقبولة ، ولكن التطبيق المترجم سيكون دائمًا أسرع. esbuild هي أداة تجميع وحدات JavaScript أخرى ، ولكنها مكتوبة بلغة اذهب. تدعي أنها:

  • 100x أسرع من Rollup.js
  • 173x أسرع من Webpack 5
  • 294 مرة أسرع من الطرد 2

توقيت إنشاء حزمة إنتاج من عشر نسخ من three.js باستخدام الإعدادات الافتراضية ، والتصغير ، وخرائط المصدر:

esbuild بناء مقارنات الوقت

يحقق esbuild هذه السرعة بدون ذاكرة تخزين مؤقت ولا يزال يدعم وحدات ES6 ووحدات CommonJS و TypeScript و JSX وهز الشجرة وخرائط المصدر والتصغير الإضافاتو Node.js bundling وواجهة برمجة تطبيقات كاملة والمزيد.

ايفان والاس هو المطور الأساسي الوحيد لـ esbuild والإصدار 1.0 لم يتم إصداره بعد. قد يتسبب هذا في إنذار للفرق التي تعمل على التطبيقات ذات المهام الحرجة ، ولكن التحديثات تصل بسرعة. راقب المشروع.

يظل إطلاق موقع الإنتاج الخاص بك إلى مضيف يمثل تحديًا. يقدم البعض أنظمة بناء قائمة على Git. يستخدم البعض الآخر عمليات الحاويات. لدى العديد منهم مصطلحات وتقنيات غريبة ورائعة. بافتراض أنك تفاوضت بنجاح بشأن تعقيدات عملية إنشاء AWS ، هل ستتمكن من التبديل إلى Azure بناءً على نزوة رئيسك أو عميلك؟

إحداثية يلخص عملية الإصدار لتوفير سير عمل متسق للبناء والنشر والإصدار عبر أي نظام أساسي. يتطلب النشر أمرًا واحدًا:

waypoint up

Waypoint هو مشروع مفتوح المصدر يدعم حاليًا مشاريع JavaScript و Ruby و Python و Go و .NET على Kubernetes و Amazon ECS و Google Cloud Run و Azure Container Instances و Docker و Buildpacks والمزيد. إنه قابل للتوسعة ويسمح له نظام البرنامج المساعد بالعمل مع أي أداة أو نظام أساسي. بعد النشر الناجح ، يوفر Waypoint وصولاً كاملاً إلى السجلات والشاشات والعمليات الأخرى لإدارة تطبيقك.

تم إصدار Waypoint في منتصف عام 2020 ، ولكن يبدو أن الاستخدام مهيأ للانفجار في عام 2021. موقع الويب رائع ويعرض أوامر طرفية يتم كتابتها أثناء التمرير. الأمر يستحق نظرة حتى لو لم يكن النشر يهمك!

فيما يلي بعض الأدوات الأخرى التي من المحتمل أن تحقق الكتلة الحرجة في عام 2021 …

أحد عشر

Eleventy هو مولد موقع ثابت Node.js تم تطويره بواسطة Netlify’s زاك ليثرمان. إنه بسيط وسريع وقد تم تبنيه من قبل العديد من المحركات والهزازات في صناعة الويب. وما زال لم يتم الوصول إلى الإصدار 1.0. شاهد الاستخدام التجاري ينمو بشكل كبير عند إصدار هذا الإنجاز.

لمزيد من المعلومات ، راجع بدء استخدام برنامج Eleventy.

دينو

دينو هو وقت تشغيل JavaScript يستخدم محرك V8 من Chrome. تم تطويره بواسطة Ryan Dahl – مبتكر Node.js – وتم إصداره في مايو 2020. في جوهره ، إنه Node مع الاستفادة من عقد من الإدراك المتأخر.

Deno جديد ، وهو يخفف بعض التجاعيد التي قد تكون واجهتها عند تطوير JavaScript من جانب الخادم. في المقام الأول ، يضيف الأمان ويختار وحدات ES6 الشبيهة بالمتصفح المستوردة من عنوان URL بدلاً من وحدات CommonJS التي يديرها npm. يتم تخزين إصدارات الوحدة مرة واحدة فقط على نظامك ، لذلك ليس من الضروري أن يكون لديك عدة ميغا بايت node_modules مجلد في كل مشروع.

يوفر Deno أيضًا عددًا من الأدوات المضمنة لذلك هناك حاجة أقل لخيارات الطرف الثالث. وهو يشتمل على أداة ترقية ، ونظام مساعدة ، وحلقة قراءة-تقييم-طباعة (REPL) ، ومفتش التبعية ، و linter ، ومنسق التعليمات البرمجية ، وعارض الاختبار ، ومولد التوثيق ، ومصحح الأخطاء ، ومجمع البرامج النصية ، ومثبت النظام الأساسي.

أخيرًا ، يدعم Deno بعضًا من ستجد واجهات برمجة التطبيقات في المتصفحات. الجدير بالذكر، fetchو windowو URLو Fileو FileReader، وأحداث مثل load و unload.

Node.js لم يمت ودينو لم ينته بعد ، لكن 2021 سيكون عامًا مثيرًا للاهتمام في وقت التشغيل.

المصدر

أضف تعليق