轶哥

📚 Having fun with AI Agent. Always learning.

Windows客户端EV证书代码签名踩坑
  •   更新:2023-03-21 17:20:27
  •   首发:2023-03-21 16:20:24
  •   Electorn
  •   2957

在现今的数字时代,软件安全日益受到重视。对于Windows客户端开发者来说,使用EV(Extended Validation)证书对软件进行代码签名是确保用户信任和防止恶意攻击的关键一环。本文将探讨在Windows下的桌面软件开发过程中进行EV证书代码签名的必要性,未签名可能存在的问题,以及在签名过程中可能遇到的问题和解决方法。

在MacOS中运行Linux图形程序
  •   更新:2022-06-23 13:12:23
  •   首发:2022-06-23 13:12:23
  •   Electorn
  •   3445

近期分享了《从SSH远程唤起本地浏览器打开URL》,其实从远程SSH也可以直接打开带GUI的Linux应用程序的。之前分享过《Win10中通过WSL2开发基于Electron的Ubuntu应用程序》,原理上其实是一样的。

都是通过安装X11服务来实现。

此方法和虚拟机以及Wine有本质区别。应用程序可以运行在远程服务器,这样是不占用系统内存和CPU的。

本文介绍的方法是从MacOS中SSH远程到服务器调试和开发Linux平台的GUI应用程序

在MacOS中运行Linux的GUI程序需要借助开源软件XQuartz

Win10中通过WSL2开发基于Electron的Ubuntu应用程序
  •   更新:2021-10-05 22:13:43
  •   首发:2021-04-11 23:12:18
  •   Electorn
  •   8342

本文将介绍如何在Windows 10操作系统中借助WSL2开发基于Electron的Ubuntu窗口应用程序,可以实现在win10中编写代码并查看linux应用的运行效果。

借助此方法,仅需一台MacOS设备和一台Win10的设备,即可通过Electron开发和测试主流操作系统(Windows、Linux、MacOS)下桌面应用程序并可以有差异化的调用操作系统的原生API。

通过MacOS系统可以编译几乎所有平台的应用程序,例如可以在MacOS中编译Win10 x64Linux ARM64等平台的应用程序。但是在win10ubuntu中无法编译MacOS应用程序(可以借助虚拟机或者带有MacOS系统的Docker镜像实现MacOS平台应用程序的编译,但是可能无法正常进行签名)。关于Electron自动编译及自动更新、分发,可以参阅此视频教程

自助设备广告屏自动播放视频功能实现
  •   更新:2021-04-06 18:28:01
  •   首发:2021-04-06 18:28:01
  •   Electorn
  •   4978

接到一个需求,基于Electron开发Windows下的自助设备广告屏(上屏)自动播放视频的功能。设备下屏是带触控功能的屏幕,可以进行业务咨询、业务办理、视频咨询,上屏是不带触控功能的1080P屏幕。

%E8%87%AA%E5%8A%A9%E8%AE%BE%E5%A4%87.jpg 两个屏幕接入了同一个主机,下屏是主屏幕,上屏是分屏(扩展屏)。为了避免下屏进行视频咨询的时候,上屏播放视频的声音影响到对话,因此上屏播放视频功能需要开放相应的API接口,在下屏播放视频或进行音视频咨询的时候,相关的开发者能够通过API对上屏视频禁音。

由于我们已经开发了Android平台的同款设备,因此Electron平台需要和Android平台保持一致的API。

Apple M1 编译原生Electron应用程序
  •   更新:2021-03-18 12:34:43
  •   首发:2021-03-18 10:48:56
  •   Electorn
  •   4793

Apple Silicon M1芯片可谓是性能爆炸,开发体验极佳,生态中适配速度也算得上势如破竹。借助Rosetta 2平稳过渡ARM64,实在是高明。在MacOS 11+系统中通过 Apple M1 编译原生M1 Electron应用程序也算得上轻松容易。

理论兼容M1芯片的Electron版本是11.2.3,实测兼容较好的版本是13.0.0-beta.5+

electron-builder需升级至20.10+,建议版本22.10.5+

本地Node.js版本请安装v15.5.0+

MacOS建议升级到11.2.3+

通过electron-builder编译Electron ARM64应用程序,需调整package.json配置文件。

Electron 12+ 出现 require is not defined 报错解决
  •   更新:2021-03-18 09:52:18
  •   首发:2021-03-18 09:44:46
  •   Electorn
  •   6284

在 Electron 12 及更高版本,设置了nodeIntegration: truenodeIntegrationInWorker: truenodeIntegrationInSubframes: true,渲染进程仍然可能出现require is not defined的报错。

这个报错还跟随有module is not definedexports is not defined

同样的报错在Electron 5+曾出现过,原因是发布v5.0.0的时候,官方将nodeIntegration默认值设置为了false(与此同时还将webviewTag设置为了false)。

近期,Electron 12.0.0 发布。修复了诸多异常。同时也将contextIsolation的默认值更改为true(详见:https://github.com/electron/electron/pull/27949)。

Electron 应用分发系统(Electron自动更新)
  •   更新:2021-03-14 21:44:37
  •   首发:2019-06-07 23:11:41
  •   Electorn
  •   8304

Electron 应用分发系统提供应用程序编译(支持Windows、Linux、MacOS)、自动升级、分发服务。让Electron应用分发变得非常容易。

Electron Distribution

开源地址:https://github.com/yi-ge/electron-distribution

使用时需要注意,一个git仓库需对应一个Electron应用程序,一个Electron应用程序对应需要部署一套应用分发系统。

Electron 应用分发系统服务器端工作在64位Linux操作系统(必须)和MacOS(可选),默认编译x64应用程序, 其它平台及架构需要修改相应代码(不过这很容易实现)。

  上一页 下一页