我的编程空间,编程开发者的网络收藏夹
学习永远不晚

javascript可以写桌面程序吗

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

javascript可以写桌面程序吗

这篇文章主要介绍了javascript可以写桌面程序吗的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇javascript可以写桌面程序吗文章都会有所收获,下面我们一起来看看吧。

javascript能写桌面程序。在javascript中,可以利用Electron软件框架来开发桌面程序;Electron是构建跨平台桌面应用程序的一个开源库,它提供了丰富的本地API,使开发者能够使用纯JS来创建桌面应用程序。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

什么是桌面应用程序

javascript可以写桌面程序吗

桌面应用程序,又称为 GUI 程序(Graphical User Interface),但是和 GUI 程序也有一些区别。桌面应用程序 将 GUI 程序从GUI 具体为“桌面”,使冷冰冰的像块木头一样的电脑概念更具有 人性化,更生动和富有活力。

那么javascript能写桌面程序吗?

javascript能写桌面程序。JavaScript的世界越来越强大,可以使用Eletron类似的框架来轻松开发桌面级应用程序了。

Electron 一个跨平台的javascript桌面开发库.

Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库。 Electron通过将Chromium和Node.js合并到同一个运行时环境中,并将其打包为Mac,Windows和Linux系统下的应用来实现这一目的。

Electron提供了丰富的本地(操作系统)的API,使你能够使用纯JavaScript来创建桌面应用程序。与其它各种的Node.js运行时不同的是Electron专注于桌面应用程序而不是Web服务器。

Electron 可以让你使用纯 JavaScript 调用丰富的原生 APIs 来创造桌面应用。你可以把它看作是专注于桌面应用而不是 web 服务器的,io.js 的一个变体。

使用Electron开发的理由:

  • 使用具有强大生态的Web技术进行开发,开发成本低,可扩展性强,更炫酷的UI

  • 跨平台,一套代码可打包为Windows、Linux、Mac三套软件,且编译快速

  • 可直接在现有Web应用上进行扩展,提供浏览器不具备的能力

  • 你是一个前端

当然,我们也要认清它的缺点:性能比原生桌面应用要低,最终打包后的应用比原生应用大很多。

开发体验

兼容性

虽然你还在用WEB技术进行开发,但是你不用再考虑兼容性问题了,你只需要关心你当前使用Electron的版本对应Chrome的版本,一般情况下它已经足够新来让你使用最新的API和语法了,你还可以手动升级Chrome版本。同样的,你也不用考虑不同浏览器带的样式和代码兼容问题。

Node环境

这可能是很多前端开发者曾经梦想过的功能,在WEB界面中使用Node.js提供的强大API,这意味着你在WEB页面直接可以操作文件,调用系统API,甚至操作数据库。当然,除了完整的Node API,你还可以使用额外的几十万个npm模块。

跨域

你可以直接使用Node提供的request模块进行网络请求,这意味着你无需再被跨域所困扰。

强大的扩展性

借助node-ffi,为应用程序提供强大的扩展性(后面的章节会详细介绍)。

谁在用Electron

javascript可以写桌面程序吗

现在市面上已经有非常多的应用在使用Electron进行开发了,包括我们熟悉的VS Code客户端、GitHub客户端、Atom客户端等等。印象很深的,去年迅雷在发布迅雷X10.1时的文案:

从迅雷X 10.1版本开始,我们采用Electron软件框架完全重写了迅雷主界面。使用新框架的迅雷X可以完美支持2K、4K等高清显示屏,界面中的文字渲染也更加清晰锐利。从技术层面来说,新框架的界面绘制、事件处理等方面比老框架更加灵活高效,因此界面的流畅度也显著优于老框架的迅雷。至于具体提升有多大?您一试便知。

你可以打开VS Code,点击【帮助】【切换开发人员工具】来调试VS Code客户端的界面。

javascript可以写桌面程序吗

Electron运行原理

javascript可以写桌面程序吗

Electron 结合了 ChromiumNode.js 和用于调用操作系统本地功能的API

1、Chromium

ChromiumGoogle为发展Chrome浏览器而启动的开源项目,Chromium相当于Chrome的工程版或称实验版,新功能会率先在Chromium上实现,待验证后才会应用在Chrome上,故Chrome的功能会相对落后但较稳定。

ChromiumElectron提供强大的UI能力,可以在不考虑兼容性的情况下开发界面。

2、Node.js

Node.js是一个让JavaScript运行在服务端的开发平台,Node使用事件驱动,非阻塞I/O模型而得以轻量和高效。

单单靠Chromium是不能具备直接操作原生GUI能力的,Electron内集成了Nodejs,这让其在开发界面的同时也有了操作系统底层API的能力,Nodejs 中常用的 Path、fs、Crypto 等模块在 Electron 可以直接使用。

3、系统API

为了提供原生系统的GUI支持,Electron内置了原生应用程序接口,对调用一些系统功能,如调用系统通知、打开系统文件夹提供支持。

在开发模式上,Electron在调用系统API和绘制界面上是分离开发的,下面我们来看看Electron关于进程如何划分。

4、主进程

Electron区分了两种进程:主进程和渲染进程,两者各自负责自己的职能。

javascript可以写桌面程序吗

Electron 运行package.jsonmain 脚本的进程被称为主进程。一个 Electron 应用总是有且只有一个主进程。

职责:

  • 创建渲染进程(可多个)

  • 控制了应用生命周期(启动、退出APP以及对APP做一些事件监听)

  • 调用系统底层功能、调用原生资源

可调用的API:

  • Node.js API

  • Electron提供的主进程API(包括一些系统功能和Electron附加功能)

5、渲染进程

由于 Electron 使用了 Chromium 来展示 web 页面,所以 Chromium 的多进程架构也被使用到。 每个Electron 中的 web页面运行在它自己的渲染进程中。

主进程使用 BrowserWindow 实例创建页面。 每个 BrowserWindow 实例都在自己的渲染进程里运行页面。 当一个 BrowserWindow 实例被销毁后,相应的渲染进程也会被终止。

你可以把渲染进程想像成一个浏览器窗口,它能存在多个并且相互独立,不过和浏览器不同的是,它能调用Node API

职责:

  • HTMLCSS渲染界面

  • JavaScript做一些界面交互

可调用的API:

  • DOM API

  • Node.js API

  • Electron提供的渲染进程API

关于“javascript可以写桌面程序吗”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“javascript可以写桌面程序吗”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

javascript可以写桌面程序吗

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

下载Word文档

猜你喜欢

golang可以写桌面吗

golang可以写桌面,golang的设计目标之一是提供简洁、高效的开发体验,并且具有垃圾回收机制和并发编程的优势,这些特性使得golang成为一种理想的语言来开发桌面应用程序,尤其是对于需要高性能和并发处理的应用程序。虽然golang的标
2023-07-19

可以用java编写javascript吗

Java和JavaScript是两种不同的编程语言,Java是一种面向对象的编程语言,用于编写桌面和企业应用程序。而JavaScript是一种脚本语言,用于Web上的交互式应用程序。虽然Java和JavaScript在名称上很相似,但它们之间没有直接的联系。Java可以使用JavaFX技术创建Web应用程序,但它不使用JavaScript。相反,JavaFX使用自己的脚本语言,
2023-05-15

php里面可以写js吗

本篇内容主要讲解“php里面可以写js吗”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php里面可以写js吗”吧!php里面是能写js代码的,其写法如“
2023-06-25

阿里云服务器可以远程桌面吗

首先,使用阿里云服务器可以实现远程桌面。通过云服务,我们可以在任何地方,通过互联网连接到云服务器上,然后在云服务器上访问我们的远程桌面应用程序。这样,我们就可以在自己的电脑上进行工作,而不必担心办公环境和网络的限制。其次,阿里云服务器提供了强大的计算和存储能力。使用云服务器,我们可以在云服务器上轻松地处理我们的计算和存
2023-10-27

云服务器可以远程操作桌面吗?

云服务器可以远程操作桌面,但在远程操作桌面时需要注意以下几点:访问控制:云服务器通常提供强大的访问控制选项,以便其他人只能访问自己的工作站。因此,请确保只提供授权的用户访问您的工作站,并且需要进行身份验证。安全性:请确保您的工作站不会受到黑客或任何恶意软件的攻击。如果您的工作站受到攻击,可能会导致您的数据丢失或设备损坏。用户管理:在远程使用云服务器时,需要创建用户帐户,并为每个帐户分配适
2023-10-26

javascript可以写手机脚本吗

JavaScript是一种脚本语言,它可以在网页中运行脚本,并且可以使用它来创建复杂的动态交互。但是,许多人不知道的是,JavaScript也可以用来编写手机脚本。手机脚本是一种小程序,只能在手机上运行,用于执行特定的任务。有很多种手机脚本语言,例如Python,Lua和JavaScript等。虽然JavaScript可能不是最流行的,但它仍然是一个用于编写手机脚本非常有用的语
2023-05-14

阿里云服务器可以远程桌面吗安全吗

阿里云服务器可以通过远程桌面进行远程访问,但是需要注意安全问题。远程桌面是一种远程控制技术,可以让用户通过互联网远程访问服务器,就像在本地使用计算机一样。但是,如果不正确地配置和保护远程桌面,可能会导致安全漏洞和攻击。为了确保远程桌面的安全性,建议采取以下措施:使用安全的远程桌面协议,如RDPoverSSL或SSH。配置强密码和多因素身份验证,以确保只有授权用户可以访问服务器。限制远程
2023-10-26

云电脑可以实现远程桌面访问吗

是的,云电脑可以实现远程桌面访问。用户可以通过云电脑服务提供商提供的远程桌面连接工具,在任何联网的设备上访问和控制云电脑的桌面。这种远程桌面访问的方式可以让用户在任何地方、任何时间使用云电脑,并实现文件共享、远程办公等功能。
云电脑可以实现远程桌面访问吗
2024-04-17

LinuxMint系统桌面Note可以用斜体字吗?

Mint Linux桌面Note怎么设置使用斜体字?不用着急,很简单的,该怎么给字体添加倾斜效果呢?下面我们就来看看详细的教程。1、右键点击Note。2、点击配置。3、下拉设置页面。4、点击Italic开关。5、打开开关就会使用斜体字了。以
2022-05-23

程序员可以缺考吗

  可以。软考程序员在报名后是可以缺考的,但是现在很多地区软考报名提交的信息都会记入考试诚信档案库,有的地区如果弃考会影响下一次报名。因此,建议在报名后尽量不要缺考。  软考程序员报名缴费成功后,因个人原因是不能取消报名的。如果实在无法参加考试,则只能缺考。不过现在很多地区软考报名提交的信息都会记入考试诚信档案库,有些
程序员可以缺考吗
2024-04-18

程序员可以考PMP®吗

  可以。PMP®认证全行业通用,且不对考生的职业做限制。考生只需满足两点要求:1、具备35小时以上涵盖项目管理知识体系中十大知识领域的项目管理培训经历;2、累积了对应学历背景下所要求的项目管理工作经验时长。就能报名参加PMP®考试。  程序员可以考PMP®。PMP®考试只对考生的培训经
程序员可以考PMP®吗
2024-04-19

Win7桌面背景可以锁起来吗 怎样把Win7桌面背景锁起来

  在开始搜索框中键入 gpedit.msc。回车,打开组策略编辑器。依次定位到“用户配置>管理模板>控制面板>个性化”。在右边细节窗口中,找到“阻止更改桌面背景”项,双击打开。在设置窗口中
2023-06-03

云服务器可以跑程序吗

云服务器是一种虚拟的数据中心服务器,它可以通过互联网连接到用户的计算机上,提供快速、稳定、可靠的服务。然而,在实际操作中,云服务器不能跑程序,因为服务器的程序和数据都存储在数据中心的硬件设备中,需要通过互联网将数据传输到用户的计算机上,因此需要使用专用的网络连接和互联网服务提供商来提供服务。不过,即使云服务器不能跑程序,它仍然是一种非常重要的计算资源,可以用来存储数据、处理数据、运行应用程序等
2023-10-26

程序员可以提前交卷吗

  可以。但是程序员提前交卷有时间限制,根据软考的考场规则,按照人力资源和社会保障部文件规定,开考5分钟后应试人员一律禁止入场。专业技术人员资格考试原则上封闭2个小时,不足2小时的全程封闭。  软考程序员于专业技术人员资格考试,专业技术人员资格考试原则上封闭2个小时,不足2小时的全程封闭。  根据软考考场规则,应试人员
程序员可以提前交卷吗
2024-04-18

35岁可以报名程序员吗

  可以。程序员属于软考,软考报名不设学历与资历条件、年龄以及专业等要求限制,只要达到相应的技术水平就可以报考相应的级别,考生可根据自己的技术水平选择合适的级别与资格进行报考。今天编程学习网小编就给大家详细来介绍一下。  软考程序员报名没有年龄限制,根据《计算机技术与软件专业技术资格考试暂行规定》第八条相关规定:凡遵守中华
35岁可以报名程序员吗
2024-04-18

Python程序可以在哪些地方写

本篇内容介绍了“Python程序可以在哪些地方写”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!编写代码的工具交互式环境我们打开Windows
2023-06-01

小程序可以用虚拟主机吗

小程序可以用虚拟主机吗?随着移动互联网的发展,小程序成为了越来越多企业和开发者的选择。虚拟主机作为一种低成本且易于管理的托管方案,也是很多人常用的服务器选项。本文将探讨小程序是否可以使用虚拟主机。
小程序可以用虚拟主机吗
2024-01-23

编程热搜

目录