📋 محتويات الصفحة
📖 الوصف
Quasar هو إطار عمل متكامل مبني على Vue.js يسمح لك بإنشاء تطبيقات متعددة المنصات من مشروع واحد: SPA, PWA, SSR, و تطبيقات الموبايل (Android/iOS)、 و سطح المكتب (Windows/Mac/Linux عبر Electron). يتميز بأكثر من 90 مكوّن UI جاهزة بتصميم Modern material. يوفر Quasar CLI أدوات قوية للسكافولد، tree shaking ...
🎯 يستخدم في
مجالات استخدام هذه الأداة
Mobile apps (بديل Ionic/Capacitor)
Progressive Web Apps (PWAs)
Admin dashboards
Cross-platform apps (Web + Mobile + Desktop)
SPAs احترافية
✨ المميزات
أبرز مميزات هذه الأداة
منصة واحدة لكل الأنظمة (6+ targets)
أكثر من 90 مكوّن UI
Tree Shake ذكي (يُستورد فقط المكوّنات المستخدمة)
دعم كامل للعربية (RTL) auto
نظام ثيمات مرن مع Dark Mode
حزمة npm منفردة
Icon libraries (Material
FontAwesome
Ionicons
MDI)
أدوات مدمجة (LocalForage
Cookies
EventBus)
Performance ممتاز (A+ Lighthouse)
TypeScript support
⚠️ العيوب
نقاط يجب مراعاتها
Vue.js فقط (لا تدعم React/Angular)
Documentation تحتاج ترتيب أفضل
Customization أصعب من Vuetify
بعض المكوّنات كبيرة الحجم
مجتمع أصغر من React ecosystem
Learning curve عالي للمبتدئين
🔄 البدائل
أدوات بديلة يمكنك استخدامها
💻 مثال على الاستخدام
كيفية استخدام هذه الأداة
<!-- App.vue - تطبيق كامل بقالب واحد -->
<template>
<q-layout view="hHh lpR fFf">
<q-header reveal class="bg-primary text-white">
<q-toolbar>
<q-btn flat dense round icon="menu" aria-label="Menu" @click="toggleLeftDrawer" />
<q-toolbar-title>تطبيقي</q-toolbar-title>
<q-btn flat dense round icon="notifications" />
</q-toolbar>
</q-header>
<q-drawer v-model="leftDrawerOpen" show-if-above bordered>
<q-list>
<q-item-label header>القائمة الرئيسية</q-item-label>
<EssentialLink
v-for="link in linksList"
:key="link.title"
v-bind="link"
/>
</q-list>
</q-drawer>
<q-page-container>
<q-page padding>
<div class="q-pa-md">
<q-card flat bordered>
<q-card-section>
<div class="text-h6">قائمة المستخدمين</div>
</q-card-section>
<q-card-section class="q-pt-none">
<q-table
flat bordered
:rows="rows"
:columns="columns"
row-key="id"
:filter="filter"
:pagination="pagination">
<template v-slot:top>
<span class="text-h6">المستخدمون</span>
<q-space />
<q-input dense debounce="300" v-model="filter" placeholder="بحث..." class="q-ml-md">
<template v-slot:append>
<q-icon name="search" />
</template>
</q-input>
</template>
<template v-slot:body-cell-actions="props">
<q-td :props="props">
<q-btn color="primary" flat round icon="edit" size="sm" />
<q-btn color="negative" flat round icon="delete" size="sm" />
</q-td>
</template>
</q-table>
</q-card-section>
</q-card>
</div>
</q-page>
</q-page-container>
</q-layout>
</template>
<script setup>
import { ref } from 'vue';
import EssentialLink from 'components/EssentialLink.vue';
const leftDrawerOpen = ref(false);
const filter = ref('');
const pagination = ref({ rowsPerPage: 10 });
const columns = [
{ name: 'id', label: 'الرقم', field: 'id', align: 'left', sortable: true },
{ name: 'name', label: 'الاسم', field: 'name', align: 'left', sortable: true },
{ name: 'email', label: 'البريد', field: 'email', align: 'left', sortable: true },
{ name: 'role', label: 'الدور', field: 'role', align: 'left' },
{ name: 'actions', label: 'إجراءات', field: 'actions', align: 'center' }
];
const rows = ref([
{ id: 1, name: 'أحمد محمد', email: 'ahmad@example.com', role: 'مدير' },
{ id: 2, name: 'فاطمة علي', email: 'fatima@example.com', role: 'مستخدم' },
{ id: 3, name: 'محمد حسن', email: 'mohamed@example.com', role: 'محرر' }
]);
const linksList = [
{ title: 'الرئيسية', icon: 'home', link: '/' },
{ title: 'المستخدمون', icon: 'people', link: '/users' },
{ title: 'الإعدادات', icon: 'settings', link: '/settings' }
];
const toggleLeftDrawer = () => {
leftDrawerOpen.value = !leftDrawerOpen.value;
};
</script>
<style>
/* RTL support مدمج تلقائياً */
</style>
📚 أدوات أخرى في UI-Libraries
قد يعجبك أيضاً
Ant Design
⭐مكتبة مكونات Enterprise (Enterprise UI Component Library)
Ark UI
مكتبة مكونات Headless (Headless UI Component Library)
Base UI
مكتبة مكونات headless من MUI (Headless UI Components from MUI)
Chakra UI
⭐مكتبة مكونات واجهة بسيطة (Accessible UI Component Library)
DaisyUI
⭐مكتبة مكونات قائمة على utility classes (Component Class Library)
Fluent UI
⭐مكتبة مكونات Microsoft (Microsoft Design System)