اشترك و تابع

تطوير الويب

image

شو الجديد في Livewire v3 مقارنة بـ v2؟

الـ Livewire اللي بنستخدمها لعمل تطبيقات تفاعلية في Laravel بدون الحاجة لاستخدام JavaScript بشكل كبير، وصلت مع الإصدار الثالث واللي جاب تحسينات كبيرة وتغييرات اللي بتسهل الشغل أكتر من قبل. هون راح نحكي عن أهم الميزات الجديدة والاختلافات بين Livewire v3 و Livewire v2.

  1. أداء أسرع وتنقل سلس (wire:navigate) في Livewire v3، أضافوا خاصية جديدة اسمها wire:navigate. هالخاصية بتخلي التنقل بين الصفحات أسهل وأسرع، وبتغير الصفحة بدون ما تعيد تحميلها بالكامل. يعني المستخدم مش رح يحس إنه الصفحة عم تتحمل من جديد، وكل شي بيتغير بسلاسة وبدون ما نرجع نستخدم jQuery أو مكتبات تانية زي Turbolinks.
  2. هالخاصية كانت مفقودة في v2، والآن في v3 صار بإمكانك تنقل بين صفحات التطبيق بسلاسة ودون أي تعطل.
  3. التخلي عن emit في الأحداث الداخلية في Livewire v2، كنا نستخدم emit لنبعت أحداث بين المكونات (components). كانت شغالة، بس في v3 غيروا هالطريقة وصاروا يستخدموا dispatch بدلاً من emit.
  4. هالميزة زادت الكفاءة في إدارة الأحداث، وصار إرسال البيانات بين المكونات أسهل وأوضح.
  5. إزالة الـ entangle والاستعاضة عنها بـ wire:model في الإصدار القديم v2، كنا نستخدم entangle لربط البيانات بين Livewire و Alpine.js. بس في v3، صار الربط أسهل باستخدام wire:model مباشرة مع Alpine.js. يعني ما عاد لازم نعمل entangle ونتعامل مع الربط بشكل يدوي، صار ممكن نتعامل مع البيانات بشكل أكثر سلاسة.
  6. تحسين إدارة الحالة (State Management) Livewire v3 جابت تحسينات كبيرة في إدارة الحالة داخل المكونات. لو كنت شغال على مشروع معقد وفيه أكتر من مكون وكل مكون بيحتاج يدير حالته بشكل مستقل، الإصدار هذا جاب تحسينات بتخلي إدارة الحالة أكثر فاعلية. في v2، كانت الأمور مش دايماً سلسة عند التعامل مع مكونات معقدة.
  7. تحسينات في التعامل مع الفرمات (Forms Handling) في v3، التعامل مع الفرمات صار أكتر ذكاء ومرونة. مثلاً، صار بإمكاني أتحكم في الفاليديشن والتحديثات بشكل أسهل مقارنة بالإصدار الثاني. إذا كنت بتشتغل على فرامات كبيرة وتفاعلية، حتشوف إن v3 أسرع وأسهل في التعامل مع هالسيناريوهات.
  8. التخلص من hydrate و dehydrate في الإصدار الثاني v2، كنا نستخدم مصطلحات زي hydrate و dehydrate عشان نفهم كيف Livewire بتحميل البيانات ويعالجها عند الانتقال من وإلى السيرفر. في v3، هالمصطلحات اختفت وصار كل شيء يشتغل بسلاسة بدون ما نفكر في التفاصيل الدقيقة عن كيفية نقل البيانات.
  9. دعم أكتر لـ JavaScript في Livewire v3، صار فيه توافق أفضل مع مكتبات JavaScript والمكونات. يعني إذا عندك مكتبة خارجية أو بتشتغل مع مكتبات زي Alpine.js أو حتى Vue.js، صار التوافق أفضل بكتير، وبتقدر تربط بين Livewire وجافا سكريبت بكل سهولة.
  10. تحسين التعامل مع التحقق (Validation) التحقق في Livewire كان دايمًا قوي، بس في v3 صار أكتر مرونة وكفاءة. يعني صار ممكن تستخدم الفاليديشن بشكل أسرع من دون الحاجة لإعادة تحميل الصفحة أو المكون.

الخلاصة Livewire v3 جاب تغييرات قوية بتحسن الأداء وتسهّل شغل المطورين مقارنةً بـ v2. أهم التغييرات كانت سرعة التنقل باستخدام wire:navigate، تحسين التواصل بين المكونات باستخدام dispatch بدل emit، وتحسينات في التعامل مع الفرمات وإدارة الحالة. إذا كنت شغال على v2، الترقية لـ v3 بتستحق، لأنه الميزات الجديدة رح تسهل عليك الشغل وتوفر وقتك.