목차
Electron.js 아키텍처
간단한 Electron.js 애플리케이션 구축
개발 환경 설정
새 Electron.js 프로젝트 만들기
Electron.js 설치
주 진입점 만들기
지침
HTML 파일 만들기
示例
结论
웹 프론트엔드 JS 튜토리얼 JavaScript 및 Electron.js를 사용하여 데스크탑 GUI 애플리케이션 구축

JavaScript 및 Electron.js를 사용하여 데스크탑 GUI 애플리케이션 구축

Sep 14, 2023 am 09:57 AM

使用 JavaScript 和 Electron.js 构建桌面 GUI 应用程序

오늘날의 기술 시대에 데스크탑 애플리케이션은 향상된 사용자 경험을 제공하고 로컬 컴퓨터의 기능을 최대한 활용하기 위해 일상 생활에서 큰 의미를 갖습니다. 전통적으로 데스크톱 애플리케이션을 개발하려면 플랫폼별 프로그래밍 언어 및 프레임워크에 대한 전문 지식이 필요했는데, 이는 데스크톱 개발을 시작하려는 웹 개발자에게 어려운 과제였습니다. 그러나 Electron.js는 이러한 문제를 효과적으로 해결합니다.

Electron.js(이전에는 Atom Shell로 알려짐)는 GitHub에서 파생된 오픈 소스 프레임워크입니다. 이를 통해 개발자는 HTML, CSS 및 JavaScript와 같은 친숙한 웹 기술을 사용하여 크로스 플랫폼 데스크톱 애플리케이션을 구축할 수 있습니다. Electron.js는 웹 개발과 데스크톱 애플리케이션 개발 간의 격차를 해소함으로써 개발자가 강력하고 기능이 풍부한 데스크톱 애플리케이션을 만들 수 있는 새로운 기회를 창출합니다.

Electron.js 아키텍처

Electron.js의 작동 방식을 이해하기 위해 해당 아키텍처를 자세히 살펴보겠습니다. Electron.js는 Chromium 렌더링 엔진과 Node.js 런타임이라는 두 가지 주요 구성 요소를 결합합니다.

  • Chromium 렌더링 엔진Electron.js는 널리 사용되는 웹 브라우저인 Google Chrome과 동일한 렌더링 엔진인 Chromium을 사용합니다. 이를 통해 Electron.js 애플리케이션은 웹 브라우저와 동일한 기능과 성능으로 웹 콘텐츠를 렌더링하고 표시할 수 있습니다.

  • Node.js Runtime span>Electron.js는 Node.js 런타임과 통합되어 기본 운영 체제 및 기본 API에 대한 액세스를 제공합니다. 이는 개발자가 Node.js의 모든 기능을 활용하고 광범위한 모듈 및 라이브러리 에코시스템을 활용하여 데스크탑 애플리케이션을 구축할 수 있음을 의미합니다.

Electron.js는 모든 Electron.js 애플리케이션이 메인 프로세스와 렌더러 프로세스라는 두 가지 주요 프로세스로 구성된 다중 프로세스 아키텍처를 활용합니다.

  • 메인 프로세스 메인 프로세스는 독립적인 Node.js 프로세스로 실행되며 브라우저 창 생성 및 관리를 담당합니다. 렌더러 프로세스와 통신하고 시스템 수준 이벤트를 처리하며 기본 API에 액세스할 수 있습니다. 기본 프로세스는 애플리케이션의 수명주기를 제어하고 Electron.js 애플리케이션의 진입점 역할을 합니다.

  • Renderer Process 각 Electron.js 애플리케이션은 여러 렌더러 프로세스를 가질 수 있으며, 각 프로세스는 별도의 브라우저 창에 해당합니다. 렌더러 프로세스는 각 브라우저 창에서 웹 콘텐츠를 렌더링하고 표시하는 일을 담당합니다. 이는 별도의 JavaScript 컨텍스트에서 실행되어 일정 수준의 격리 및 보안을 제공합니다. 각 렌더러 프로세스는 Electron.js API에 액세스할 수 있으므로 기본 프로세스와 상호 작용하고 DOM 조작, 네트워크 요청 생성, 사용자 상호 작용 처리 등의 작업을 수행할 수 있습니다.

간단한 Electron.js 애플리케이션 구축

이제 Electron.js와 해당 아키텍처를 잘 이해했으므로 JavaScript를 사용하여 간단한 Electron.js 애플리케이션을 구축하는 방법을 살펴보겠습니다. "Hello, Electron.js" 메시지가 포함된 창을 표시하는 애플리케이션을 생성하겠습니다.

시작하려면 다음 단계를 따르세요. -

개발 환경 설정

Electron.js는 Node.js 위에 구축되므로 컴퓨터에 Node.js가 설치되어 있는지 확인하세요. 공식 홈페이지(https://nodejs.org)에서 최신 버전의 Node.js를 다운로드하여 설치할 수 있습니다.

새 Electron.js 프로젝트 만들기

새 프로젝트 폴더를 만들고 명령줄을 사용하여 폴더로 이동하세요. 다음 명령을 실행하여 새 Node.js 프로젝트를 초기화하세요 -

으아아아

이 명령은 기본 설정으로 새 Node.js 프로젝트를 초기화합니다.

Electron.js 설치

다음 명령을 실행하여 Electron.js를 개발 종속성으로 설치하세요 -

으아아아

이 명령은 프로젝트에 Electron.js 패키지를 설치합니다.

주 진입점 만들기

프로젝트 폴더에 index.js라는 새 파일을 생성하고 다음 코드를 추가하세요 -

으아아아

지침

이 코드에서는 Electron.js 패키지에서 필요한 모듈을 가져오고, createWindow 함수를 정의하여 브라우저 창을 만들고, 창 생성 및 애플리케이션 종료에 필요한 이벤트 핸들러를 설정합니다.

HTML 파일 만들기

프로젝트 폴더에 index.html이라는 새 파일을 생성하고 다음 코드를 추가하세요 -

示例

<!DOCTYPE html>
<html>
   <head>
      <meta charset="UTF-8">
      <title>Electron.js Application</title>
   </head>
   <body>
      <h1>Hello, Electron.js</h1>
   </body>
</html>
로그인 후 복사

此 HTML 文件将显示在 Electron.js 应用程序的窗口中。

运行 Electron.js 应用程序

npx electron.
로그인 후 복사

结论

Electron.js 彻底改变了开发人员使用 Web 技术构建桌面应用程序的方式。它提供了一个强大的框架,结合了 Chromium 渲染引擎和 Node.js 运行时,使开发人员能够使用 HTML、CSS 和 JavaScript 创建跨平台桌面应用程序。凭借其丰富的插件和工具生态系统,Electron.js 使开发人员能够构建功能丰富、高性能且具有视觉吸引力的桌面应用程序。

在本文中,我们探讨了 Electron.js 的基础知识,并学习了如何使用 JavaScript 构建简单的 Electron.js 应用程序。我们讨论了 Electron.js 的架构、它的主要进程以及主进程和渲染进程的作用。我们还逐步完成了设置开发环境和构建 Electron.js 应用程序的过程。

위 내용은 JavaScript 및 Electron.js를 사용하여 데스크탑 GUI 애플리케이션 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

내 자신의 JavaScript 라이브러리를 어떻게 작성하고 게시합니까? 내 자신의 JavaScript 라이브러리를 어떻게 작성하고 게시합니까? Mar 18, 2025 pm 03:12 PM

기사는 JavaScript 라이브러리 작성, 게시 및 유지 관리, 계획, 개발, 테스트, 문서 및 홍보 전략에 중점을 둡니다.

브라우저에서 성능을 위해 JavaScript 코드를 최적화하려면 어떻게해야합니까? 브라우저에서 성능을 위해 JavaScript 코드를 최적화하려면 어떻게해야합니까? Mar 18, 2025 pm 03:14 PM

이 기사는 브라우저에서 JavaScript 성능을 최적화하기위한 전략에 대해 설명하고 실행 시간을 줄이고 페이지로드 속도에 미치는 영향을 최소화하는 데 중점을 둡니다.

프론트 엔드 열 용지 영수증에 대한 차량 코드 인쇄를 만나면 어떻게해야합니까? 프론트 엔드 열 용지 영수증에 대한 차량 코드 인쇄를 만나면 어떻게해야합니까? Apr 04, 2025 pm 02:42 PM

프론트 엔드 개발시 프론트 엔드 열지대 티켓 인쇄를위한 자주 묻는 질문과 솔루션, 티켓 인쇄는 일반적인 요구 사항입니다. 그러나 많은 개발자들이 구현하고 있습니다 ...

누가 더 많은 파이썬이나 자바 스크립트를 지불합니까? 누가 더 많은 파이썬이나 자바 스크립트를 지불합니까? Apr 04, 2025 am 12:09 AM

기술 및 산업 요구에 따라 Python 및 JavaScript 개발자에 대한 절대 급여는 없습니다. 1. 파이썬은 데이터 과학 및 기계 학습에서 더 많은 비용을 지불 할 수 있습니다. 2. JavaScript는 프론트 엔드 및 풀 스택 개발에 큰 수요가 있으며 급여도 상당합니다. 3. 영향 요인에는 경험, 지리적 위치, 회사 규모 및 특정 기술이 포함됩니다.

브라우저 개발자 도구를 사용하여 JavaScript 코드를 효과적으로 디버그하려면 어떻게해야합니까? 브라우저 개발자 도구를 사용하여 JavaScript 코드를 효과적으로 디버그하려면 어떻게해야합니까? Mar 18, 2025 pm 03:16 PM

이 기사는 브라우저 개발자 도구를 사용하여 효과적인 JavaScript 디버깅, 중단 점 설정, 콘솔 사용 및 성능 분석에 중점을 둡니다.

JavaScript를 사용하여 동일한 ID와 동일한 ID로 배열 요소를 하나의 객체로 병합하는 방법은 무엇입니까? JavaScript를 사용하여 동일한 ID와 동일한 ID로 배열 요소를 하나의 객체로 병합하는 방법은 무엇입니까? Apr 04, 2025 pm 05:09 PM

동일한 ID로 배열 요소를 JavaScript의 하나의 객체로 병합하는 방법은 무엇입니까? 데이터를 처리 할 때 종종 동일한 ID를 가질 필요가 있습니다 ...

소스 맵을 사용하여 조정 된 JavaScript 코드를 디버그하는 방법은 무엇입니까? 소스 맵을 사용하여 조정 된 JavaScript 코드를 디버그하는 방법은 무엇입니까? Mar 18, 2025 pm 03:17 PM

이 기사는 소스 맵을 사용하여 원래 코드에 다시 매핑하여 미니어링 된 JavaScript를 디버그하는 방법을 설명합니다. 소스 맵 활성화, 브레이크 포인트 설정 및 Chrome Devtools 및 Webpack과 같은 도구 사용에 대해 설명합니다.

Demystifying JavaScript : 그것이하는 일과 중요한 이유 Demystifying JavaScript : 그것이하는 일과 중요한 이유 Apr 09, 2025 am 12:07 AM

JavaScript는 현대 웹 개발의 초석이며 주요 기능에는 이벤트 중심 프로그래밍, 동적 컨텐츠 생성 및 비동기 프로그래밍이 포함됩니다. 1) 이벤트 중심 프로그래밍을 사용하면 사용자 작업에 따라 웹 페이지가 동적으로 변경 될 수 있습니다. 2) 동적 컨텐츠 생성을 사용하면 조건에 따라 페이지 컨텐츠를 조정할 수 있습니다. 3) 비동기 프로그래밍은 사용자 인터페이스가 차단되지 않도록합니다. JavaScript는 웹 상호 작용, 단일 페이지 응용 프로그램 및 서버 측 개발에 널리 사용되며 사용자 경험 및 크로스 플랫폼 개발의 유연성을 크게 향상시킵니다.

See all articles