小试牛刀,用electron+vue3做了一个文件归纳程序~

记得很多年以前,学过C#的winform,其实一开始入行的时候从来没想过B/S架构的占有率会这么大,当时只是觉得能做一个窗体程序出来很装*。今天是我做Java程序员的第好几个年头,不知为何,就特别想写一个能供自己使用的窗体程序。考虑到我电脑的文件比较乱,文档、视频、图片基本都是乱放的,很难找到,于是决定写一个用来归纳这些文件的程序。

在技术的选择上,我原本是打算使用曾经学习过的winform,但是准备开始写的时候才发现,有关于C#的记忆早已被时间冲刷,甚至无法打印出那句"hello world!"。不过我是写过前端代码的,也从同事那里了解过一些跨平台框架,其中印象最深的是Electron,随后也简单看了一些教程,发现这东西真是极易上手。最后决定使用Electron+Vue3实现我自己的需求。

Electron介绍

Electron项目分为三部分:主进程、预渲染进程、渲染进程,主进程是Electron程序的入口,负责与操作系统做交互;预渲染进程可以理解为主进程与渲染进程链接的桥梁;渲染进程就是窗体程序中的具体页面显示。

如果在页面上想要实现上传文件或读取文件,由于渲染进程和操作系统是隔离开的,所以就需要通过预渲染进程链接到主进程,再由主进程完成具体的操作并返回处理结果给渲染视图(双向链接)。

1、 在主进程中,可以定义方法处理由预渲染进程发送过来的请求:

在上图中,单引号中的内容就是渲染进程向预渲染进程中请求的方法,主进程再通过hanle来处理这些方法。

2、 在预渲染进程中,可以定义方法让渲染进程调用:

在预渲染进程中,单引号中的内容与主进程handle中的内容对应,通过invoke调用主进程指定的方法。

3、 在渲染进程中,调用预渲染进程定义的方法:

window.api.init()就对应预渲染中定义的init方法,成功调用后,预渲染进程会将主进程返回的处理结果返回给渲染进程。

开发Electron基本就是这么一套流程,剩下的就是一些配置和渲染进程的代码开发,上手还是很快的。

程序界面

界面比较简单,整体的样式是AI生成的,只有一些比较基础的功能,比如文件分类管理、文件拖拽上传、上传进度条 等,使用Vue3实现。

不同的文件类型右击会有不同的功能菜单,如果是视频文件,也实现了本地视频的播放功能

总结:Electron提供了一种桌面软件开发的实现方案,本质上是内置了一个浏览器,通过预渲染进程与主进程通信实现调用操作系统API。对于有前端开发经验的同学来说,容易上手,降低学习成本。但是Electron打包的程序体积相对较大。

相关推荐
崔庆才丨静觅3 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60614 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了4 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅4 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅4 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅5 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment5 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅5 小时前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
剪刀石头布啊5 小时前
jwt介绍
前端
爱敲代码的小鱼5 小时前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax