React Native 0.80 وExecuTorch: بداية قوية للذكاء الاصطناعي المحلي في تطبيقات الموبايل
يوليو 28, 2025🚀 الجديد في React Native 0.80 بالتفصيل
الإصدار React Native 0.80 يعتبر نقطة تحول حقيقية في عالم تطوير تطبيقات الموبايل باستخدام React Native. التحديثات اللي جات في الإصدار ده مش بس بتحسن الأداء، لكن كمان بترفع كفاءة عملية التطوير، وتجهز المشروع للمستقبل من ناحية المعمارية، التوافق مع الأنظمة، والذكاء الاصطناعي المحلي.
🧩 أهم التحسينات اللي جات في React Native 0.80:
- دمج React 19.1: النسخة دي بتدّي ثبات أكتر، وكمان بتقدّم owner stack جديدة بتساعد في تتبع الأخطاء بشكل أوضح وأسهل في أدوات التطوير (DevTools).
- تحسين JavaScript APIs: تم منع استخدام الاستيرادات العميقة (deep imports)، وده هيخلي الكود أنضف وأسهل في التتبع، وكمان هيقلل مشاكل التوافق مع التحديثات الجاية.
- TypeScript Strict API (اختياري حاليًا): تم تقديم مجموعة جديدة من أنواع TypeScript أكثر صرامة، مولدة مباشرة من الكود الأصلي، وده مفيد جدًا للمشاريع اللي بتعتمد على الأمان النوعي في الكود.
- تجميد المعمارية القديمة (Legacy Architecture): بداية من الإصدار ده، الدعم الرسمي للمعمارية القديمة توقف، وكل التحسينات الجاية هتكون مبنية على الـ New Architecture.
- تحسين سرعة البناء على iOS: من خلال استخدام Prebuilt Dependencies، تم تقليل وقت البناء بشكل ملحوظ بنسبة تصل لـ 12%.
- تقليل حجم التطبيق على Android: باستخدام تقنية Interprocedural Optimization (IPO)، تم تقليل حجم الـ APK بحوالي 1 ميجا بايت بدون خسارة أداء.
- Hermes كمحرك افتراضي: بقى Hermes هو محرك JavaScript الرسمي، وتم فصل JavaScriptCore كحزمة اختيارية في حال احتجت تستخدمه.
التحديث ده مهم جدًا لأي فريق بيشتغل على مشاريع طويلة المدى، وخصوصًا المشاريع اللي فيها فريق كبير، أو فيها اعتماد على TypeScript، أو محتاجة استقرار وتوافق مع المستقبل.
🤖 مكتبة ExecuTorch: الذكاء الاصطناعي المحلي بدون إنترنت
ExecuTorch هي مكتبة جديدة من Meta Software Mansion، الهدف منها إنك تقدر تشغل نماذج ذكاء اصطناعي (LLMs) مباشرة على الجهاز، بدون أي اتصال خارجي. الإصدار الحالي v0.4.0 بيقدم دعم لتشغيل موديلات قوية زي: LLAMA 3، Qwen 3، Phi 4 Mini، Hammer 2.1، وغيرهم.
ده معناه إنك تقدر تبني تطبيقات فيها ذكاء اصطناعي فعّال، من غير ما تبعت بيانات للسيرفر، وده له 3 مميزات ضخمة:
- 🔒 خصوصية أعلى، لأن البيانات مش بتخرج من الجهاز.
- ⚡️ سرعة تنفيذ أعلى، لأن مفيش انتظار لرد API خارجي.
- 📶 يعمل Offline، حتى من غير إنترنت.
أهم الخصائص اللي ExecuTorch بتقدمها:
- تشغيل LLMs بشكل كامل على الجهاز.
- دعم Tool Calling، يعني تقدر تخلي النموذج يتفاعل مع الوظائف المحلية جوه التطبيق.
- تحويل صوت لنص (STT) بلغات متعددة.
- دعم Embeddings للبحث أو التصنيف.
🧪 كود عملي: ازاي تستخدم موديل LLAMA مع ExecuTorch
المثال الجاي بيشرح استخدام hook اسمها useLLM لتشغيل موديل LLM محليًا:
// Example: Using ExecuTorch with LLAMA model
import { useLLM, LLAMA3_2_1B, LLAMA3_2_TOKENIZER, LLAMA3_2_TOKENIZER_CONFIG } from 'react-native-executorch';
const llm = useLLM({
modelSource: LLAMA3_2_1B,
tokenizerSource: LLAMA3_2_TOKENIZER,
tokenizerConfigSource: LLAMA3_2_TOKENIZER_CONFIG,
});
تقدر دلوقتي تستخدم llm.run() وتبعتله input من المستخدم ويرجعلك output من الذكاء الاصطناعي بدون أي اتصال خارجي.
📌 متطلبات تشغيل ExecuTorch
- React Native 0.76 أو أحدث (ويُفضل 0.80)
- تفعيل New Architecture
- Android 13+ أو iOS 17+
- تمكين TurboModules في إعدادات المشروع
💡 نصايح
لو بتفكر تدخل في الذكاء الاصطناعي المحلي، اتبع الخطوات دي:
- ابدأ مشروع جديد باستخدام React Native 0.80 وفعّل New Architecture من الأول.
- جرب موديل صغير زي
Hammer 2.1أوPhi 4 Miniالأول، وبعدها وسّع حسب احتياجك. - تابع أداء الجهاز وسعة الذاكرة علشان تتأكد إن الموديل مش تقيل على الأجهزة.
- استفيد من TypeScript Strict API لتقليل الأخطاء أثناء التطوير.
- لو بتستخدم Expo، اتأكد إنك مفعّل Custom Development Client.
👏 الخلاصة: التحديث ده مش مجرد تحسين، دي خطوة كبيرة تجاه مستقبل التطبيقات الذكية اللي بتشتغل بكفاءة، بدون نت، وبأعلى خصوصية. سواء بتبني تطبيق تعليمي، أداة ذكاء اصطناعي، أو مجرد عايز ترفع أداء مشروعك...
المدونة
يونيو 30, 2025
📌 بناء تطبيق تذكير مهام المقال ده بيشرح إزاي نعمل تطبيق Laravel يستخدم MongoDB علشان يذكرك بالمهمات بتاعتك، مع تسجيل دخول، CRUD، وتذكير بالإيميلات...
يوليو 30, 2025
لماذا السرعة ليست رفاهية؟ في زمن الضغط والسرعة، ما فيش حد عنده وقت يستنى موقع يحمّل! المستخدمين على الموبايل بينسحبوا من الموقع إذا ما فتحش في أق...
يوليو 01, 2025
مكونات واجهة المستخدم والتفاعل الأساسية في React Native React Native بتوفرلك مجموعة قوية من المكونات الجاهزة اللي تقدر تستخدمها لبناء تطبيقات موباي...
يوليو 01, 2025
تعزيز PHP enums باستخدام حزمة archtechx/enums من PHP 8.1، ظهر نوع جديد اسمه “enums” بيخليك تعرف قيم ثابتة بأسماء مرمّزة زي statuses...
يوليو 24, 2025
🧠 يعني إيه Dynamic Import؟ الديناميـك إمبورت ببساطة هو إنك تحمّل ملف أو موديول JavaScript "وقت الحاجة بس" مش من أول الصفحة. الميزة دي بتقلل حجم ال...
يوليو 20, 2025
في Laravel 12، تم تقديم Laravel Context كأداة قوية بتخلي تتبع الطلبات، تسجيل الأخطاء، وتحليل سلوك الوظائف الخلفية أسهل وأدق من أي وقت فات. وده بيحصل ع...