🎯 مميز

Chakra UI

مكتبة مكونات واجهة بسيطة (Accessible UI Component Library)

(4/5)
👁️ 4 مشاهدة
📅 02 Jul 2026
⚛️ React 💚 Vue.js

مستوى الخبرة المطلوب:

🌱 مبتدئ ⚡ متوسط 🚀 محترف 🏢 مؤسسي
🔗 زيارة الموقع الرسمي
4
تقييم المستخدمين
التصنيف 🎯 UI-Libraries
المشاهدات 4
تاريخ الإضافة 02/07/2026
آخر تحديث 02/07/2026

📖 الوصف

Chakra UI هي مكتبة مكونات React بسيطة وقابلة للتخصيص مع التركيز على accessibility. توفر مكونات جاهزة مع style props مشابهة لـ Styled-Components. تستخدم نظام theme مرن يسمح بتخصيص كامل. Chakra UI 2 uses emotion للـ styling. يتميز بـ composition pattern وسهولة الاستخدام. مناسب للمشاريع التي تريد مكون...

🎯 يستخدم في

مجالات استخدام هذه الأداة

React applications

Applications تحتاج accessibility

Applications تحتاج rapid prototyping

Custom design systems

Projects تحتاج style props

المميزات

أبرز مميزات هذه الأداة

Accessibility مدمج (WAI-ARIA)

Style props بسيطة (مثل Tailwind)

Theming system مرن

TypeScript support

Composition-friendly

Dark mode مدمج

Responsive styles سهلة

Hooks مدمجة (useDisclosure

useColorMode)

⚠️ العيوب

نقاط يجب مراعاتها

×

Runtime CSS overhead

×

Bundle size متوسط

×

أقل المكونات من MUI

×

Chakra 3 (جديد) قد يحتاج migration

×

Performance أبطأ من البدائل الخفيفة

🔄 البدائل

أدوات بديلة يمكنك استخدامها

Material-UI
Ant Design
Headless UI

💻 مثال على الاستخدام

كيفية استخدام هذه الأداة

Example Code
import { ChakraProvider, Box, Button, Heading, Text, Stack } from '@chakra-ui/react';
import { useDisclosure } from '@chakra-ui/react';

function App() {
  return (
    <ChakraProvider>
      <Box p={8}>
        <Heading mb={4}>مرحباً بالعالم</Heading>
        <Stack spacing={4}>
          <Text>نص عادي</Text>
          <Button colorScheme="blue" size="lg">
            زر رئيسي
          </Button>
          <Button variant="outline" colorScheme="green">
            زر ثانوي
          </Button>
        </Stack>
      </Box>
    </ChakraProvider>
  );
}

// Style props
<Box
  bg="blue.500"
  color="white"
  p={4}
  borderRadius="md"
  _hover={{ bg: 'blue.600', cursor: 'pointer' }}
>
  محتوى قابل للنقر
</Box>

// Responsive
<Text fontSize={{ base: 'sm', md: 'md', lg: 'lg' }}>
  نص متجاوب
</Text>

// Dark mode
<Box bg="white" _dark={{ bg: 'gray.800' }} p={4}>
  يتغير تلقائياً
</Box>

// Hooks
function Modal({ children, title }) {
  const { isOpen, onOpen, onClose } = useDisclosure();
  
  return (
    <>
      <Button onClick={onOpen}>افتح</Button>
      <Modal isOpen={isOpen} onClose={onClose}>
        <ModalOverlay />
        <ModalContent>
          <ModalHeader>{title}</ModalHeader>
          <ModalBody>{children}</ModalBody>
        </ModalContent>
      </Modal>
    </>
  );
}

📚 أدوات أخرى في UI-Libraries

قد يعجبك أيضاً