Maison > Article > interface Web > Javascript peut-il écrire des programmes de bureau ?
Javascript peut écrire des programmes de bureau. En JavaScript, le framework logiciel Electron peut être utilisé pour développer des programmes de bureau ; Electron est une bibliothèque open source permettant de créer des applications de bureau multiplateformes. Elle fournit une API locale riche, permettant aux développeurs d'utiliser du JS pur pour créer des applications de bureau.
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.
Qu'est-ce qu'une application de bureau ?
Application de bureau, également connue sous le nom de programme GUI (Graphical User Interface), mais il existe quelques différences par rapport au programme GUI. Les applications de bureau transforment les programmes GUI de GUI en « bureau », rendant le concept froid d'un ordinateur comme un morceau de bois plus humain, plus vivant et dynamique.
Alors, javascript peut-il être utilisé pour écrire des programmes de bureau ?
Javascript peut écrire des programmes de bureau. Le monde de JavaScript devient de plus en plus puissant et vous pouvez utiliser des frameworks comme Eletron pour développer facilement des applications de bureau.
Electron est une bibliothèque de développement de bureau javascript multiplateforme
Electron est une bibliothèque open source développée par Github qui utilise HTML, CSS et JavaScript pour créer des applications de bureau multiplateformes. Electron le fait en fusionnant Chromium et Node.js dans le même environnement d'exécution et en les regroupant sous forme d'applications pour les systèmes Mac, Windows et Linux.
Electron fournit une riche API native (système d'exploitation) qui vous permet de créer des applications de bureau en utilisant du JavaScript pur. Contrairement à divers autres environnements d'exécution Node.js, Electron se concentre sur les applications de bureau plutôt que sur les serveurs Web.
Electron vous permet d'utiliser du JavaScript pur pour appeler de riches API natives afin de créer des applications de bureau. Vous pouvez le considérer comme une variante de io.js axée sur les applications de bureau plutôt que sur les serveurs Web.
Raison de l'utilisation d'Electron pour le développement :
Utiliser une technologie Web avec une forte écologie pour le développement, un faible coût de développement, une forte évolutivité, une interface utilisateur plus cool
Multiplateforme, un ensemble de code Il peut être regroupé en trois ensembles de logiciels pour Windows, Linux et Mac, et la compilation est rapide
Peut être directement étendu sur les applications Web existantes, offrant des fonctionnalités que les navigateurs n'ont pas
Vous êtes un front-end
Bien sûr, nous devons également reconnaître ses défauts : les performances sont inférieures à celles des applications de bureau natives, et l'application finale packagée est beaucoup plus volumineuse que les applications natives.
Expérience de développement
Compatibilité
Bien que vous utilisiez toujours la technologie WEB pour le développement, vous n'avez plus besoin de prendre en compte les problèmes de compatibilité. Vous n'avez qu'à vous soucier de la version de Chrome que vous utilisez actuellement. en général, il est suffisamment récent pour vous permettre d'utiliser l'API et la syntaxe les plus récentes, et vous pouvez également mettre à niveau manuellement la version de Chrome. De même, vous n’avez pas à vous soucier des problèmes de compatibilité de style et de code avec les différents navigateurs.
Environnement de nœud
C'est peut-être une fonctionnalité dont de nombreux développeurs front-end ont rêvé. L'utilisation de la puissante API fournie par Node.js dans l'interface WEB signifie que vous pouvez directement exploiter des fichiers et appeler des API système sur le WEB. page. Même exploiter des bases de données. Bien entendu, en plus de l'API Node complète, vous pouvez également utiliser des centaines de milliers de modules npm supplémentaires.
Cross-domain
Vous pouvez directement utiliser le module de requête fourni par Node pour effectuer des requêtes réseau, ce qui signifie que vous n'avez plus à vous soucier du cross-domain.
Évolutivité puissante
Utilisez node-ffi pour fournir une évolutivité puissante pour les applications (sera présenté en détail dans les chapitres suivants).
Qui utilise Electron
Il existe déjà de nombreuses applications sur le marché qui sont développées à l'aide de Electron
, y compris le familier VS Code
Client, Client GitHub
, client Atom
, etc. J'ai été très impressionné par la rédaction de Xunlei lors de la sortie de Xunlei X10.1
l'année dernière : Electron
进行开发了,包括我们熟悉的VS Code
客户端、GitHub
客户端、Atom
客户端等等。印象很深的,去年迅雷在发布迅雷X10.1
时的文案:
从迅雷X 10.1版本开始,我们采用Electron软件框架完全重写了迅雷主界面。使用新框架的迅雷X可以完美支持2K、4K等高清显示屏,界面中的文字渲染也更加清晰锐利。从技术层面来说,新框架的界面绘制、事件处理等方面比老框架更加灵活高效,因此界面的流畅度也显著优于老框架的迅雷。至于具体提升有多大?您一试便知。
你可以打开VS Code
,点击【帮助】【切换开发人员工具】来调试VS Code
À partir de Xunlei Thunder X utilisant le nouveau framework peut parfaitement prendre en charge les affichages haute définition tels que 2K et 4K, et le rendu du texte dans l'interface est également plus clair et plus net. D'un point de vue technique, le nouveau framework est plus flexible et efficace que l'ancien framework en termes de dessin d'interface et de traitement des événements, de sorte que la fluidité de l'interface est également nettement meilleure que celle de l'ancien framework Thunder. Quant à l’amélioration spécifique ? Vous le saurez une fois que vous l’aurez essayé.
🎜Vous pouvez ouvrirVS Code
et cliquer sur [Aide] [Switch Developer Tools] pour déboguer l'interface client VS Code
. 🎜🎜🎜🎜Electron
combine Chromium
, Node.js
et pour appeler les fonctions locales de l'API du système d'exploitation
. Electron
结合了 Chromium
、Node.js
和用于调用操作系统本地功能的API
。
Chromium
是Google
为发展Chrome
浏览器而启动的开源项目,Chromium
相当于Chrome
的工程版或称实验版,新功能会率先在Chromium
上实现,待验证后才会应用在Chrome
上,故Chrome
的功能会相对落后但较稳定。
Chromium
为Electron
提供强大的UI
能力,可以在不考虑兼容性的情况下开发界面。
Node.js
是一个让JavaScript
运行在服务端的开发平台,Node
使用事件驱动,非阻塞I/O
模型而得以轻量和高效。
单单靠Chromium
是不能具备直接操作原生GUI
能力的,Electron
内集成了Nodejs
,这让其在开发界面的同时也有了操作系统底层API
的能力,Nodejs
中常用的 Path、fs、Crypto
等模块在 Electron
可以直接使用。
为了提供原生系统的GUI
支持,Electron
内置了原生应用程序接口,对调用一些系统功能,如调用系统通知、打开系统文件夹提供支持。
在开发模式上,Electron
在调用系统API
和绘制界面上是分离开发的,下面我们来看看Electron
关于进程如何划分。
Electron
区分了两种进程:主进程和渲染进程,两者各自负责自己的职能。
Electron
运行package.json
的 main
脚本的进程被称为主进程。一个 Electron
应用总是有且只有一个主进程。
职责:
APP
以及对APP
做一些事件监听)可调用的API:
Node.js API
Electron
提供的主进程API
(包括一些系统功能和Electron
附加功能)由于 Electron
使用了 Chromium
来展示 web
页面,所以 Chromium
的多进程架构也被使用到。 每个Electron
中的 web
页面运行在它自己的渲染进程中。
主进程使用 BrowserWindow 实例创建页面。 每个 BrowserWindow 实例都在自己的渲染进程里运行页面。 当一个 BrowserWindow 实例被销毁后,相应的渲染进程也会被终止。
你可以把渲染进程想像成一个浏览器窗口,它能存在多个并且相互独立,不过和浏览器不同的是,它能调用Node API
。
职责:
HTML
和CSS
渲染界面JavaScript
做一些界面交互可调用的API:
DOM API
Node.js API
Electron
提供的渲染进程API
Chromium
est un navigateur développé par Google
pour le développement de Chrome
Quant au projet open source lancé, Chromium
est équivalent à la version d'ingénierie ou à la version expérimentale de Chrome
. Les nouvelles fonctionnalités seront d'abord implémentées sur Chromium.
et doivent être vérifiés. Il sera appliqué à Chrome
plus tard, donc la fonction de Chrome
sera relativement arriérée mais plus stable. Chromium
fournit de puissantes fonctionnalités UI
pour Electron
, vous permettant de développer des interfaces sans tenir compte de la compatibilité. 2. Node.js
Node.js
est une plateforme de développement qui permet à JavaScript
de s'exécuter sur côté serveur, Node
utilise un modèle E/S
non bloquant et piloté par les événements pour être léger et efficace. Chromium
seul ne peut pas avoir la capacité de faire fonctionner directement l'GUI
natif Electron
intègre Nodejs
. pour développer l'interface tout en ayant également la capacité de l'API
sous-jacente du système d'exploitation. Le Path, fs, Crypto
et d'autres modules couramment utilisés dans Nodejs<.> sont dans <code>Electron
et peuvent être utilisés directement.
GUI
pour le système natif, Electron
a construit -dans les applications natives L'interface prend en charge l'appel de certaines fonctions système, telles que l'appel des notifications système et l'ouverture des dossiers système. 🎜🎜En mode développement, Electron
est développé séparément dans le système appelant API
et l'interface de dessin. Jetons un coup d'œil au processus de Electron
. Comment faire. diviser. 🎜Electron
distingue deux processus : le processus principal et le processus de rendu, chacun étant responsable du sien. fonctions. 🎜🎜🎜🎜Electron Le processus qui exécute le script main
de package.json
est appelé le processus principal. Une application Electron
possède toujours un et un seul processus principal. 🎜🎜Responsabilités :🎜APP
et APP effectue une surveillance des événements)🎜Node API .js
🎜API
fourni par Electron
(y compris certaines fonctions système et les fonctions supplémentaires Electron
)🎜 🎜 Electron
utilise Chromium
pour afficher le web
page, donc l'architecture multi-processus de Chromium
est également utilisée. Chaque page web
dans Electron
s'exécute dans son propre processus de rendu. 🎜🎜Le processus principal utilise une instance de BrowserWindow pour créer la page. Chaque instance de BrowserWindow exécute la page dans son propre processus de rendu. Lorsqu'une instance de BrowserWindow est détruite, le processus de rendu correspondant sera également terminé. 🎜🎜Vous pouvez considérer le processus de rendu comme une fenêtre de navigateur. Il peut exister plusieurs et indépendamment les uns des autres, mais contrairement à un navigateur, il peut appeler une
API Node
. 🎜🎜Responsabilités :🎜HTML
et CSS
🎜JavaScript code >Faites une interaction avec l'interface🎜🎜🎜<strong>API appelable :</strong>🎜<ul>
<li>
<code>API DOM
🎜API Node.js
🎜API
fourni par Electron
🎜🎜🎜[Recommandations associées : 🎜tutoriel vidéo javascript🎜, 🎜front-end web🎜]🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!