첫 번째 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 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- Electron이란?
- 개발 환경 설정
- 첫 번째 Electron 애플리케이션
- Electron 아키텍처 이해하기