Vue.js (تُنطق "فيو") هو إطار عمل جافا سكريبت يستخدم لبناء واجهات المستخدم (UIs) وتطبيقات الصفحات الواحدة (SPAs). تم تصميم Vue ليكون قابلاً للتكيف بشكل تدريجي، مما يعني أنه يمكنك استخدامه لأجزاء صغيرة من مشروعك أو إذا لزم الأمر، استخدامه لبناء تطبيقات ويب متكاملة.
يُطلق عليها "تدريجية" لأنها تتيح لك البدء بالميزات الأساسية فقط من Vue، وإضافة الميزات المتقدمة فقط عند الحاجة. هذا يجعل Vue مرن وسهل في التكامل مع المكتبات الأخرى أو المشاريع الموجودة بالفعل.
أصبح Vue.js شائعا بسبب بساطته ومرونته. سواء كنت مبتدئًا أو مطورًا ذا خبرة، يتيح لك Vue:
لنستعرض المبادئ الأساسية التي تجعل Vue.js مميزة.
العرض التصريحي يعني أنك تستطيع وصف ما تريد أن تبدو عليه واجهة المستخدم الخاصة بك، وسيتولى Vue مسؤولية كيفية عرضها. يستخدم Vue صيغة القوالب لربط واجهة المستخدم بالبيانات الأساسية.
على سبيل المثال، لنفترض أنك تريد عرض رسالة في تطبيق الويب الخاص بك:
<div id="app">
{{ message }}
</div>
في هذا المثال، {{ message }}
هي صيغة خاصة في Vue تُسمى التضمين. تقوم Vue بربط قيمة المتغير message
بالقالب وتحديث المحتوى في DOM تلقائيًا.
كود الجافا سكريبت خلف الكواليس سيبدو كالتالي:
const app = Vue.createApp({
data() {
return {
message: "مرحبًا، Vue.js!"
};
}
});
app.mount('#app');
في هذا المثال:
message
.app
وربط البيانات به.مع العرض التصريحي، لا تحتاج إلى تحديث DOM يدويًا عند تغيير البيانات. يقوم Vue بتتبع التغييرات في بياناتك وتحديث واجهة المستخدم تلقائيًا عند الضرورة. هذا يقلل من تعقيد بناء التطبيقات الديناميكية.
إحدى الميزات الأكثر قوة في Vue هي البنية القائمة على المكونات. في Vue، كل شيء هو مكون.
المكون في Vue هو جزء قابل لإعادة الاستخدام ومعزول من واجهة المستخدم، مثل زر أو نموذج أو شريط جانبي. يمكنك إنشاء مكونات صغيرة ومكتفية بذاتها وتجميعها لبناء واجهات مستخدم معقدة.
المكونات تساعد في تنظيم الكود الخاص بك عن طريق تقسيم واجهة المستخدم إلى أجزاء صغيرة وقابلة للإدارة. بدلاً من إدارة الصفحة بالكامل كوحدة واحدة، تعمل على مكونات فردية تتعامل مع وظائف محددة.
إليك مثال أساسي لمكون Vue:
app.component('my-button', {
template: `
<button @click="handleClick">انقر عليّ!</button>
`,
methods: {
handleClick() {
alert('تم النقر على الزر!');
}
}
});
في هذا المثال:
my-button
: هذا هو مكون مخصص يعرض زرًا.handleClick
.يمكنك بعد ذلك استخدام هذا المكون في قالب التطبيق الخاص بك كما يلي:
<div id="app">
<my-button></my-button>
</div>
المكونات تجعل تطبيقك أسهل في التوسع والاختبار والصيانة لأنك تدير وحدات صغيرة من الكود بشكل مستقل. بمجرد إنشاء مكون، يمكن إعادة استخدامه في جميع أنحاء التطبيق.
التفاعل هو واحدة من أكثر الميزات إثارة للإعجاب في Vue.js. يعني أن Vue يحتفظ بواجهة المستخدم متزامنة مع بياناتك. عندما تتغير بياناتك، يتم تحديث DOM تلقائيًا لتعكس هذه التغييرات.
تحقق Vue التفاعل باستخدام البيانات التفاعلية. عندما تُعرف قطعة من البيانات في Vue، يتعقبها Vue ويضمن أن أي تغييرات في البيانات ستؤدي إلى التحديثات المناسبة في DOM.
فكر في هذا المثال:
const app = Vue.createApp({
data() {
return {
count: 0
};
},
methods: {
increment() {
this.count++;
}
}
});
app.mount('#app');
إليك جزء الـ HTML:
<div id="app">
<p>العدد: {{ count }}</p>
<button @click="increment">زيادة العدد</button>
</div>
count
: هذه هي البيانات التفاعلية.increment
: يزيد العدد عندما يتم النقر على الزر.{{ count }}
: تتضمن البيانات التفاعلية count
في DOM.عندما ينقر المستخدم على الزر، يتم استدعاء الدالة increment
التي تقوم بتحديث المتغير count
. وبما أن count
تفاعلي، تقوم Vue تلقائيًا بتحديث DOM لتعكس القيمة الجديدة للعدد. لا تحتاج إلى كتابة كود إضافي لإدارة تحديثات واجهة المستخدم.
يعمل نظام التفاعل في Vue من خلال "مراقبة" خصائص البيانات. عندما يتم الوصول إلى البيانات أو تعديلها، يتعقب Vue التبعيات وتُشغل التحديثات. يضمن هذا أن يبقى تطبيقك فعالًا وسريع الاستجابة، حتى مع زيادة تعقيد بياناتك.
لدى Vue.js نظام بيئي مزدهر، بما في ذلك مكتبات وأدوات رسمية تزيد من وظائفه:
تساعد هذه الأدوات في إدارة التطبيقات المعقدة مع الحفاظ على البساطة والمرونة التي يعرف بها Vue.
هناك عدة أسباب تجعل المطورين يحبون Vue.js:
تم تصميم Vue.js ليكون قابلة للتبني بشكل تدريجي. سواء كنت تريد إضافة القليل من التفاعل إلى مشروعك أو بناء تطبيق ويب متكامل، Vue خيار ممتاز.
Vue.js هو إطار عمل قوي ومرن وسهل الاستخدام، مما يجعل بناء تطبيقات الويب الحديثة أمرًا سهلاً. مبادئه الأساسية — العرض التصريحي (Declarative rendering)، البنية القائمة على المكونات (Component-based architecture)، و التفاعل (Reactivity) مما يسمح لك بالتركيز على كتابة كود بسيط ونظيف بينما يتولى Vue تحديث واجهة المستخدم.
سواء كنت مبتدئًا أو مطورًا ذا خبرة، يسمح لك الطابع التدريجي لـ Vue بالبدء بشكل صغير وتوسيع تطبيقك مع مرور الوقت. مع نظامها البيئي المزدهر ودعم المجتمع القوي، تعد Vue.js خيارًا ممتازًا لبناء واجهات المستخدم في 2024 وما بعدها.
الآن بعد أن غطينا ما هو Vue.js ومبادئه الأساسية، في المقال التالي، سنتعمق في Composition API وكيف تجعل إدارة المنطق المعقد أبسط في Vue 3.