使用electron+vue开发一个跨平台todolist(便签)桌面应用

使用electron+vue开发一个跨平台todolist(便签)桌面应用

# 1

最近一直在使用electron开发桌面应用,对于一个web开发者来说,html+javascript+css的开发体验让我非常舒服。之前我一直简单的以为electron只是张网页加个壳,和那些号称跨平台的运行在手机上的webapp是一个套路。直到我真的需要开发一个跨平台桌面应用的时候,我又认真的尝试了一下electron,我开始意识到:这才是我理想中的跨平台桌面应用开发的最终形态,它简直太优秀了。

# 2

在使用electron期间,我顺便写了一个简单的todolist(便签)应用,用于学习和尝试;项目地址:https://github.com/xiajingren/xhznl-todo-list 界面参考了小黄条便签。它目前的功能还非常简单,但是包含了很多我使用electron时遇到问题,这也是electron新手都很可能遇到的,也算是一个技术总结吧;比如:

  • electron无边框透明窗口/拖拽/置顶/闪烁问题

  • electron软件开机自启动

  • electron软件单实例运行

  • electron窗口的鼠标穿透/部分穿透

  • electron软件打包

  • electron软件自动更新(GitHub)

  • electron中使用本地数据库

  • electron中数据导出为excel文件

  • 等等……

以下是项目README:

# 3

xhznl-todo-list

✨一个使用 electron + vue + electron-builder 开发的跨平台 todo-list 桌面应用

相关技术

electron 9.x

vue 2.x

vue-cli-plugin-electron-builder

electron-builder

lowdb

exceljs

dayjs

Vue.Draggable

……

功能预览

todo list

done list

基本操作

数据导出

鼠标穿透

macOS

步骤

npm install
npm run electron:serve

npm run electron:build

下载 releases:https://github.com/xiajingren/xhznl-todo-list/releases

规划

  • [x] todo/done 基本功能
  • [x] 本地数据库存储
  • [x] 软件自动更新
  • [x] 数据导出为 excel
  • [x] 开机启动
  • [x] 鼠标穿透
  • [ ] 窗口贴边自动收起
  • [ ] ……

# 4

在使用electron期间确实也遇到很多坑,其中大部分都是来自于electron编译nodejs模块。后续我可能整理一个关于electron的系列分享,介绍 xhznl-todo-list 的实现细节,欢迎关注。

GitHub:https://github.com/xiajingren/xhznl-todo-list

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2633.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Proxifier用法「建议收藏」

    Proxifier用法「建议收藏」Proxifier

    2025年7月18日
    3
  • java 敏感字过滤_Java实现敏感词过滤「建议收藏」

    java 敏感字过滤_Java实现敏感词过滤「建议收藏」系列目录:并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信。在消息传递的并发模型里,线程之间没有公共状态,线程之间必须…

    2022年5月24日
    31
  • Win10电脑计算机自己跑,Win10做了这9项优化 电脑运行急速提升「建议收藏」

    Win10电脑计算机自己跑,Win10做了这9项优化 电脑运行急速提升「建议收藏」想让系统更快些,就需要优化它。虽然和之前版本相比,Win10在底层性能上已经不错,但毕竟要照顾不同的使用人群,因此它的很多项目还是偏向于保守和大众化的。其实每个人使用Win10的目的都不同,有选择性地关闭一些服务,就可以让Win10跑得更快!装好Win10必做的优化1、替换自带WindowsDefender具体做法:安装第三方杀软,系统将自动关闭WindowsDefender;虽然微软一直在标榜自…

    2022年6月12日
    32
  • BigDecimal类型 比较大小的方法[通俗易懂]

    BigDecimal类型 比较大小的方法[通俗易懂]1.转成intBigDecimalb1=newBigDecimal(“-121454125453.145”);if(b1.intValue()<0){ System.out.println(“金额为负数!”); System.out.println(b1);}2.compareTo方法结果是:-1:小于;0:等于;1:大于;BigDecimalb1=newBigDecimal(“-121454125453.145”);if(b1.compar

    2022年7月14日
    35
  • Java-String类的作用和常用方法总结[通俗易懂]

    Java-String类的作用和常用方法总结[通俗易懂]String    String类是所有语言最常用的一个类,用于描述字符串事物。   String类在Java中被设计成final的,类不能被继承和修改,至于为什么要将String设计成final可以参考:            Java的String类不可变的好处    它为我们提供了多个方法对字符串进行操作。1,获取。 1.1字符串中的包含的字符数,也就是字符串的长度。     int…

    2025年5月25日
    0
  • navicat for mysql如何导入sql文件_excel怎么把0显示出来

    navicat for mysql如何导入sql文件_excel怎么把0显示出来NavicatforMySQL导入excel文件_水里的鱼不会羡慕陆地爬行的动物-CSDN博客NavicatforMySQL是连接数据库的工具,可以更好地管理数据库。1.先连接连接名和主机名都是IP,本地连接名和主机名是localhost或127.0.0.1。-2.创建数据库及表表已经创建好了接下来就将含有学生信息的class.xls表导入到message表中2.1点击导入向导2.2表中我的数据放在sheet12.3这里我从第二行…

    2022年9月17日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号