Javascript kann Desktop-Programme schreiben. In JavaScript kann das Electron-Software-Framework zum Entwickeln von Desktop-Programmen verwendet werden. Electron ist eine Open-Source-Bibliothek zum Erstellen plattformübergreifender Desktop-Anwendungen. Sie bietet eine umfangreiche lokale API, die es Entwicklern ermöglicht, reines JS zum Erstellen von Desktop-Anwendungen zu verwenden.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
Was ist eine Desktop-Anwendung?
Desktop-Anwendung, auch bekannt als GUI-Programm (Graphical User Interface), aber es gibt einige Unterschiede zum GUI-Programm. Desktop-Anwendungen verwandeln GUI-Programme von GUI in „Desktop“ und machen das kalte Konzept eines Computers wie ein Stück Holz menschlicher, lebendiger und dynamischer.
Kann Javascript also zum Schreiben von Desktop-Programmen verwendet werden?
Javascript kann Desktop-Programme schreiben. Die Welt von JavaScript wird immer leistungsfähiger und Sie können Frameworks wie Eletron verwenden, um problemlos Desktop-Anwendungen zu entwickeln.
Electron ist eine plattformübergreifende Javascript-Desktop-Entwicklungsbibliothek.
Electron ist eine von Github entwickelte Open-Source-Bibliothek, die HTML, CSS und JavaScript verwendet, um plattformübergreifende Desktop-Anwendungen zu erstellen. Electron erreicht dies, indem es Chromium und Node.js in derselben Laufzeitumgebung zusammenführt und sie als Apps für Mac-, Windows- und Linux-Systeme verpackt.
Electron bietet eine umfangreiche native (Betriebssystem-)API, mit der Sie Desktop-Anwendungen mit reinem JavaScript erstellen können. Im Gegensatz zu anderen Node.js-Laufzeiten konzentriert sich Electron eher auf Desktop-Anwendungen als auf Webservern.
Electron ermöglicht Ihnen die Verwendung von reinem JavaScript zum Aufrufen umfangreicher nativer APIs zum Erstellen von Desktop-Anwendungen. Man kann es sich als eine Variante von io.js vorstellen, die sich eher auf Desktop-Anwendungen als auf Webserver konzentriert.
Grund für die Verwendung von Electron für die Entwicklung:
Webtechnologie mit einer starken Ökologie für die Entwicklung, niedrigen Entwicklungskosten, starker Skalierbarkeit und coolerer Benutzeroberfläche verwenden
Plattformübergreifend, ein Satz Code Das ist möglich kann in drei Softwaresätze für Windows, Linux und Mac gepackt werden, und die Kompilierung erfolgt schnell
Natürlich müssen wir auch seine Mängel erkennen: Die Leistung ist geringer als bei nativen Desktop-Anwendungen und die endgültige gepackte Anwendung ist viel größer als native Anwendungen.
Entwicklungserfahrung
Obwohl Sie weiterhin WEB-Technologie für die Entwicklung verwenden, müssen Sie sich nur noch um die Version von Chrome kümmern, die Sie derzeit verwenden. Im Allgemeinen ist es so neu, dass Sie die neueste API und Syntax verwenden können. Sie können die Chrome-Version auch manuell aktualisieren. Ebenso müssen Sie sich keine Gedanken über Stil- und Codekompatibilitätsprobleme mit verschiedenen Browsern machen.
KnotenumgebungDies ist möglicherweise eine Funktion, von der viele Front-End-Entwickler geträumt haben. Die Verwendung der leistungsstarken API von Node.js in der WEB-Schnittstelle bedeutet, dass Sie Dateien direkt im WEB bedienen und System-APIs aufrufen können Seite. Sogar Datenbanken betreiben. Natürlich können Sie neben der vollständigen Node-API auch Hunderttausende weitere npm-Module nutzen.
DomänenübergreifendSie können das von Node bereitgestellte Anforderungsmodul direkt verwenden, um Netzwerkanfragen zu stellen, sodass Sie sich nicht mehr mit domänenübergreifenden Problemen befassen müssen.
Leistungsstarke SkalierbarkeitVerwenden Sie Node-FI, um leistungsstarke Skalierbarkeit für Anwendungen bereitzustellen (wird in den folgenden Kapiteln ausführlich vorgestellt).
Wer nutzt Electron?
Es gibt bereits viele Anwendungen auf dem Markt, die mit Electron
entwickelt werden, darunter der bekannte VS Code
Client, GitHub
-Client, Atom
-Client usw. Ich war sehr beeindruckt von Xunleis Texten, als Xunlei X10.1
letztes Jahr veröffentlicht wurde: Beginnend mit Xunlei Thunder Aus technischer Sicht ist das neue Framework hinsichtlich der Schnittstellenzeichnung und Ereignisverarbeitung flexibler und effizienter als das alte Framework, sodass auch die Glätte der Schnittstelle deutlich besser ist als die des alten Frameworks Thunder. Was die konkrete Verbesserung betrifft? Du wirst es wissen, wenn du es einmal probiert hast.
Sie können VS Code
öffnen und auf [Hilfe] [Entwicklertools wechseln] klicken, um die VS Code
-Clientschnittstelle zu debuggen.
Electron
进行开发了,包括我们熟悉的VS Code
客户端、GitHub
客户端、Atom
客户端等等。印象很深的,去年迅雷在发布迅雷X10.1
时的文案:
从迅雷X 10.1版本开始,我们采用Electron软件框架完全重写了迅雷主界面。使用新框架的迅雷X可以完美支持2K、4K等高清显示屏,界面中的文字渲染也更加清晰锐利。从技术层面来说,新框架的界面绘制、事件处理等方面比老框架更加灵活高效,因此界面的流畅度也显著优于老框架的迅雷。至于具体提升有多大?您一试便知。
你可以打开VS Code
,点击【帮助】【切换开发人员工具】来调试VS Code
Electron
kombiniert Chromium
, Node.js
und zum Aufrufen lokaler Funktionen der Betriebssystem-API
. 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
ist ein von Google
für die Entwicklung von Chrome entwickelter Browser
Was das gestartete Open-Source-Projekt betrifft, entspricht Chromium
der technischen Version oder experimentellen Version von Chrome
. Neue Funktionen werden zuerst auf Chromium implementiert
und muss später auf Chrome
angewendet werden, sodass die Funktion von Chrome
relativ rückständig, aber stabiler ist. Chromium
bietet leistungsstarke UI
-Funktionen für Electron
, sodass Sie Schnittstellen entwickeln können, ohne die Kompatibilität zu berücksichtigen. 2. Node.js
Node.js
ist eine Entwicklungsplattform, auf der JavaScript
ausgeführt werden kann Der Server Node
verwendet ein ereignisgesteuertes, nicht blockierendes I/O
-Modell, um leichtgewichtig und effizient zu sein. Chromium
allein kann die native GUI
nicht direkt bedienen und Nodejs
integrieren Es ermöglicht die Entwicklung der Schnittstelle und verfügt gleichzeitig über die Fähigkeit der zugrunde liegenden API
des Betriebssystems. Der häufig verwendete Pfad, fs, Crypto
und andere Module in Nodejs sind in Electron
direkt einsetzbar.
GUI
-Unterstützung für das native System bereitzustellen, hat Electron
entwickelt -in nativen Anwendungen Die Schnittstelle bietet Unterstützung für den Aufruf einiger Systemfunktionen, z. B. das Aufrufen von Systembenachrichtigungen und das Öffnen von Systemordnern. 🎜🎜Im Entwicklungsmodus wird Electron
separat in der Aufrufsystem-API
und der Zeichenschnittstelle entwickelt. Werfen wir einen Blick auf den Prozess von Electron
teilen. 🎜Electron
unterscheidet zwei Prozesse: den Hauptprozess und den Rendering-Prozess, von denen jeder für sich verantwortlich ist Funktionen. 🎜🎜🎜🎜Electron Der Prozess, der das main
-Skript von package.json
ausführt, wird als Hauptprozess bezeichnet. Eine Electron
-Anwendung hat immer einen und nur einen Hauptprozess. 🎜🎜Aufgaben:🎜APP
und APP
führt eine Ereignisüberwachung durch)🎜Node .js API
🎜API
, die von Electron
bereitgestellt wird (einschließlich einiger Systemfunktionen und Electron
-Zusatzfunktionen)🎜 🎜 Electron
Chromium
verwendet, um web
anzuzeigen Seite, daher wird auch die Multiprozessarchitektur von Chromium
verwendet. Jede web
-Seite in Electron
wird in einem eigenen Rendering-Prozess ausgeführt. 🎜🎜Der Hauptprozess verwendet eine BrowserWindow-Instanz, um die Seite zu erstellen. Jede BrowserWindow-Instanz führt die Seite in ihrem eigenen Renderprozess aus. Wenn eine BrowserWindow-Instanz zerstört wird, wird auch der entsprechende Rendervorgang beendet. 🎜🎜Sie können sich den Rendering-Prozess wie ein Browserfenster vorstellen. Es kann mehrfach und unabhängig voneinander existieren, aber im Gegensatz zu einem Browser kann es
Node API
aufrufen. 🎜🎜Aufgaben:🎜HTML
und CSS
🎜JavaScript code >Führen Sie eine Schnittstelleninteraktion aus🎜🎜🎜<strong>Aufrufbare API:</strong>🎜<ul>
<li>
<code>DOM API
🎜Node.js API
🎜API
bereitgestellt von Electron
🎜🎜🎜[Verwandte Empfehlungen: 🎜Javascript-Video-Tutorial🎜, 🎜Web-Frontend🎜]🎜Das obige ist der detaillierte Inhalt vonKann Javascript Desktop-Programme schreiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!