0Pricing
Electron Desktop App Development · 강의

첫 번째 Electron 애플리케이션

단계별 안내에 따라 기본 'Hello World' Electron 애플리케이션을 만들며 메인 프로세스와 렌더러 프로세스의 기초를 익힙니다.

첫 번째 Electron 애플리케이션은(는) CoddyKit의 무료 Electron Desktop App Development 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 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 AI 튜터), CoddyKit PRO로 업그레이드하면 Electron Desktop App Development 강의 전체를 잠금 해제할 수 있습니다. Electron Desktop App Development 강의에는 총 4개의 강의가 포함되어 있습니다.

“첫 번째 Electron 애플리케이션”에서 뭘 배우나요?

단계별 안내에 따라 기본 'Hello World' Electron 애플리케이션을 만들며 메인 프로세스와 렌더러 프로세스의 기초를 익힙니다. 브라우저에서 직접 실행하는 실습 코드로 Electron Desktop App Development을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Electron Desktop App Development을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Electron Desktop App Development은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“첫 번째 Electron 애플리케이션” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Electron Desktop App Development 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Electron Desktop App Development 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Electron이란?
  2. 개발 환경 설정
  3. 첫 번째 Electron 애플리케이션
  4. Electron 아키텍처 이해하기
← Electron Desktop App Development(으)로 돌아가기