随笔分类 - javascript/jQuery/ExtJs
摘要:本篇文章全部源自作者的亲身经历,不是官网随便搬来的。 Qt https://www.qt.io/ 几乎是C++领域最流行的跨平台桌面端软件开发框架了, 这个框架是两个挪威人在1995年创建的,发展至今可以说历史相当悠久,稳定性也很有保障。 很多大公司都在用它做界面比如金山的WPS。 它内置了自绘引
阅读全文
摘要:这个问题涉及到很多知识,而且要想把这个Runtime做好很绕。 下面我就说一下我的思路:(以下内容以Windows平台为基础,Mac平台和Linux平台还得去调查一下,才能确定是否可行) 首先,我们先区分三类用户: Runtime建设者(就是我们) Runtime使用者(就是使用Runtime的开发
阅读全文
摘要:有好几个公众号发文说“微软要放弃Electron了”,实际情况是微软旗下的Teams产品打算把Electron框架换成WebView2而已。接下来我就聊一下这个事情: 微软不会放弃Electron 第一:Electron是GitHub的产品,GitHub是微软的子公司,WebView2是Edge团队
阅读全文
摘要:我们知道开发Electron应用,难免要涉及到跨进程通信,以前Electron内置了remote模块,极大的简化了跨进程通信的开发工作,但这也带来了很多问题,具体的细节请参与我之前写的文章: https://www.cnblogs.com/liulun/p/15217180.html Electro
阅读全文
摘要:当你想实现阻止Electron窗口关闭,并弹出询问对话框,提示用户:“文章尚未保存,是否要关闭窗口”这类业务时,那么你99%会碰到这个BUG: https://github.com/electron/electron/issues/24994 这是我在去年8月份发现的BUG,Electron的作者也
阅读全文
摘要:实现一个不规则窗体 这里我们实现一个圆形窗体,实现其他形状的窗体与这个方法类似。 首先,把窗口的高度(height)和宽度(width)值修改为相同的值,使窗口成为一个正方形。 其次,把窗口的透明属性(transparent)设置为true,这样设置之后窗口还是正方形的,但只要我们控制好内容区域的D
阅读全文
摘要:Electron团队提供remote模块给开发者, 主要目的是为了简化渲染进程和主进程互访的难度, 这个目的却是达到了。 但也带来了很多问题, 归纳起来主要分为以下四点: 第一:它很慢 通过remote模块可以访问主进程的对象、类型、方法, 但这些操作都是跨进程的, 跨进程操作性能上的损耗可能是进程
阅读全文
摘要:缘起 在Electron的渲染进程中(也就是页面代码中), 我们常常使用process.env来携带一些环境变量, 比如HTTP服务地址的基质,本地静态资源的路径等 这样做主要有两个目的 一个是方便开发者写多个配置环境变量的文件,区分生产环境、测试环境和开发环境 另一个是主进程和渲染进程共享一套环境
阅读全文
摘要:需求 稍微正规点的公司,都要为自己开发的软件做代码签名,如下图所示 代码签名的主要目的是为了确保软件的来源(这个软件是由谁生产的)和软件的内容不被篡改 一个软件公司可能有很多团队,很多开发者,开发不同的软件,但用于签名的证书就那么一套 由于担心开发者用这个证书去签名恶意的软件,损坏公司的声誉, 所以
阅读全文
摘要:背景 目前社区两大Vue+Electron的脚手架:electron-vue和vue-cli-plugin-electron-builder, 都有这样那样的问题,且都还不支持Vue3,然而Vue3已是大势所趋, Vite势必也将成为官方Vue脚手架, 下图是尤雨溪在开发好Vite之后与webpac
阅读全文
摘要:1. 安装Electron依赖包 开发者往往通过npm install(或 yarn add)指令完成为Node.js工程安装依赖包的工作, 安装Electron也不例外,下面是npm和yarn的安装Electron依赖包的指令: npm install electron --save-dev ya
阅读全文
摘要:开发一个大型Electron的应用,或许需要在客户端存储大量的数据,比如聊天应用或邮件客户端 可选的客户端数据库方案看似很多,但一一对比下来,最优解只有一个 接下来我们就一起来经历一下这个技术选型的过程: 排除:把数据以Json的形式存储在文件中 以这种方式存储一些用户的配置信息是完全没问题的(用户
阅读全文
摘要:作为一个前端开发人员,你可能已经听说过Electron了,你知道VS Code是基于这个技术开发的。不但VS Code, 目前一些大热的软件:飞书、Slack、WhatsApp都是基于这个技术开发的。 即使工作不会涉及到,也应该学一下Electron,因为它是极客手里的利器,你可以通过他做很多Ama
阅读全文
摘要:let ele = this.$el; this.height = ele.clientHeight; this.width = ele.clientWidth; this.showTable = true; window.onresize = () => { ...
阅读全文
摘要:第一篇: vscode源码分析【一】从源码运行vscode 第二篇:vscode源码分析【二】程序的启动逻辑,第一个窗口是如何创建的 第三篇:vscode源码分析【三】程序的启动逻辑,性能问题的追踪 第四篇:vscode源码分析【四】程序启动的逻辑,最初创建的服务 第五篇:vscode源码分析【五】
阅读全文
摘要:第一篇: vscode源码分析【一】从源码运行vscode 第二篇:vscode源码分析【二】程序的启动逻辑,第一个窗口是如何创建的 第三篇:vscode源码分析【三】程序的启动逻辑,性能问题的追踪 第四篇:vscode源码分析【四】程序启动的逻辑,最初创建的服务 第五篇:vscode源码分析【五】
阅读全文
摘要:第一篇: vscode源码分析【一】从源码运行vscode 第二篇:vscode源码分析【二】程序的启动逻辑,第一个窗口是如何创建的 第三篇:vscode源码分析【三】程序的启动逻辑,性能问题的追踪 在第一节中提到的startup函数里(src\vs\code\electron-main\main.
阅读全文
摘要:第一篇: vscode源码分析【一】从源码运行vscode 第二篇:vscode源码分析【二】程序的启动逻辑,第一个窗口是如何创建的 启动追踪 代码文件:src\main.js 如果指定了特定的启动参数:trace vscode会在启动之初,执行下面的代码: 这段代码的主要目的是:从Chromium
阅读全文
摘要:上一篇文章:https://www.cnblogs.com/liulun/ (小广告:我做的开源免费的,个人知识管理及自媒体营销工具“想学吗”:https://github.com/xland/xiangxuema) 我们在package.json里能找到他的入口文件; electron是分主进程和
阅读全文
摘要:安装git,nodejs和yarn 安装Python27,3.x版本的不行,确保它在你的环境变量里; 安装gulp 安装windows build tools: 安装node-gyp 上面安装的一大堆东西,看似没无关,其实他们大都是用来编译原生nodejs插件的, nodejs的原生插件不是基于2进
阅读全文