المهارات react-native-dev
📱

react-native-dev

آمن ⚙️ الأوامر الخارجية

بناء تطبيقات React Native و Expo

يتطلب بناء تطبيقات الهاتف المحمول باستخدام React Native التنقل بين خيارات معقدة في المكونات وإدارة الحالة والرسوم المتحركة والنشر. توفر هذه المهارة دليل تطوير منظم مع أنماط مثبتة ومكتبات موصى بها وأمثلة جاهزة للإنتاج لمشاريع Expo و React Native.

يدعم: Claude Codex Code(CC)
🥉 76 برونزي
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "react-native-dev". إنشاء تخطيط تنقل بعلامات التبويب مع علامات Home و Search و Profile باستخدام Expo Router.

النتيجة المتوقعة:

  • ملف تخطيط علامات التبويب (app/(tabs)/_layout.tsx) مع مكون Tabs من expo-router
  • ثلاث تعريفات شاشة للعلامات التبويب مع أيقونات Ionicons
  • تكوين Header مع دعم large title و header منسق
  • ملفات المسار الفردية: app/(tabs)/home.tsx و app/(tabs)/search.tsx و app/(tabs)/profile.tsx

استخدام "react-native-dev". إظهار كيفية استخدام Zustand مع persist middleware لتفضيلات المستخدم.

النتيجة المتوقعة:

  • تعريف متجر Zustand مع create و persist middleware
  • واجهة حالة مكتوبة بأمان مع إعدادات السمة واللغة والإشعارات
  • نمط المستحدم (selector) في المكونات لمنع إعادة العرض غير الضرورية
  • تكوين خلفية التخزين باستخدام MMKV أو AsyncStorage

التدقيق الأمني

آمن
v1 • 4/16/2026

This skill is a documentation-only reference guide for React Native and Expo development. It contains 12 markdown files (SKILL.md plus 11 reference files) with code examples. All 740 static analysis findings are false positives: the scanner misidentified markdown code blocks (triple-backtick fenced examples) as executable code. Patterns flagged include shell commands in installation instructions, relative imports shown as code examples, environment variable usage in documentation, and documentation references to .env files. No executable code exists in this skill.

12
الملفات التي تم فحصها
3,050
الأسطر التي تم تحليلها
1
النتائج
1
إجمالي عمليات التدقيق
تم تدقيقه بواسطة: claude

درجة الجودة

45
الهندسة المعمارية
100
قابلية الصيانة
87
المحتوى
50
المجتمع
100
الأمان
91
الامتثال للمواصفات

ماذا يمكنك بناءه

بدء مشروع Expo جديد من الصفر

يحتاج المطور إلى إنشاء سقالة لتطبيق React Native جاهز للإنتاج مع بنية مشروع مناسبة وتوجيه وإدارة حالة وخط أنابيب CI/CD.

تنفيذ رسوم متحركة وإيماءات معقدة

يحتاج المطور إلى إضافة رسوم متحركة سلسة ومعالجة إيماءات وتأثيرات driven by scroll باستخدام Reanimated 3 و Gesture Handler.

تحسين أداء التطبيق والتحضير للإصدار

تحتاج الفريق إلى profiling للتطبيق الخاص بهم وإصلاح scroll jank وتقليل حجم الحزمة وتكوين EAS builds وإعداد CI/CD لنشر App Store و Play Store.

جرّب هذه الموجهات

مبتدئ: إنشاء مشروع Expo جديد
إعداد مشروع Expo جديد مع TypeScript. تضمين Expo Router للتنقل مع تخطيط علامات التبويب و FlashList للقوائم و expo-image للصور و Zustand لإدارة الحالة. إظهار هيكل المشروع الموصى به.
مبتدئ: بناء نموذج تسجيل الدخول
إنشاء نموذج تسجيل الدخول باستخدام React Hook Form و Zod validation. تضمين حقول البريد الإلكتروني وكلمة المرور مع رسائل الخطأ وزر إرسال مع حالة التحميل ودمج API مع fetch wrapper.
متوسط: إضافة انتقالات متحركة
تنفيذ انتقالة عنصر مشترك بين شاشة القائمة وشاشة التفاصيل باستخدام Reanimated 3. تستخدم القائمة FlashList مع عناصر memoized. عند النقر على عنصر، تحريكه إلى شاشة التفاصيل مع انتقالة fade و scale.
متقدم: تكوين خط أنابيب CI/CD
إعداد خط أنابيب EAS Build و Submit مع GitHub Actions. تضمين ملفات بناء منفصلة للتطوير والإنتاج وإرسال متجر التطبيقات التلقائي عند دمج فرع main وإدارة متغيرات البيئة للمراحل المختلفة.

أفضل الممارسات

  • استخدم دائمًا FlashList بدلاً من FlatList للقوائم و expo-image بدلاً من RN Image لأداء أفضل والتخزين المؤقت
  • قم بتحريك خصائص transform و opacity فقط مع Reanimated للحفاظ على رسوم متحركة composed على GPU وتجنب إعادة حساب التخطيط
  • استخدم بادئة EXPO_PUBLIC_ لمتغيرات البيئة من جانب العميل واحتفظ بالأسرار الخاصة بالخادم فقط بدون بادئة في API routes

تجنب

  • استخدام FlatList بدون عناصر memoized أو RN Image بدون تخزين مؤقت لقوائمصالات الإنتاج ومعارض الصور
  • الاستيراد من ملفات barrel (index.ts) التي تزيد حجم الحزمة - استورد دائمًا مباشرة من وحدات المصدر
  • استخدام Platform.OS لفحوصات النظام الأساسي بدلاً من process.env.EXPO_OS واستخدام useContext بدلاً من React.use لـ React 18

الأسئلة المتكررة

متى يجب أن أستخدم Expo Go مقابل البناء المخصص مع EAS Build؟
استخدم Expo Go للت prototyping السريع والاختبار مع وحدات Expo القياسية. استخدم EAS Build عندما يتطلب مشروعك وحدات native مخصصة أو إصدارات SDK native محددة أو أهداف Apple أو وحدات第三方 غير متاحة في Expo Go.
أي مكتبة إدارة حالة يجب أن أختارها لمشروعي؟
استخدم useState أو useReducer لحالة UI المحلية. اختر Zustand أو Jotai لحالة التطبيق المشتركة عبر المكونات. استخدم React Query للبيانات غير المتزامنة والخادم مع التخزين المؤقت. تجنب Redux ما لم يكن لتطبيقك متطلبات حالة معقدة للغاية.
كيف أتعامل مع متغيرات البيئة بشكل آمن في تطبيق Expo؟
المتغيرات مسبوقة بـ EXPO_PUBLIC_ مضمنة في حزمة العميل وآمنة للتكوين العام مثل عناوين URL للواجهة البرمجية. المتغيرات بدون البادئة (مثل LLM_API_KEY) تعمل فقط على API routes من جانب الخادم ولا تصل إلى العميل. اضبط الأسرار للإنتاج عبر eas env-create في CI/CD.
لماذا توصي هذه المهارة بـ FlashList بدلاً من FlatList؟
توفر FlashList من Shopify إعادة تدوير عرض مدمجة، مما يقلل بشكل كبير من استخدام الذاكرة ويمنع scroll jank على القوائم الطويلة. FlatList تعرض جميع العناصر المرئية بدون إعادة التدوير، مما يسبب مشاكل في الأداء على القوائم التي تحتوي على أكثر من 20 عنصرًا.
كيف أختبر مكونات React Native بشكل فعال؟
استخدم Jest مع React Native Testing Library لاختبارات الوحدة والمكونات. اختبر السلوك المرئي للمستخدم (محتوى النص وتفاعلات الأزرار) بدلاً من تفاصيل التنفيذ. للاختبار من طرف إلى طرف، استخدم Maestro الذي لا يتطلب تكوين بناء ويعمل مع Expo.
ما هو هيكل المشروع الموصى به لتطبيق React Native قابل للتوسع؟
نظم الكود إلى: app/ لمسارات Expo Router و components/ui/ للمكونات الذرية و components/shared/ للمكونات المكونة و stores/ لإدارة الحالة و services/ لواجهات API ووحدات native و hooks/ للخطافات المخصصة و constants/ لقيم السمة و types/ لتعريفات TypeScript. استخدم اسماء مستعارة للمسار لتجنب الاستيرادات النسبية الهشة.

تفاصيل المطور

المؤلف

MiniMax-AI

الترخيص

MIT

مرجع

main