目录
钥匙要点
>注意:我们在这里使用受版权保护的漫威属性来说明目的。请不要以自己的方式分发它们!
>

我如何创建一个新的电子项目?

终端或命令提示符,然后使用命令电子。此命令启动您的应用程序。
我可以在我的电子应用中使用node.js模块吗?
我可以在我的电子应用中使用Web技术吗?
>
首页 web前端 js教程 用电子创建跨平台桌面节点应用程序

用电子创建跨平台桌面节点应用程序

Feb 18, 2025 pm 12:26 PM

用电子创建跨平台桌面节点应用程序

钥匙要点

    GitHub开发的一种工具
  • Electron允许开发人员使用JavaScript和Web Technologies创建跨平台桌面应用程序。它提供了比以前的选项(例如Flash,Air,Java和Silverlight。
  • 一个电子项目需要三个文件:index.html,main.js和package.json。 index.html文件是默认情况下呈现的网页,main.js文件启动应用程序并创建一个浏览器窗口以渲染html,并且package.json文件列出了应用程序依赖项,元数据和所需的文件。>。 Electron应用程序可以使用Electron-Packager NPM模块等工具将电子应用程序包装到“本机”应用中。这会创建一个可执行的二进制文件,该二进制可以在各种平台上运行,包括Windows,MacOS和Linux。
  • >电子不仅用于简单的应用程序。它可以处理复杂的功能,并提供访问剪贴板访问,应用程序菜单栏工具和用于调试的Chrome Dev工具等功能。通过电子构建了几种流行的应用,例如Atom,Slack和Kitematic。
  • >称我为老式,但我一直更喜欢使用适合每个目的的桌面应用程序。我觉得,如果我要使用的只是我所做的所有事情的浏览器,那为什么要拥有一台“合适的”计算机呢?从实际的层面上,我经常旅行,通常在互联网连接或使用不稳定的互联网连接之间进行旅行,并且“真实”应用程序通常在允许有效的离线工作方面要好得多。
  • >
  • 我感谢我的开发和维护本地桌面应用程序的复杂程度,并且可以理解为什么公司将用户推向Web或跨平台版本。在过去的几十年中,已经有很多选择来实现这一目标。 Flash,Air,Java和Sliverlight都是所有能力以不同程度的成功承诺的选项。
这些选项的主要问题是,他们通常涉及学习另一种语言(打败了这一点)或强迫用户安装困扰着稳定,性能和安全问题的插件。

>

我们都知道JavaScript和Web技术的力量,并看到了使用此知识开发和包装跨平台桌面应用程序的一波选项。

电子,github是一种选择,但是由于我已经很高兴地使用了与之构建的多个应用程序,因此研究似乎是一个不错的选择。经过两年的开发,包括一个名称更改(来自原子壳),Electron最近已达到1.0版,这始终是任何项目存在的里程碑。有什么更好的时间来了解它的能力。

>

安装电子

Electron具有快速的启动项目和预先构建的版本,但让我们直接潜入深处,并通过NPM安装电子:

或Mac Homebrew Lovers,通过桶:

<span>npm install electron-prebuilt -g
</span>
登录后复制
登录后复制

无论您遵循哪个选项,您都应最终得到可执行的电子二进制。

用电子创建跨平台桌面节点应用程序

此应用程序仅用于捆绑和运行您的最终项目,而不是为创建一个项目。为此,您可以使用任何标准的文本编辑器或IDE。

一个电子项目需要三个文件:

index.html:默认呈现的网页。
    >
  • > main.js:启动该应用并创建一个浏览器窗口以渲染html。
  • package.json:列出应用程序依赖项,元数据和所需的文件。
  • >

用电子创建跨平台桌面节点应用程序你需要一个英雄

在此示例中,我将创建一个简单的应用程序,该应用程序连接到Marvel API,拉出25个超级英雄并显示其名称和缩略图图像。当该过程完成并具有类似OS的应用程序图标时,它将显示系统通知。最终用户将不知道如何创建应用程序或能够查看源代码。

您可以在github上找到最终项目。

打开软件包。

这是一个标准软件包。在此设置应用程序名称,版本,主JavaScript文件和依赖项。

>

>在添加它们后运行NPM安装以确保您安装了依赖项。>
brew <span>install Caskroom/cask/electron
</span>
登录后复制
登录后复制
> main.js处理主机操作系统与您的JavaScript代码之间的交互。这将是一个简单的例子,您可以在电子文档中找到更多信息。

>

首先,让我们设置所需的要求(即电子),创建一个应用程序,本机浏览器窗口和一个可使用的主窗口占位符。

下一个句柄,如果关闭了Windows,请退出应用程序。如果平台是OS X,则应用程序关闭所有窗口后通常会保持打开状态,并且用户通常会明确戒烟,因此请处理该用例。

>

初始化电子后,创建浏览器窗口并加载应用程序代码。如果窗口关闭,请解除窗口对象。
<span>{
</span>  <span>"name": "hero-browser",
</span>  <span>"version": "0.1.0",
</span>  <span>"main": "main.js",
</span>  <span>"dependencies": {
</span>    <span>"dotenv": "^2.0.0",
</span>    <span>"md5": "^2.1.0"
</span>  <span>}
</span><span>}
</span>
登录后复制
登录后复制

创建一个称为应用的子文件夹。在App/index.html中,将引用添加到所需的样式表和JavaScript文件中,并设置接口的HTML结构。

<span>'use strict';
</span>
<span>const electron = require('electron');
</span><span>const app = electron.app;  // Module to control application life.
</span><span>const BrowserWindow = electron.<span>BrowserWindow</span>;  // Module to create native browser window.
</span><span>var mainWindow = null;
</span>
登录后复制
登录后复制
创建app/css/index.css并添加一些基本的CSS以帮助布局。

app<span>.on('window-all-closed', function() {
</span>    <span>if (process.platform != 'darwin') {
</span>        app<span>.quit();
</span>    <span>}
</span><span>});
</span>
登录后复制
登录后复制
创建应用程序/JS/index.js。这将是大多数应用程序功能发生的地方。首先设置所需的依赖项和变量:

<span>npm install electron-prebuilt -g
</span>
登录后复制
登录后复制

奇迹API是一个有趣的API,但其身份验证和数据结构可能会令人困惑。在此处注册以获取键,然后遵循以下说明以获取上述三个参数。身份验证所需的公共密钥和私钥存储在.env文件中,并使用dotenv软件包访问。

brew <span>install Caskroom/cask/electron
</span>
登录后复制
登录后复制

限制值设置要请求的记录数量,还有其他参数可以设置。>

>如果您宁愿跳过与Marvel API进行连接和认证,那么我创建了一个json数据文件供您使用。用以下方式替换上述JavaScript代码

接下来创建将每个字符输出到targue_list div中所需的HTML和占位符变量:
<span>{
</span>  <span>"name": "hero-browser",
</span>  <span>"version": "0.1.0",
</span>  <span>"main": "main.js",
</span>  <span>"dependencies": {
</span>    <span>"dotenv": "^2.0.0",
</span>    <span>"md5": "^2.1.0"
</span>  <span>}
</span><span>}
</span>
登录后复制
登录后复制

接下来,请致电API并处理响应,然后钻入JSON结构中的实际字符列表。data.data.results。

>为每个字符创建HTML元素,并将其附加到tarne_list。 Marvel API中的图像分为文件名和扩展名。如果没有可用的图像,它将显示“不可用的图像”图像,我们可以处理此图像,但在此示例中不会。
<span>'use strict';
</span>
<span>const electron = require('electron');
</span><span>const app = electron.app;  // Module to control application life.
</span><span>const BrowserWindow = electron.<span>BrowserWindow</span>;  // Module to create native browser window.
</span><span>var mainWindow = null;
</span>
登录后复制
登录后复制
>

循环完成后,显示系统通知,关闭方法并处理连接到API的潜在错误。

通过在项目的根目录中执行下面的命令来运行应用程序:>

app<span>.on('window-all-closed', function() {
</span>    <span>if (process.platform != 'darwin') {
</span>        app<span>.quit();
</span>    <span>}
</span><span>});
</span>
登录后复制
登录后复制

包装应用程序

将代码打包到“本机”应用程序中的
app<span>.on('ready', function() {
</span>  mainWindow <span>= new BrowserWindow({width: 800, height: 600});
</span>  mainWindow<span>.loadURL('file://' + __dirname + '/app/index.html');
</span>
  mainWindow<span>.on('closed', function() {
</span>    mainWindow <span>= null;
</span>  <span>});
</span><span>});
</span>
登录后复制
很简单,但需要几件。首先是应用徽章的图标。外观和文件类型将取决于您要定位的操作系统,但这是我使用的图标,取自Marvel的官方Android App。

用电子创建跨平台桌面节点应用程序

>注意:我们在这里使用受版权保护的漫威属性来说明目的。请不要以自己的方式分发它们!

然后,我使用iconverticons.com/online/将PNG转换为MAC ICON文件,但是还有其他可用工具。

> 包装项目的最简单方法是使用Electron-Packager NPM模块(注意:需要单独安装此项目)。它可以生成大型二进制文件,对于桌面应用程序,这可能不是问题,但是如果是,则在此处描述其他选项。

如果您是在非窗口平台上的Windows包装,则需要安装葡萄酒,这是一个很大的依赖。 除了这些警告之外,这是如何创建应用程序二进制文件的方法。在您的项目文件夹中,运行(

替换为项目用电子创建跨平台桌面节点应用程序>的相关值):

顺序,这些参数设置:

  • 项目文件夹。
  • 生成的应用程序名称。
  • >平台:这些是Windows,Linux,Darwin的Win32,用于Vanilla Mac OS X和MAS MAS,用于Mac App Store版本。全部设置,将为所有平台生成一个二进制文件。
  • 架构:32和64位CPU架构的IA32和X64,或全部。
  • 使用的电子版本。
  • 输出二进制位置,然后覆盖现有文件。
  • >
  • 要使用的图标。
注意:所有参数都可以分开以分别为多个值分开,如果要生成所有平台和体系结构,则可以用-All。

替换相关参数

用电子创建跨平台桌面节点应用程序

进一步的步骤

这是一个简单的例子,可以说明电子的潜力,还有更多的可能性。搁置纯JavaScript可以完成的工作,您可能想看一下:

>

    Mac App Store提交。
  • 使用Chrome Dev工具。
  • >剪贴板访问。
  • 创建应用程序菜单栏工具。
  • Electron的新互动API Explorer。
  • devtron,镀铬开发工具的扩展,专门用于电子开发。
  • 仍然怀疑吗?我想指出的是,在Atom撰写本文时,我在Slack中与本文的编辑进行了交流,并在Kitematic创建的Docker容器中测试了该应用程序。所有这些都是电子生成的应用。好的,他们有问题,但这真是令人印象深刻!
  • >
我很想在下面的评论中听到您使用电子构建的应用程序。

经常询问有关带电子桌面节点应用的问题

>使用电子开发桌面应用程序的先决条件是什么? node.js是一个JavaScript运行时,允许您在服务器或计算机上运行JavaScript,而NPM是Node.js软件包的软件包管理器。您可以从官方node.js网站下载node.js和npm。安装了这些安装后,您可以使用NPM安装电子。

>如何在系统上安装电子?

>安装电子非常简单。安装了node.js和NPM后,您可以在终端或命令提示中使用以下命令在系统上安装电子:npm install -G电子。此命令在全球安装电子,允许您从系统上的任何目录访问它。

>

我如何创建一个新的电子项目?

创建一个新的电子项目,首先,为您的项目创建一个新目录。在您的终端或命令提示符中导航到此目录,然后使用命令NPM INIT初始化一个新的Node.js项目。此命令在您的项目目录中创建一个新的package.json文件。然后,您可以使用命令npm安装-Save Electron在项目中安装Electron。

>电子应用程序的结构是什么?

>电子应用程序通常包含三种类型的文件: package.json,main.js和index.html。 package.json文件包含有关您的应用程序及其依赖项的元数据。 main.js文件是您应用程序的入口点,您可以在其中控制应用程序的生命周期事件。 index.html文件是您的应用程序启动时显示的网页。

>我如何运行电子应用程序?

终端或命令提示符,然后使用命令电子。此命令启动您的应用程序。

>

>如何打包我的电子应用程序以进行分发? 包装您的电子应用程序以进行分发,您可以使用电子包装或电子构建器等模块。这些模块允许您将应用程序包装到可以在各种平台上运行的可执行文件。

我可以在我的电子应用中使用node.js模块吗?

是的,您可以使用节点.JS模块在您的电子应用中。 Electron使用node.js运行时,因此您可以在应用程序中使用任何node.js模块。

我可以在我的电子应用中使用Web技术吗?

是的,您可以在中使用Web Technologies您的电子应用。电子本质上是一个网络浏览器,允许您使用HTML,CSS和JavaScript等Web技术创建桌面应用程序。

>

>我如何调试我的电子应用程序?使用Chrome开发人员工具。电子是建立在铬上的,因此它包括一个内置的开发人员工具,您可以使用该工具来调试应用程序。

我可以用电子构建跨平台应用程序吗?用电子构建跨平台应用。电子允许您构建在Windows,MacOS和Linux上运行的应用程序。

>

以上是用电子创建跨平台桌面节点应用程序的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1664
14
CakePHP 教程
1422
52
Laravel 教程
1316
25
PHP教程
1266
29
C# 教程
1239
24
神秘的JavaScript:它的作用以及为什么重要 神秘的JavaScript:它的作用以及为什么重要 Apr 09, 2025 am 12:07 AM

JavaScript是现代Web开发的基石,它的主要功能包括事件驱动编程、动态内容生成和异步编程。1)事件驱动编程允许网页根据用户操作动态变化。2)动态内容生成使得页面内容可以根据条件调整。3)异步编程确保用户界面不被阻塞。JavaScript广泛应用于网页交互、单页面应用和服务器端开发,极大地提升了用户体验和跨平台开发的灵活性。

JavaScript的演变:当前的趋势和未来前景 JavaScript的演变:当前的趋势和未来前景 Apr 10, 2025 am 09:33 AM

JavaScript的最新趋势包括TypeScript的崛起、现代框架和库的流行以及WebAssembly的应用。未来前景涵盖更强大的类型系统、服务器端JavaScript的发展、人工智能和机器学习的扩展以及物联网和边缘计算的潜力。

JavaScript引擎:比较实施 JavaScript引擎:比较实施 Apr 13, 2025 am 12:05 AM

不同JavaScript引擎在解析和执行JavaScript代码时,效果会有所不同,因为每个引擎的实现原理和优化策略各有差异。1.词法分析:将源码转换为词法单元。2.语法分析:生成抽象语法树。3.优化和编译:通过JIT编译器生成机器码。4.执行:运行机器码。V8引擎通过即时编译和隐藏类优化,SpiderMonkey使用类型推断系统,导致在相同代码上的性能表现不同。

Python vs. JavaScript:学习曲线和易用性 Python vs. JavaScript:学习曲线和易用性 Apr 16, 2025 am 12:12 AM

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

JavaScript:探索网络语言的多功能性 JavaScript:探索网络语言的多功能性 Apr 11, 2025 am 12:01 AM

JavaScript是现代Web开发的核心语言,因其多样性和灵活性而广泛应用。1)前端开发:通过DOM操作和现代框架(如React、Vue.js、Angular)构建动态网页和单页面应用。2)服务器端开发:Node.js利用非阻塞I/O模型处理高并发和实时应用。3)移动和桌面应用开发:通过ReactNative和Electron实现跨平台开发,提高开发效率。

如何使用Next.js(前端集成)构建多租户SaaS应用程序 如何使用Next.js(前端集成)构建多租户SaaS应用程序 Apr 11, 2025 am 08:22 AM

本文展示了与许可证确保的后端的前端集成,并使用Next.js构建功能性Edtech SaaS应用程序。 前端获取用户权限以控制UI的可见性并确保API要求遵守角色库

使用Next.js(后端集成)构建多租户SaaS应用程序 使用Next.js(后端集成)构建多租户SaaS应用程序 Apr 11, 2025 am 08:23 AM

我使用您的日常技术工具构建了功能性的多租户SaaS应用程序(一个Edtech应用程序),您可以做同样的事情。 首先,什么是多租户SaaS应用程序? 多租户SaaS应用程序可让您从唱歌中为多个客户提供服务

从C/C到JavaScript:所有工作方式 从C/C到JavaScript:所有工作方式 Apr 14, 2025 am 12:05 AM

从C/C 转向JavaScript需要适应动态类型、垃圾回收和异步编程等特点。1)C/C 是静态类型语言,需手动管理内存,而JavaScript是动态类型,垃圾回收自动处理。2)C/C 需编译成机器码,JavaScript则为解释型语言。3)JavaScript引入闭包、原型链和Promise等概念,增强了灵活性和异步编程能力。

See all articles