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 في إعدادات المشروع

💡 نصايح

لو بتفكر تدخل في الذكاء الاصطناعي المحلي، اتبع الخطوات دي:

  1. ابدأ مشروع جديد باستخدام React Native 0.80 وفعّل New Architecture من الأول.
  2. جرب موديل صغير زي Hammer 2.1 أو Phi 4 Mini الأول، وبعدها وسّع حسب احتياجك.
  3. تابع أداء الجهاز وسعة الذاكرة علشان تتأكد إن الموديل مش تقيل على الأجهزة.
  4. استفيد من TypeScript Strict API لتقليل الأخطاء أثناء التطوير.
  5. لو بتستخدم Expo، اتأكد إنك مفعّل Custom Development Client.

👏 الخلاصة: التحديث ده مش مجرد تحسين، دي خطوة كبيرة تجاه مستقبل التطبيقات الذكية اللي بتشتغل بكفاءة، بدون نت، وبأعلى خصوصية. سواء بتبني تطبيق تعليمي، أداة ذكاء اصطناعي، أو مجرد عايز ترفع أداء مشروعك...

المدونة

دليل للأنيميشن المتحركة بالسكّول بس بـ CSS

يونيو 26, 2025

دليل للأنيميشن المتحركة بالسكّول بـ CSS دلوقتي تقدر تربط الأنيميشن بتاعتك بـ السكّول من غير جافاسكريبت — كله CSS بحت. 1. التلات مكونات بتوع...

نظام طوابير Laravel واستخدام Supervisor في الإنتاج

يوليو 01, 2025

🚀 نظام Queue & Jobs في Laravel هناخدك خطوة خطوة من أول إنشاء الجداول لحد ما تشغّل الطوابير في Production عن طريق Supervisor. الخطوة 1: إنشاء...

Laravel 12.19: استخدام Attributes لتنظيم الـ Query Builder

يوليو 07, 2025

Laravel 12.19: استخدام Attributes تنظّم Query Builder في Laravel 12.19، دلوقتي تقدر تستخدم Attribute اسمه #[UseEloquentBuilder] علشان تحدد Query Bu...

مقارنة بين Scopes + Traits × UseEloquentBuilder في Laravel

يوليو 13, 2025

في Laravel، بنحتاج دايمًا نكتب استعلامات شبه بعض في أكتر من مكان. Laravel بتوفر طريقتين أساسيين نقدر نستخدمهم علشان نرتّب الاستعلامات دي: Scopes + Tra...

لارافيل 12: كل جديد من 12.0 لـ 12.19 – دليل شامل

يوليو 20, 2025

🔧 1. لارافيل 12.0 – ستارتر كيتس وتعديلات أساسية إصدار 12.0 جاب Starter Kits جاهزة للـ React، Vue، Livewire، وكمان دمج مع WorkOS AuthKit،...

إتقان CSS الحديثة: قوة if()، Popover Hints، والتنسيقات الذكية

يوليو 16, 2025

🌐 إتقان CSS الحديثة: قوة if()، Popover Hints، والتنسيقات الذكية CSS دلوقتي بقت أذكى بكتير. دالة if()، وميزة popover="hint"، وازاي نكتب تنسيقات متج...

The Ultimate Managed Hosting Platform