0Pricing
Electron Desktop App Development · درس

أول تطبيق Electron لك

اتبع دليلًا خطوة بخطوة لإنشاء تطبيق Electron أساسي يعرض عبارة 'Hello World'، مع تغطية أساسيات العمليتين الرئيسية وعمية العرض

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

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Hello, Electron World!

Time to build your first Electron app — a simple desktop "Hello World." It introduces the core files that bring web tech to the desktop.

Setting Up Your Project

First, scaffold the project: make a folder, run npm init, then install Electron as a dev dependency. The commands are below.

The Main Process (main.js)

Every app has a main process — a Node.js environment that controls the lifecycle, talks to the OS, and creates windows. It starts in main.js.

main.js: Basic Window Setup

In main.js, you import Electron modules and define how to create a window that will host your web content. Try the basic setup below.

const { app, BrowserWindow } = require('electron');
const path = require('path');

function createWindow () {
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
      contextIsolation: false
    }
  });
  // We'll load our HTML file here soon!
}

app.whenReady().then(createWindow);

// Handle closing all windows for non-macOS
app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit();
  }
});

// Handle re-activating app on macOS
app.on('activate', () => {
  if (BrowserWindow.getAllWindows().length === 0) {
    createWindow();
  }
});

The Renderer Process (index.html)

The renderer process is where your UI lives — essentially a Chromium window rendering HTML, CSS, and JS. It loads from index.html.

index.html: Our UI Content

This index.html holds your Hello World message — just an ordinary web page, exactly like any you'd build for the browser.

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Hello Electron App</title>
    <style>
        body { font-family: sans-serif; text-align: center; padding: 50px; background-color: #f0f0f0; }
        h1 { color: #333; }
        p { color: #666; }
    </style>
</head>
<body>
    <h1>Hello from Electron!</h1>
    <p>This is your very first desktop application.</p>
</body>
</html>

Connecting Main & Renderer

Now connect the two: tell the window to display your page with win.loadFile() inside createWindow. One line wires UI to the main process.

main.js: Loading HTML

Here is main.js updated to load the page. Note how __dirname locates index.html relative to the script, no matter where it runs.

const { app, BrowserWindow } = require('electron');
const path = require('path');

function createWindow () {
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
      contextIsolation: false
    }
  });

  win.loadFile(path.join(__dirname, 'index.html')); // Load the HTML file
}

app.whenReady().then(createWindow);

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit();
  }
});

app.on('activate', () => {
  if (BrowserWindow.getAllWindows().length === 0) {
    createWindow();
  }
});

Running Your Electron App

Add a start script to package.json so you can launch the app with one command instead of typing electron each time.

package.json: Start Script

Your package.json should look like this. "electron ." runs main.js in the current folder — save it, then run "npm start" to launch.

{
  "name": "my-electron-app",
  "version": "1.0.0",
  "description": "My first Electron app",
  "main": "main.js",
  "scripts": {
    "start": "electron ."
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "electron": "^28.0.0"
  }
}

Quick Check: Main Process Role

You've seen how main.js and index.html work together. Let's test your understanding of their primary roles.

Recap: Your First Electron App

You built your first Electron app: a main process for lifecycle and windows, a renderer for UI, wired together with a start script.

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

هل درس «أول تطبيق Electron لك» مجاني؟

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

ماذا ستتعلم في «أول تطبيق Electron لك»؟

اتبع دليلًا خطوة بخطوة لإنشاء تطبيق Electron أساسي يعرض عبارة 'Hello World'، مع تغطية أساسيات العمليتين الرئيسية وعمية العرض تتمرن على Electron Desktop App Development مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Electron Desktop App Development؟

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

كم من الوقت يستغرق درس «أول تطبيق Electron لك»؟

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

هل يمكنني كتابة وتشغيل أكواد في درس Electron Desktop App Development هذا؟

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

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

  1. ما هو Electron؟
  2. إعداد بيئة التطوير
  3. أول تطبيق Electron لك
  4. فهم بنية Electron
← العودة إلى Electron Desktop App Development