عن المشروع
## ما هي هذه المكتبة
@alifd/next هي مكتبة مكونات واجهة مستخدم من الفئة المؤسسية للويب، مبنية على React ومنشورة بواسطة Alibaba Fusion. يهدف المشروع إلى حل مشكلات التعاون بين المصمم ومطور الواجهة الأمامية، وضمان اتساق تجربة المنتج، ورفع كفاءة التطوير لأنظمة الخلفية.
تم تصميمها لتعمل جنباً إلى جنب مع Fusion Design: حيث يقوم المصممون بتخصيص واجهة المكونات على منصة تعاون Fusion Design ونشر حزمة سمات عبر npm، والتي يستهلكها المطورون مباشرةً لتجنب إعادة صياغة الواجهة. ويوضح ملف README أن هذا يقلل من مراجعات التصميم المتكررة ويحسن كفاءة التطوير.
## التثبيت
- عبر npm (موصى به): `npm install @alifd/next --save`
- عبر المتصفح: استيراد `next.js`/`next.min.js` و `next.css`/`next.min.css` من دليل `@alifd/next/dist` الخاص بحزمة npm، أو من unpkg، ثم استخدام المتغير العام `Next`. يوصي ملف README بتثبيت إصدار محدد بدلاً من سحب أحدث إصدار دائماً.
## التبعيات والمتطلبات
- مبنية على React 16؛ ولا تدعم الإصدارات الأقدم من React 16.
- تعتبر `react`/`react-dom` تبعيات نظيرة (peer dependencies)، لذا يجب على المستخدم تثبيتها أو استيرادها.
- تُستخدم مكتبة `moment` لمكونات التاريخ والوقت وهي أيضاً تبعية نظيرة.
## استيراد المكونات
- استيراد الكل: تضمين `@alifd/next/dist/next.css` (أو `index.scss`) واستيراد المكونات المسماة مثل `Button` و `Input` من `@alifd/next`.
- استيراد وحدة واحدة يدوياً: على سبيل المثال `import Button from '@alifd/next/lib/button'` مع استيراد `'@alifd/next/lib/button/style'`.
- الموصى به: استخدام `babel-plugin-import` مع ضبط `libraryName: '@alifd/next'` و `style: true` ، مما يقوم بتحويل الاستيرادات المسماة إلى استيرادات لكل وحدة وأنماط تلقائياً.
## مواضيع متقدمة مغطاة في الوثائق
يربط المستودع بوثائق حول استخدام حزمة السمات، والتدويل (internationalization)، ونشر ملفات الخطوط.
## توافق المتصفحات
يسرد ملف README متصفحات Chrome و Firefox و Edge و Safari و Opera و UC كمتصفحات مدعومة، بالإضافة إلى Internet Explorer 9 فما فوق.
## المساهمة والمجتمع
المساهمات مرحب بها (عبر PRs)، مع توفير دليل للمساهمة؛ يمكن فتح المشروع في Gitpod أو استنساخه محلياً. توجد مجموعة على DingTalk للتواصل المجتمعي. المشروع مرخص بموجب رخصة MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.