Electron自动更新实践
前言 自动更新检测是指在应用启动或运行过程中,自动检查服务器上的最新版本,并下载和安装更新的功能。这一功能保证了应用始终处于最新状态,减少了用户因手动更新而产生的麻烦。在构建基于 Electron 的桌面应用时,自动更新功能是提升用户体验的重要环节之一。通过实现自动更新,应用可以自动下载和安装最新版本,用户无需手动更新,保持应用的最新状态和安全性。 自动更新的好处: 提升用户体验 :自动更新减少了用户的操作步骤,确保用户始终使用最新版本...
很多人都答错了的面试题,vue3的ref是如何实现响应式的?
最近在我的 有位面试官分享了一道他的面试题: vue3的ref是如何实现响应式的? 下面有不少小伙伴回答的是Proxy, 其实这些小伙伴只回答对了一半 。 当ref接收的是一个对象时确实是依靠 去实现响应式的。 但是ref还可以接收 、 或 这样的原始类型,当是原始类型时,响应式就不是依靠 去实现的,而是在 属性的 和 方法中去实现的响应式。 本文将通过debug的方式带你搞清楚当ref接收的是对象和原始类型时,分别是如何实现响应式的。...
Effect:渲染之外的副作用
React 借鉴了许多函数式编程的理念,使得它在构建复杂用户界面时能够保持代码的简洁、可维护和可测试性。函数式编程在很大程度上依赖于纯函数 纯函数(Pure Function)是指在计算机科学和函数式编程中使用的一类函数。一个函数如果具备以下两个主要特性,我们就可以称之为纯函数: 1. 引用透明性:纯函数在相同的输入下总是产生相同的输出。也就是说,函数的输出仅依赖于其输入参数,不依赖于任何外部状态或变量。 2. 无副作用:纯函数不会改变...
Electron+Vue客户端一键生成多版本差分全资源增量更新包
Electron+Vue开发客户端时,一般安装包体积太大,如果使用常规的electron updater来更新的话,每次升级都会重新下载整个安装包,一是浪费流量,最主要的是太耗时间。 因为我的客户端里不只是纯electron的资源,还有第三方的dll、exe等,所以使用网上使用比较多的差分【app.asar】的方式是行不通的,因为第三方的资源不会包含在app.asar中。 差分【app.asar】的更新方式可以参照以下我筛选的文章: h...
Electron增量更新1
上一期我们完成了electron的全量更新,本期我们介绍的是如何只修改部分文件以实现增量更新的几种方案。 asar 我们将electron软件进行安装后右键打开文件所在位置进入 目录(mac显示包内容),可以看到 这个文件,这个文件是electron程序的主业务文件,这东西可不是什么加密文件,实际上是一种压缩文件,我们可以用npm包解压这个文件 解压后发现,实际上就是 里面的东西,其实我们如果只修改了渲染进程里面的东西的话,并不需要进行...
Electron增量更新2
不好意思,鸽了挺久了,上一期我们使用 完成了electron的增量更新,本期我们介绍的是如何使用exe替换 来实现增量更新。 本期内容是基于上一期的内容来讲解的,且主要针对于Windows系统(mac系统可以对app.asar修改) 替换难点 1. 在使用了 后,Windows系统的Electron应用启动后其app.asar会被占用,不能对其进行修改和删除,必须结束Electron应用的进程后才可以对其进行修改。 2. 由于Windo...
Electron增量更新3
写Electron这个系列以来,还是有不少同学问了一些问题的,主要是针对于electron增量更新的,之前我写过 ,但是其Windows方式需要管理员权限包,不太优雅,且如果想要拖拽功能的话,由于权限问题,提权后的软件会禁止拖动(将外部文件拖入软件窗口会有一个禁止图标),那么这一期我会对增量更新进行一次比较详细的说明以及提供临时提权更新的方案供大家参考。 Mac更新 有些同学问了Mac平台下的系统如何增量更新的,实际上Mac下的Elec...
前端加密方案对接实践
需求背景: 查询对接第三方团队获取用户个人信息的接口,涉及到敏感数据的传输,例如:姓名、手机号、身份证等信息,此过程需要加密处理。 入参需加密字段:姓名、手机号、证件号 第三方团队提供的接口是公共接口且使用 AES 对称加密(BLD AES Key),仅用于我们自己的后台服务 与 第三方团队的后台服务之间的数据安全加密传输 安全加密方案 基于以上情况,当前的后台服务与第三方服务之间已经建立AES加密方案,但是前端与当前的服后台务之间的数...
小白也能读懂的vite源码系列——vite 开发启动流程(一)
不知道大家有没有好奇过构建工具是如何把我们平常编写的代码,能够在浏览器上面运行出来的,我本人还是挺好奇的,因为平常工作中vite 使用的比较多,启动速度快,热更新速度快,所以也是挺喜欢使用vite,本着兴趣去学习了一下vite的源码,想着会不会有和我一样,想去学习源码,但又无从下手,今天就来带你体验不一样的源码阅读。 源码目录 这里的vite 的版本为 5.2.11 ,这个版本也方便我们进行debug。我们可以看到vite 这边采用的...