تتضمن الميزات الرئيسية لمكدس القصور الذاتي الخاص بـ Jetstream ما يلي:
1. الواجهة الأمامية والخلفية الموحدة:
- يتكامل مكدس Inertia الخاص بـ Jetstream بسلاسة مع Laravel، مما يسمح للمطورين باستخدام نفس لغة القوالب (Vue.js) لكل من الواجهة الأمامية والخلفية. يعمل هذا النهج الموحد على تبسيط التطوير وتقليل الحاجة إلى تكوين إضافي[1] [3].
2. العرض من جانب الخادم:
- يستخدم Inertia جهاز توجيه Laravel بدلاً من جهاز توجيه Vue، مما يسمح بعرض مكونات Vue من جانب الخادم. يعمل هذا الأسلوب على تحسين الأداء والأمان عن طريق تقليل الحاجة إلى عمليات التحقق من الترخيص من جانب العميل[1][3].
3. المساعدون في النموذج والتحقق من الصحة:
- يوفر Jetstream مساعدين للنماذج والتحقق من الصحة، مما يعمل على تبسيط عملية العمل مع النماذج وأخطاء التحقق من الصحة. تتضمن هذه الأدوات المساعدة طرقًا لإنشاء النماذج، والوصول إلى رسائل الخطأ، وإعادة تعيين حالة النموذج عند عمليات الإرسال الناجحة[1][3].
4. مكونات الوسائط:
- يتضمن Jetstream مكونين مشروطين: `DialogModal` و`ConfirmationModal`. يمكن استخدام هذه المكونات لإنشاء اتساق واجهة المستخدم وسهولة الاستخدام في التطبيق[1][3].
5. التطوير المبسط:
- يعمل القصور الذاتي على تبسيط عملية التطوير من خلال توفير نهج موحد للمصادقة واسترجاع البيانات. وهذا يقلل من تعقيد إدارة الرموز المميزة والجلسات وCORS، مما يسهل الحفاظ على الأداء وتحسينه[1][3].
6. تحسين الأمان:
- تعمل آليات العرض والتخزين المؤقت من جانب الخادم من Inertia على تعزيز الأمان عن طريق تقليل الحاجة إلى عمليات فحص الترخيص من جانب العميل. وهذا يقلل من خطر كشف المعلومات المهمة بسبب هجمات XSS[1] [3].
7. معالجة أفضل للأخطاء:
- يوفر تكامل Inertia مع طلبات نماذج Laravel والتحقق من صحتها عملية تطوير أكثر سهولة وأقل عرضة للخطأ. تتم معالجة الأخطاء وعرضها تلقائيًا للمستخدمين، مما يقلل الحاجة إلى تعليمات برمجية معيارية إضافية ويحسن الأداء العام[1][3].
8. تقليل التعقيد:
- يقلل القصور الذاتي من تعقيد إدارة واجهات برمجة التطبيقات المتعددة وأنظمة المصادقة. يؤدي ذلك إلى تبسيط عملية التطوير وتسهيل الحفاظ على الأداء وتحسينه[1][3].
هذه الميزات تجعل من Jetstream's Inertia Stack خيارًا قويًا وفعالًا لإنشاء تطبيقات قوية وقابلة للتطوير.
اقتباسات:[1] https://laravel-jetstream-docs-jp.netlify.app/1.x/stacks/inertia.html
[2] https://jetstream.laravel.com
[3] https://jetstream.laravel.com/stacks/inertia.html
[4] https://www.reddit.com/r/laravel/comments/ip7apa/thinkts_on_some_reactions_to_jetstream_here/
[5] https://stackoverflow.com/questions/65652566/laravel-8-jetstream-with-inertia-js-stack-not-updating-the-profile-information