从 1 到完美,用 js 和 electron 写一个桌面应用

目前用 js 和前端技术写桌面软件的方案主要有两种:electron 和 nw.js。这两者在底层实现上有所不同,简单的说,electron 是 node + chromium,nw.js 是 node + webkit。从使用上来说,electron 的使用更为广泛,社区也更活跃,有一大批成熟的商用软件,像 vscode, atom等。所以,现在一般推荐使用 electron 来写桌面软件。

1. 选择合适的组件库和工具库

electron 社区多年的积累,已经有很多成熟的第三方组建库和工具库帮助你轻松的构建桌面应用,提高开发效率,避免重复造轮子。

组件库是用来帮助你书写程序的逻辑或者UI:

工具库是用来帮助你构建程序:

electron-builder: 创建应用的安装文件(win: exe, linux: deb, mac: dmg 等)

devtron: 官方的 chromium DevTools 插件

electron-packager: 把应用打包成一个可运行文件(win: exe, linux: deb, mac: dmg 等,非安装文件)

spectron: electron 应用的测试工具

electron-devtools-installer: 确保 electron 开发相关的 chromium DevTools 插件的安装

2. 选择合适的模板

社区有很多现成的模板,里面封装好了各种工具,打包成应用,创建安装文件等一系列功能,使用者只需要关注怎么编写应用,而不需要关心工具及各个命令的实现及原理。

如果你需要扩展功能,可以更改相关的配置文件。

3. 开发应用与运行命令

另外,它封装了开发工具主要为以下几个命令:

3.1 dev 开发调试命令

npm run dev

这个命令将会运行一个 electron 应用实例,然后在本地开启一个本地 server 服务,当你编写渲染进程代码,本地 server 服务会自动刷新页面,而不需要关闭应用重新运行命令。

3.2 start 以发布模式启动应用

npm run start

与开发调试命令不同的是,它不会开起本地 server 服务,也不会监听文件变动,而是会像发布的应用一样运行。这个一般在发布之前运行,查看应用的运行情况。

3.3 package 打包应用为安装文件

# create installer for linux&win&mac.

npm run package-all

# create installer only for linux.

npm run package-linux

# create installer only for win.

npm run package-win

# create installer only for mac.

npm run package-mac

4. 应用实例

5. 后续

版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)

js桌面应用 Linux,从 1 到完美,用 js 和 electron 写一个桌面应用相关推荐

  1. 2021了,你还不会用 Electron 写一个桌面应用?

    正如 Electron 官方所说"如果你可以建一个网站,你就可以建一个桌面应用程序". ‍ 作为一个跨平台的桌面应用开发框架,Electron 的迷人之处在于,它是建立在 Chro ...

  2. python能写桌面程序吗_Python新手教程:40行python代码写一个桌面翻译器

    这是我做出来的粗略版本,后面的UI设计就看大家的艺术细胞了 我们进行制作软件所需要的模板库,首先要进行引用. # json requests thinter import json import re ...

  3. 用Python写一个桌面便签(每日计划本)

    0 前言 题主一直有写计划的习惯,每天早上第一件事情就是先把每日计划好,不写计划,感觉一天里的生活毫无头绪.但写纸质计划容易遗忘工作进程,因此在之前计划的基础上,写了一个桌面便签的小程序,话不多说,上 ...

  4. Rust Tauri OpenCV 写一个桌面摄像头

    在一些直播场景,或者屏幕录制场景,希望可以把自己的头像通过摄像头放在桌面显示,增加互动性. 一些会议软件是支持这个能力的,但通常会把摄像头的内容放在一个方框里,显得不太好看,而且还得额外打开一个会议软 ...

  5. (win环境)使用Electron打造一个桌面应用翻译小工具

    初始化项目 npm init 修改package.json {"name": "trans","version": "1.0.0& ...

  6. python界面翻译-我用40行python代码写一个桌面翻译器,很nice

    我们进行制作软件所需要的模板库,首先要进行引用. 另外大家要注意:不管你是为了Python就业还是兴趣爱好,记住:项目开发经验永远是核心,如果你没有2020最新python入门到高级实战视频教程,可以 ...

  7. python安装界面翻译_Python新手教程:40行python代码写一个桌面翻译器

    这是我做出来的粗略版本,后面的UI设计就看大家的艺术细胞了 Python资源共享群:484031800 我们进行制作软件所需要的模板库,首先要进行引用. # json requests thinter ...

  8. python软件中文翻译_python 写一个桌面版的翻译软件

    主要技术:爬虫和tkinter模块的运用 思路说明:设计一个图形界面,第一行输入中文,点击 "翻译" 按钮,此时做的就是将输入的内容,通过有道网页翻译,发出POST请求,得到回应后 ...

  9. python代码翻译器-我用40行python代码写一个桌面翻译器,很nice

    我们进行制作软件所需要的模板库,首先要进行引用. 另外大家要注意:不管你是为了Python就业还是兴趣爱好,记住:项目开发经验永远是核心,如果你没有2020最新python入门到高级实战视频教程,可以 ...

最新文章

  1. 【rnnoise源码分析】compute_frame_feature函数
  2. 使用shell脚本完成自动化部署jar包
  3. C/C++可变参函数示例
  4. [MySql] MySQL的点点滴滴
  5. 一招让你拿下seata分布式事务框架,看这篇文章准没错!
  6. 吴恩达【深度学习工程师】 04.卷积神经网络 第四周特殊应用(2)神经风格转换...
  7. python 输出纯音频_Python如何录制系统音频(扬声器的输出)?
  8. 搭建Silverlight2.0开发环境
  9. Python3常见内嵌函数
  10. html文本框中有一个叉号标志,html 输入框显示“小叉叉”的清空方法
  11. js基础知识汇总02
  12. LBS (基于位置服务)-- Location Based Service
  13. 如何裁剪gif动图的尺寸?仅需三步即可快速裁剪动图
  14. 笔记本键盘有几个键失灵了怎么办?
  15. selenium借助pywinauto工具上传附件
  16. 分享积分兑换小程序开发制作功能介绍
  17. Web3.0 对网络安全世界的影响
  18. 快来,分享两款好用的制图软件
  19. 详细介绍附代码:使用jquery,和php文件构建一个简单的在线聊天室,通过ip显示googlemap
  20. 一个月份是第几季度输出

热门文章

  1. 谷歌灵魂拷问What If;加拿大团队实验公式相声;脸书启用Deepfake视频
  2. 如何选好网络项目,五条建议避免你踩坑
  3. 索尼的hlg是什么_索尼HLG的使用方法
  4. Ubuntu 16.04无损分区大小调整工具Gparted
  5. Mac全选,剪切和复制粘贴
  6. 做游戏版署版本时需要注意的一些方面。
  7. 八码数-IDA*算法
  8. 《程序员做饭指南》霸榜 GitHub:不仅有量筒、烧杯,还用上了数学公式?
  9. SEM关键词匹配模式_精确、精确包含、同义包含
  10. 大对象数据的访问控制 (2)