Vue.js

إطار Vue.js مفتوح المصدر لبناء واجهات المستخدم، من قسم تفاعلي واحد إلى تطبيق متكامل. نطوّر به الحاسبات والنماذج متعددة الخطوات ولوحات الإدارة وتطبيقات الويب التي تستجيب للزائر فورًا.

ما هو Vue.js؟

‏Vue.js (يُلفظ مثل الكلمة الإنجليزية «view») إطار JavaScript مفتوح المصدر لبناء واجهات المستخدم. أنشأه Evan You وصدر أول مرة عام 2014، ويطوّره اليوم هو وفريق أساسي بدعم من الرعاة. ويصف Vue نفسه بأنه «الإطار التدريجي»: يمكنه أن يحسّن جزءًا واحدًا من صفحة قائمة دون خطوة بناء، أو أن يشغّل تطبيقًا كاملًا.

تتكوّن الواجهات من مكوّنات. وفي «المكوّن أحادي الملف» (Single-File Component) يجتمع قالب HTML ومنطق JavaScript وتنسيقات CSS لجزء واحد في ملف واحد، فتسهل متابعة الشيفرة. ويحدّث نظام التفاعلية في Vue الشاشة تلقائيًا عندما تتغير البيانات. ويمكن كتابة المكوّنات بأسلوبين، Options API وComposition API، وتضيف مكتبات رسمية التنقل بين الصفحات (Vue Router) والحالة المشتركة (Pinia).

‏Vue مجاني ومفتوح المصدر بموجب ترخيص MIT. والإصدار Vue 3، الصادر عام 2020، هو الإصدار الرئيسي الحالي، أما Vue 2 فقد بلغ نهاية عمره في 31 ديسمبر 2023 ولم يعد يتلقى أي تحديثات، بما فيها الإصلاحات الأمنية. وعادةً ما تُنشأ المشاريع الجديدة بأداة البناء Vite التي أطلقها Evan You أيضًا.

أين نستخدم Vue.js

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

  • أقسام تفاعلية

    يمكن إضافة عوامل التصفية والتبويبات والمعارض وجداول المقارنة إلى موقع قائم خطوة بخطوة دون إعادة بنائه، فيحصل الزائر على استجابة فورية ويبقى باقي الصفحة كما كان.

  • حاسبات ونماذج متعددة الخطوات

    تتحقق حاسبات عروض الأسعار وخطوات الحجز ونماذج التقديم من البيانات أثناء كتابة الزائر، وتعرض النتيجة فورًا، فيعرف الزائر دائمًا ما الذي ما زال ناقصًا.

  • لوحات الإدارة والتقارير

    نبني اللوحات التي يدير منها فريقك المحتوى أو الطلبات أو المواعيد كواجهات Vue تتواصل مع خلفية مبنية بـ Laravel أو Node.js، والشاشات الواضحة تسهّل المهام اليومية.

  • جزر تفاعلية في مواقع Astro

    في مواقع المحتوى المبنية بـ Astro تكون الصفحات HTML ثابتًا، ولا تكون مكوّنات Vue إلا الأجزاء التفاعلية، مثل حاسبة أو مرشّح خريطة، فتُحمَّل عند الحاجة فقط.

لماذا Vue.js؟

  • ينمو مع المشروع

    يمكننا أن نبدأ بقسم تفاعلي واحد ثم نحوّله لاحقًا إلى تطبيق كامل بالمعرفة والأدوات نفسها، فلا يضيع العمل الأول أبدًا.

  • سهل التسليم

    يحفظ المكوّن أحادي الملف بنية كل جزء ومنطقه وتنسيقه معًا، فيجد المطوّر الذي ينضم لاحقًا، من فريقنا أو فريقك، طريقه بسرعة.

  • أدوات رسمية متناسقة

    يأتي التوجيه وإدارة الحالة من مكتبات رسمية تُطوَّر إلى جانب Vue، وتعمل معه مباشرة أداة Vite التي أطلقها مبتكره. وقلة الأجزاء الخارجية تعني مفاجآت أقل عند التحديث.

كيف نعمل على مشروعك

نحدد أولًا حجم التفاعل الذي يحتاجه المشروع: بضعة أقسام في موقع قائم أم تطبيق كامل؟ ثم تتحول الشاشات المصممة في Figma إلى مكوّنات Vue، تُكتب غالبًا بلغة TypeScript، ونربطها ببياناتك عبر واجهة برمجية (API).

قبل التسليم نختبر كل مسار بلوحة المفاتيح وبقارئات الشاشة، ونراجع الواجهة العربية من اليمين إلى اليسار، ونقيس التحميل عبر Lighthouse. ثم نسلّمك الشيفرة مع سجلها الكامل، ونشرح لفريقك كيف نُظّم المشروع.

تصميم المواقع وتطويرها

الأسئلة الشائعة

مركز المساعدة
أيهما أنسب لمشروعي: Vue أم React؟

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

هل يمكن إضافة Vue إلى موقعي الحالي؟

في أغلب الأحيان نعم. فلأن Vue يستطيع إدارة جزء واحد فقط من الصفحة، يمكننا بعد دراسة طريقة بناء الموقع أن نضيف أقسامًا تفاعلية دون إعادة بنائه.

ما زال تطبيقنا يعمل بـ Vue 2. ماذا نفعل؟

لم يعد Vue 2 يتلقى أي تحديثات، بما فيها الإصلاحات الأمنية، منذ نهاية 2023. نراجع الشيفرة ونخطط لانتقال تدريجي إلى Vue 3 يُبقي التعطّل في أدنى حد.

هل تظهر الصفحات المبنية بـ Vue في محركات البحث؟

المحتوى الذي يُراد له أن يظهر في البحث ينبغي أن يصل HTML جاهزًا، لذا نجهّز الصفحات العامة على الخادم أو مسبقًا، كما في موقع Astro مع جزر Vue. أما اللوحات التي تتطلب تسجيل الدخول فلا حاجة إلى ظهورها في البحث.

الأداة المناسبة مع الفريق المناسب

لنحدد معًا الأدوات التي تناسب عملك، ثم نعود إليك بخريطة طريق لمشروعك.