0Pricing
React Academy · درس

إعداد React مع Electron

اضبط Electron مع Vite وReact، وأعدد contextBridge للاتصال الآمن بين العمليات، وشغّل التطبيق في وضع التطوير

إعداد React مع Electron درس مجاني في React Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في React Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة React Academy 4 دروس في المجموع.

نظرة عامة على إعداد المشروع

يبدأ إعداد React مع Electron بإنشاء مشروع Vite React، ثم إضافة electron وelectron-builder إلى devDependencies. وينتهي المشروع بنقطتي دخول: تطبيق Vite لعملية العرض وملف main.js للعملية الرئيسية في Electron.

ملف main.js

يُعد main.js نقطة دخول Electron. فهو ينشئ BrowserWindow بأبعاد النافذة وإعدادات الأمان المطلوبة، ثم يحمّل تطبيق React؛ إذ يوجّهه إلى localhost:5173 أثناء التطوير وإلى مسار ملف مبني في بيئة الإنتاج.

electron-vite: مجموعة الأدوات الموصى بها

electron-vite هي أداة بناء متكاملة تدمج Vite مع Electron، وتتولى تلقائيًا إعداد البناء المعقد متعدد العمليات. كما توفر إعدادات Vite منفصلة لـ main وpreload وrenderer، وتبسّط عمليات البناء أثناء التطوير والإنتاج بدرجة كبيرة.

ضبط vite.config.js

عند ضبط Vite لـ Electron، يجب تحديد أهداف المتصفح صراحةً بدلًا من الاعتماد على الاكتشاف التلقائي، لأن عملية العرض تعمل على إصدار محدد من Chromium المضمّن في Electron. يتولى electron-vite ذلك تلقائيًا، لكن عمليات الإعداد اليدوي تتطلب تحديد إصدار chrome في هدف البناء.

سير عمل التطوير

يؤدي تشغيل electron-vite dev إلى بدء خادم التطوير في Vite لعملية العرض والعملية الرئيسية في Electron في الوقت نفسه. ويوفر خادم تطوير Vite ميزة الاستبدال السريع للوحدات، بحيث تظهر التغييرات التي تجريها على مكوّنات React فورًا في نافذة Electron من دون إعادة تشغيل كاملة.

الاستبدال السريع للوحدات في Electron

يعمل HMR في عملية العرض في Electron كما يعمل في المتصفح؛ إذ يُعاد عرض المكوّنات المعدّلة فورًا مع الحفاظ على الحالة. ولا تتطلب إعادة تشغيل Electron كاملةً إلا التغييرات التي تطرأ على main.js أو سكريبت preload، لأنهما يعملان خارج نطاق HMR في Vite.

إعداد TypeScript

تحتاج مشاريع Electron + React + TypeScript إلى ملفات tsconfig منفصلة للعملية الرئيسية (التي تستهدف Node.js/CommonJS)، وpreload (التي تستهدف بيئة شبيهة بالمتصفح مع Node globals)، وعملية العرض (TypeScript القياسي للمتصفح). ينشئ electron-vite هذه الإعدادات تلقائيًا.

إعداد contextBridge

يستخدم سكريبت preload الدالة contextBridge.exposeInMainWorld لإتاحة واجهة برمجة التطبيقات المخصصة لعملية العرض. ويتمثل النمط المعتاد في إتاحة مساحة أسماء مثل "api"، تتضمن دوال تغلّف استدعاءات ipcRenderer.invoke، مما يمنح مكوّنات React واجهة غير متزامنة واضحة لعمليات العملية الرئيسية.

الوصول إلى واجهات برمجة التطبيقات المُتاحة من React

من أي مكوّن React، تستدعي window.api.myFunction() لاستدعاء واجهة preload المُتاحة. ويضيف مستخدمو TypeScript عادةً تصريحًا عامًا (window: Window & { api: MyAPI }) لكي يحصلوا على فحص الأنواع والإكمال التلقائي للواجهة المُتاحة.

البناء للإنتاج

يترجم electron-vite build الأهداف الثلاثة (main وpreload وrenderer) إلى مجلد dist/. ثم يحزّم electron-builder الناتج في مُثبّت خاص بالمنصة. ويحمّل main.js في بيئة الإنتاج عملية العرض من مسار الملف المضمّن بدلًا من عنوان URL لخادم التطوير.

أخطاء الإعداد الشائعة

أكثر أخطاء الإعداد شيوعًا هي: نسيان nodeIntegration:false وcontextIsolation:true (مما ينشئ ثغرات أمنية)، وتحميل عنوان URL غير صحيح في main.js (التطوير بدلًا من الإنتاج أو العكس)، واستيراد وحدات Electron مباشرةً في عملية العرض (مما يسبب أعطالًا). تمنع الإعدادات الافتراضية في electron-vite معظم هذه المشكلات.

أمر تطوير electron-vite

ما الذي يحققه تشغيل electron-vite dev؟

مراجعة الدرس

يُبسَّط إعداد React مع Electron بفضل electron-vite، الذي يتولى تعقيدات البناء متعدد العمليات. ويوفر سير عمل التطوير دعمًا كاملًا لـ HMR، بينما يؤمّن contextBridge سطح واجهة برمجة التطبيقات لعملية العرض، وتضمن إعدادات TypeScript المنفصلة امتلاك كل عملية لبيئة الأنواع الصحيحة. وتستخدم عمليات بناء الإنتاج electron-builder لإنشاء حزم خاصة بالمنصة.

الأسئلة الشائعة

هل درس «إعداد React مع Electron» مجاني؟

نعم — نص درس «إعداد React مع Electron» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة React Academy، انتقل إلى CoddyKit PRO. تتضمن دورة React Academy 4 دروس في المجموع.

ماذا ستتعلم في «إعداد React مع Electron»؟

اضبط Electron مع Vite وReact، وأعدد contextBridge للاتصال الآمن بين العمليات، وشغّل التطبيق في وضع التطوير تتمرن على React Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ React Academy؟

لا تُشترط خبرة سابقة. React Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «إعداد React مع Electron»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس React Academy هذا؟

نعم. كل درس في React Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. بنية Electron: عمليتا التشغيل الرئيسي والعرض
  2. إعداد React مع Electron
  3. الاتصال بين العمليات باستخدام IPC
  4. حزم تطبيقات منصات سطح المكتب وتوزيعها
← العودة إلى React Academy