فيت جي إس

مُجمع وحدات جافاسكربت

ڤيّت (بالإنجليزية: Vite) يلفظ /vit/ هو مجمع وحدات جافاسكربت (بالإنجليزية: JavaScript Module Bundler)‏ مفتوح المصدر، حديث وعصري صممه إيفان يو مبتكر إطار عمل Vue.[6] بهدف تتبع الوحدات في مكتبات جافاسكربت وجمعها مع بعضها البعض. يعتمد فيت على نظام وحدات جافاسكربت المعياري (ESModule) بشكل رئيسي. في 2022 حصد فيت على أكثر من 40 آلاف نجمة على موقع غيت هاب، كما أصبح أداة تجميع الوحدات الرسمية لإطار عمل فيو جي أس الإصدار الثالث.

نظرة عامة عدل

يعد فيت أداة بناء متكاملة شبيهة بـويب باك، ويستخدم لبناء مشاريع الواجهة الأمامية في المواقع[6]، يتميز فيت بالسرعة والخفة ويرجع الفضل إلى الخوارزمية التي يستعملها في تجميع الوحدات.

يهدف فيت إلى تسريع وتيرة عملية تطوير تطبيقات الصفحة الواحدة (SPA) بشكل رئيسي عبر مفهوم Zero-Configuration «بدون إعدادات».[6] يقوم فيت بتحليل ملفات المشروع ويتمكن من تتبع الوحدات وجمعها مع بعضها البعض بالإعتماد على نظام وحدات جافاسكربت المعياري (ESModule) المدعوم -بشكل شبه كلي في جميع المتصفحات الحديثة-، بخلاف باقي مجمعات وحدات جافاسكربت التي كانت تقوم بتحليل الوحدات ومن ثم جمعها وحقنها في داخل ملف أو عدة ملفات جافاسكربت.

يستطيع فيت التعامل مع الوحدات المكتوبة بنظام كومون جي أس وتحويلها إلى وحدات ESModule، كما يستخدم فيت أداة ESBuild المكتوبة بلغة غو في تجميع الوحدات أثناء عملية التطوير (Development)، خلاف باقي مجمعات الوحدات الأخرى التي تستخدم أدوات مكتوبة بلغة JavaScript في تجميع الوحدات.

يستطيع فيت التعامل مع TypeScript بشكل افتراضي، وكذلك يقوم بمعالجة ملفات JSX، وCSS والتعامل مع الوسائط كالصور وغيرها دون الحاجة إلى ضبطت إعداداته.[7] كما يمكن لفيت دعم نمط الصفحات المتعددة "MPA".

في مرحلة النشر (Production) يقوم يقوم فيت بتجميع الوحدات عن طريق Rollup بإعدادات مسبقة "Pre-configured".

التاريخ عدل

في عام 2019 بدأ إيفان يو مشروع فيت كخادم تطوير خاص بإطار فيو جي أس تحت مسمى @vue/dev-server[8]، ولكن سرعان ما غير الاسم إلى vite[9]، وجعلها أداة بناء تعمل على أي إطار عمل مثل رياكت أو حتى فقط جافاسكريت عادية.

بحسب احصائية stateofjs التي أجريت في 2021 حل فيت المركز الأول في أفضل أداة بناء بالنسبة لمطورين جافاسكربت.[10]

في 12 أغسطس 2022 أعلن عن حصول فيت على دعم وتمويل مالي من مطوري جوجل كروم.[11]

المميزات عدل

  • السهولة، يركز فيت على سهولة الاستخدام دون الغوص في تفاصيل الإعداد (Configuration).
  • الخفة والسرعة، بسبب بناء فيت على خوارزمية تستند على استخدام ESBuild وإعتماده على نظام وحدات جافاسكربت المعياري (ESModule) في مرحلة التطوير، خلافًا لباقي مُجمعات جافاسكربت الأخرى لذلك يعد فيت أسرع من غيره.
  • دعم تايبسكربت[7] و JSX.
  • نظام الإضافات الشامل (Universal Plugins)، يسمح فيت بإضافة مميزات إضافية أثناء عملية التطوير والنشر تستند على نظام إضافات Rollup.
  • إمكانية التحكم بالعمليات التي يجريها فيت عن طريق واجهة برمجة تطبيقات (API) مُدعَم بنظام الأنواع Types.

مثال عدل

لإستخدام Vite في إنشاء بيئة عمل جديدة قام الفريق الذي يعمل عليه، بتوفير حزمة على NPM تدعى create-vite-app يمكن استخدامها عن طريق سطر الأوامر.

npm init vite

يقوم الأمر بتشغيل create-vite-app والتي تمكنك من اختيار بيئة التطوير التي تريد تجهيزها، بحيث ستقوم بطرح مجموعة من الاسئلة عليك مثل اسم المشروع الذي تريد إنشاءه وإطار العمل الذي تريد استعماله.

تدعم الأداة حاليًا إنشاء بيئات عمل لمشاريع باستخدام جافاسكربت أو تايبسكربت أو من خلال إطارات عمل مثل سولد جي اس وسِفلت أو فيو جي اس ورياكت و preact أو lit .

ستقوم الأداة بتجهيز بيئة المشروع الأساسية وتثبيت جميع الإعتماديات المطلوبة بحسب البيانات التي أدخلتها دون قيامك بتجهيزها بنفسك.

أنظر أيضًا عدل

المراجع عدل

  1. ^ "Getting Started | Vite". اطلع عليه بتاريخ 2023-03-06.
  2. ^ "はじめに | Vite". اطلع عليه بتاريخ 2023-03-06.
  3. ^ أ ب "npmjs". اطلع عليه بتاريخ 2023-03-30.
  4. ^ أ ب "Release 5.2.6". 24 مارس 2024. اطلع عليه بتاريخ 2024-03-26.
  5. ^ وصلة مرجع: https://api.github.com/repos/vitejs/vite. الوصول: 20 مارس 2023.
  6. ^ أ ب ت Next generation frontend tooling with ViteJS - Open Source Friday (بالإنجليزية), غيت هاب, 16 Feb 2021, Archived from the original on 2022-04-14, Retrieved 2022-04-14
  7. ^ أ ب "Vite". vitejs.dev (بالإنجليزية الأمريكية). Archived from the original on 2022-04-13. Retrieved 2022-04-14.
  8. ^ "init · vitejs/vite@820c2cf". GitHub (بالإنجليزية). Archived from the original on 2020-07-07. Retrieved 2022-04-14.
  9. ^ "rename · vitejs/vite@be00e79". GitHub (بالإنجليزية). Archived from the original on 2022-04-14. Retrieved 2022-04-14.
  10. ^ "The State of JS 2021: Build Tools". 2021.stateofjs.com (بالإنجليزية). Archived from the original on 2022-03-01. Retrieved 2022-04-14.
  11. ^ "An Update On Chrome's Web Framework Funding for 2022". Chrome Developers (بالإنجليزية). Archived from the original on 2022-07-20. Retrieved 2022-08-13.

وصلات خارجية عدل