iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >如何使用JavaScript开发跨平台的桌面应用
  • 926
分享到

如何使用JavaScript开发跨平台的桌面应用

2024-04-02 19:04:59 926人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关如何使用javascript开发跨平台的桌面应用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。任何可以使用JavaScript来编写的应用,最终会由Ja

这篇文章给大家分享的是有关如何使用javascript开发跨平台的桌面应用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

任何可以使用JavaScript来编写的应用,最终会由JavaScript编写。--Atwood定律

Atwood's Law是Jeff Atwood在2007年提出的:“any application that can be written in JavaScript, will eventually be written in JavaScript.”。据说,这只是当时开的一个玩笑。不过,这个玩笑似乎渐渐变成了现实。从各种华丽的网页框架,到功能强大的库,到了现在的机器学习服务器开发,都有JavaScript的身影。从JavaScript也衍生出了一些语言,例如typescript。而使用JavaScript制作游戏也变得方便起来,可以使用CocosCreator。HTML5的横空出世,也将之前JavaScript在网页的辅助地位提升到了主力地位,nodejs的出现更是让其实现了所谓的“全栈”开发,现在JavaScript甚至可以做手机应用。但是,在移动端、浏览器、服务器端有需求,在桌面应用上也会有需求。能不能使用JavaScript来开发可以跨平台的应用程序呢?答案是:可以。使用Electron即可方便的使用JavaScript进行桌面应用开发。可以看到,很多大名鼎鼎的程序都是由它直接或间接开发而成,例如Atom,vscode等。

需要注意的是,目前使用Electron开发桌面应用程序有一些限制条件。首先,我们无法调用复杂的系统api(或者说不能直接做到),这就导致我们无法开发更加复杂的企业级应用。其次,它的性能目前仍然不能与原生应用相提并论。我们可以认为,Electron就是一个套着浏览器外壳的包装盒,这个包装盒给我们读写文件的能力,我们开发好WEB应用程序,调试完成后使用它来进行封装,给我们的web应用程序加一个浏览器内核。这样,我们的js代码就可以脱离传统浏览器模式,独立运行了。然而它和传统的浏览器模式道理是一样的,所以有极高性能需求时,还是需要使用c++、Java等开发。但大多数的应用程序根本不需要那么高的性能要求,所以使用Electron开发是没有问题的。接下来,我们尝试着从零开始,一步一步的使用Electron来开发windows桌面应用,当然Maclinux也适用此方法。

首先,我们进入Electron的官网:https://electron.atom.io/。进入后,发现全英文,不要紧,实际上大多数都可以不看。我们直接来到首页的这里:

如何使用JavaScript开发跨平台的桌面应用

如图所示,官方给出的安装方法是使用git和npm,但我们可以不使用git。然而,npm是必要的。npm是nodejs的包管理工具,新版本的nodejs已经集成了npm,安装nodejs后直接附带npm。然而,一些旧版本的nodejs,或者从一些非官方处下载的不可靠的nodejs,可能不带npm,所以我们在使用它之前必须先安装nodejs和npm。网上有很多教程,这里不再演示。需要注意的是,第三个命令npm install && npm start中,我们可以只输入npm install,因为后面附带的指令很可能导致控制台“死机”的情况,一直卡住且无法成功安装Electron。所以,我们只要进入我们指定的目录,然后执行以下命令即可(这些命令各个系统通用):

如何使用JavaScript开发跨平台的桌面应用

如何使用JavaScript开发跨平台的桌面应用

如此一来,我们就安装好了Electron。文件夹中:

如何使用JavaScript开发跨平台的桌面应用

打开来看,文件的目录结构是这样的:

如何使用JavaScript开发跨平台的桌面应用

目录看似复杂,其实,我们甚至可以不管这些文件!main.js可以相当于我们的配置文件,里面有一些配置信息,默认情况下,我们的应用程序会直接打开这个目录下的index.html。我们可以通过修改main.js中的参数来更改入口文件。当然,package.JSON也有用,之后都会讲到。

首先,我们可以使用electron.exe直接运行应用。在我的目录中,electron.exe在E:\electron-quick-start\node_modules\electron\dist目录下。我们可以使用electron.exe <rootpath> 这种命令格式直接运行我们的应用,rootpath代表你要运行的项目目录。例如,我之前用three.js编写的应用,目录是:E:\app。

如何使用JavaScript开发跨平台的桌面应用

我们在控制台中输入指令:如何使用JavaScript开发跨平台的桌面应用

效果:

如何使用JavaScript开发跨平台的桌面应用

确实是以桌面应用程序的形式运行了。但是,我们希望我们的应用程序直接打包成.exe,.app的形式,而不是让我们的用户手动输入命令启动应用程序。而看看官方文档,你就会发现,官方给出的打包方法还是有一些坑的,如果处理不好,就要中招。所以,我们使用更加方便的electron-packager。GitHub链接在此:Https://github.com/electron-userland/electron-packager。首先,我们还是按教程输入指令来安装它。同样,这个指令在Linux,Mac,Windows上通用。

如何使用JavaScript开发跨平台的桌面应用

安装方法和Electron一样,从git上下载下来,进行安装。需要注意的是,上图的两个指令我们执行其中一个就可以了。推荐执行第二个,因为第二个是全局安装,安装之后我们就可以在控制台直接执行electron-packager命令,大大方便了我们的效率。

安装好后,我们开始打包。首先,把我们的项目目录拷贝到我们之前安装的electron目录下:

如何使用JavaScript开发跨平台的桌面应用

由于我们的应用程序入口文件是app下的CG1.html,所以我们还需要打开main.js配置一下入口文件:

如何使用JavaScript开发跨平台的桌面应用

然后,打开package.json文件,配置一下参数。

如何使用JavaScript开发跨平台的桌面应用

这里只配置了name参数,因为name参数和我们打包之后生成的应用程序名称有关。接下来,通过控制台进入我们的electron目录(就是有main.js有package.json的那个目录),

在控制台执行如下命令:

如何使用JavaScript开发跨平台的桌面应用

不要漏看了还有个".",这个指当前目录的意思。其实,如果全局安装了electron-packager,那我们呀可以把.换成任意的路径。由于这个命令可以自动的检测当前计算机的操作系统,还能检测出是32位还是64位,所以我们大可省略一些参数。但如果要生成可定制平台的软件,需要带上一些参数,详细的在其项目的github中都已给出。相信大家如果有这个需求,那搞定这些参数应该不在话下。静待一会儿,打包完毕。我们可以在文件夹下看到多了一个名为CG1-win32-x64的文件夹。打开之后,点击CG1.exe,即可打开应用程序,此程序已经可以作为发布版本提供给用户!

如何使用JavaScript开发跨平台的桌面应用

感谢各位的阅读!关于“如何使用JavaScript开发跨平台的桌面应用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 如何使用JavaScript开发跨平台的桌面应用

本文链接: https://www.lsjlt.com/news/77433.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用JavaScript开发跨平台的桌面应用
    这篇文章给大家分享的是有关如何使用JavaScript开发跨平台的桌面应用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。任何可以使用JavaScript来编写的应用,最终会由Ja...
    99+
    2022-10-19
  • 怎么实现Golang跨平台进行GUI桌面应用程序开发
    本篇内容主要讲解“怎么实现Golang跨平台进行GUI桌面应用程序开发”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么实现Golang跨平台进行GUI桌面应用程序开发”吧!golang能开发桌...
    99+
    2023-06-16
  • NativePHP:使用PHP构建跨平台桌面应用的新框架
    NativePHP是一个用于使用PHP构建桌面应用的框架。它允许PHP开发人员使用熟悉的工具和技术创建跨平台的原生应用。NativePHP具有一系列易于使用的类,一套用于构建和打包应用程序的工具以及一个静态跨平台PHP运行时。 官网地址:h...
    99+
    2023-08-31
    php 开发语言
  • 在Laravel平台上使用NativePHP开发创新的桌面应用程式
    使用NativePHP在Laravel平台上开发创新的桌面应用程序随着技术的发展和人们对用户体验的要求日益增长,创新的桌面应用程序成为了各种行业中的关键需求。而Laravel作为一款优秀的PHP开发框架,以其高效、可扩展性和易用性广受开发者...
    99+
    2023-12-20
    桌面应用程序 laravel NativePHP
  • 如何使用 ASP 和 JavaScript 创建跨平台应用程序?
    ASP和JavaScript是两种非常流行的Web开发技术,常用于创建各种类型的应用程序。这两种技术都可以用于创建跨平台应用程序。在本文中,我们将讨论如何使用ASP和JavaScript创建跨平台应用程序。 ASP是一种服务器端脚本语言,用...
    99+
    2023-06-21
    npm javascript linux
  • 如何使用Java进行桌面应用的开发?
    使用Java进行桌面应用的开发可以借助JavaFX或Swing框架。下面为你提供一些基本的步骤: 安装Java开发工具包(JDK):首先,确保你已经安装了Java开发工具包(JDK),并正确配置了环境变量。 选择GUI框架:Java提供...
    99+
    2023-09-10
    java 开发语言
  • 如何使用Python进行桌面应用开发?
    Python提供了多个库和框架来进行桌面应用开发。以下是使用Python进行桌面应用开发的常用方法之一: PyQt:PyQt是一个用于开发跨平台桌面应用的Python库,它提供了丰富的GUI组件和工具。以下是使用PyQt创建桌面应用的基本...
    99+
    2023-09-08
    python 开发语言
  • 在Laravel平台上利用NativePHP开发令人印象深刻的桌面应用程序
    利用NativePHP在Laravel平台上开发出色的桌面应用程序随着技术的不断发展,越来越多的开发者在网页应用之外开始尝试开发桌面应用程序。Laravel作为一款流行的PHP框架,给开发者提供了快速搭建网页应用的便利。但是,如何利用Lar...
    99+
    2023-12-20
    桌面应用程序 laravel NativePHP
  • 如何解析移动应用的跨平台开发工具Xamarin和React Native
    这篇文章跟大家分析一下“如何解析移动应用的跨平台开发工具Xamarin和React Native”。内容详细易懂,对“如何解析移动应用的跨平台开发工具Xamarin和React Native”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下...
    99+
    2023-06-17
  • Python如何使用Eel和HTML开发桌面应用
    目录环境准备效果展示文件结构总结最近感觉Python越用越顺手了,干啥都挺好用,可是就桌面应用这一块一直没有找到很好的解决方案,试过了TK、QT、wx之流的GUI方案后感觉都只能做点...
    99+
    2023-01-03
    Python使用Eel Python使用HTML Python开发桌面应用
  • 如何使用SAP云平台Mobile Service开发移动应用
    本篇文章给大家分享的是有关如何使用SAP云平台Mobile Service开发移动应用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。今天要介绍的是SAP推出的另一种移动应用开发...
    99+
    2023-06-03
  • Kotlin & Compose Multiplatform 跨平台(Android端、桌面端)开发实践之使用 SQLDelight 将数据储存至数据库
    前言 关于标题和文章主题 取标题的时候我还在想,我应该写 Compose 跨平台呢还是写 Kotlin 跨平台。 毕竟对于我的整体项目而言,确实是 Compose 跨平台开发,但是对于我这篇文章要说的东西,那其实也涉及不到多少 Compos...
    99+
    2023-08-20
    android kotlin 数据库
  • 使用Laravel平台创建灵活的本地PHP桌面应用程序
    运用NativePHP技术在Laravel上构建灵活的桌面应用程序,需要具体代码示例随着科技的不断发展,桌面应用程序的需求也越来越多。然而,开发桌面应用程序通常需要使用特定的编程语言和框架来实现。本文将介绍如何运用NativePHP技术在L...
    99+
    2023-12-20
    桌面应用程序 laravel NativePHP
  • 如何理解Node.js开发的桌面应用TermKit
    这期内容当中小编将会给大家带来有关如何理解Node.js开发的桌面应用TermKit,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。TermKit介绍【下面内容参考自htt...
    99+
    2022-10-19
  • 详解如何使用VSCode和CMake构建跨平台的C/C++开发环境
    目录一、前言二、开发工具三、示例项目四、使用CMake4.1、如何引入一个第三方静态库4.2、动态库的加载问题4.3、utf-8编码格式的代码通过visualstudio编译报错问题...
    99+
    2022-11-12
  • Python使用pywebview开发桌面应用的全过程
    目录前言最简单应用上手高阶应用在HTML前端界面中调用Python中的函数打包成单个EXE文件判断页面中pywebview.api对象是否加载成功总结前言 之前用过Eel做的桌面应用...
    99+
    2022-11-13
  • 如何使用Cmake来搭建跨平台的应用程序框架
    这篇文章主要介绍“如何使用Cmake来搭建跨平台的应用程序框架”,在日常操作中,相信很多人在如何使用Cmake来搭建跨平台的应用程序框架问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Cmake来搭建跨...
    99+
    2023-06-15
  • C#跨平台开发之使用C/C++生成的动态链接库
    操作环境:Visual Studio 2017 如何实现 使用 C# 进行嵌入式开发? .NET Core 虽然实现了跨平台,但是不可能处处使用 C# 开发,就好像没人使用SQL开发...
    99+
    2022-11-12
  • 5个开发桌面应用程序的JavaScript框架是怎样的
    5个开发桌面应用程序的JavaScript框架是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。很久以前,开发客户端桌面程...
    99+
    2022-10-19
  • C++中如何使用Cmake来搭建跨平台的应用程序框架
    这篇文章主要介绍了C++中如何使用Cmake来搭建跨平台的应用程序框架,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。示例代码说明1. 功能描...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作