话题框架与类库 › Electron

框架与类库:Electron

向Typora学习electron安全攻防

目前来说,官方的版本并没有提供保护源码的方法。在github开源的找到个大神提供的解决方案(https://github.com/toyobayashi/electron-asar-encrypt-demo) ,该方案可以把启动文件编译为node二进制文件,作为启动入口,来保护薄弱的js代码。在项目启动时,将加密后的代码进行解密,交回electron流程进行执行,从而避免上述步骤直接解包拿到源代码的可能。

经过分析对比,typora用的恰好是这个demo提供的思路。

实现 Electron 热更新的思路和方法

Electron 是一个时下非常流行的、融合了 Node 与 V8 引擎、允许开发者使用前端技术进行跨平台客户端开发的框架,有很多成熟的产品都在使用这样一个框架,比如射手影音、迅雷等。

开源社区为这个框架提供了一套配套的通用打包、自动更新方案,这一套方案也被相当多的项目采用,我个人的项目也在使用这一套通用的方案管理打包和自动更新。但是在项目上线后,这一套通用方案的不灵活也随之暴露了出来 —— 在打包分发后,开发者将失去对已打包资源的掌控,没有办法基于远程进行修改,导致项目出现了一些紧急故障的时候,开发者只能再次打包项目的所有资源给用户推送一个全量更新,这对用户来说是一个非常不好的体验。

相较而言,在移动客户端上被广泛运用的热更新方案是一个非常好的解决办法,但是在 Electron 这一套框架下,让人很意外的是,虽然这个框架本身热度非常高,但是开源社区内并没有非常完善的、实现热更新的方法 / 框架 / 依赖可用。

开源社区提供了一些方案,但是这些方案在实现上并不是很理想,出于这样的原因,我自发地探索、研究,根据我现有项目的特点实现了一个热更新方案。

在后文我会详细介绍这一套方案,给“Electron 下如何实现热更新”这个问题提供一个思路。

使用 Electron Store 实现 Electron 多窗口应用的响应式状态共享

之前写过文章介绍了 Electron 这个可以使用前端技术栈开发桌面应用的框架,这篇来讲讲多窗口之前状态共享和响应式的实现。

Electron 插件开发实践

Electron 是以 Nodejs 和 Chromium 为内核的跨平台开发框架。本文结合网易云信的实践经验,对 js 和 C++ 混合编程在 Electron 桌面程序中的应用进行介绍。

Electron asar 格式详解

asar —— 官方并没有明确给出简称的来源,笔者个人认为是 A Simple Archive,实际上,文档中也着重表达了这个格式只是属于简单的文件归档,因此笔者认为这个称呼也是挺合理的。:) Electron 中提供了这个格式,在构建应用时将执行资源打包到一个 .asar 文件中,应用启动执行时直接访问 .asar 文件内部资源获取执行代码。在使用 Electron Packager 或者 Electron Builder 等构建工具时,都会默认开启 .asar 归档模式。

如何打造高质量的 Electron 应用?

Electron 可以说是前端工程师开发桌面应用的首选框架之一,但是对于前端工程师而言,其带来的复杂度也更高,我们面对的质量和稳定性挑战也会更大。本次分享中,蚂蚁集团语雀前端工程师叙南将结合语雀桌面端的发展历程以及其中面临的挑战,聊一聊如何通过工程化手段来保障 Electron 应用的质量与稳定性,欢迎享用。

使⽤selenium 操作 electron 应⽤

近期的⾃动化测试项⽬中有个关于测试内部IM通信软件的需求,在了解到各个客户端的相应技术栈实现以后,在mac中的应⽤使⽤的是electron 技术,我们也对相应的技术进⾏调研,此⽂记录⼀下在关于electron应⽤的⾃动化测试。

如何在 Electron 上实现 IM SDK 聊天消息全文检索

在 IM 场景的客户端需求上,基于本地数据的全文检索(Full-text search)扮演着重要的角色。本文具体来聊聊网易云信是如何实现全文检索的。

优酷播放体验优化实战(六)--Electron跨平台进阶:Native播放器融合

随着桌面应用开发技术的发展,程序的跨平台性和代码的维护成本显得尤为重要,目前优酷Windows平台采用QT作为UI的主要开发方案,DuiLib辅助一些扩展插件开发,Mac平台采用原生的Native UI开发,由于历史原因并没有将Windows端的QT框架迁移到Mac端,两端分别维护耗费不同人力。

优酷新的客户端开发采用当前主流的Electron框架,Electron框架内部采用Chromium内核实现渲染,因此我们可以整合优酷的Web平台的业务从而实现一套代码三端(Mac、Windows、Web)通用,极大的降低开发和维护成本。

分享一年以来的Electron开发经验

为了给部分老师提供一个简单易用的桌面推流工具,我们计划推出一款名为直播伴侣的windows桌面端应用程序,并于2020年春节,快速交付了直播伴侣1.0版本。目前直播伴侣的主要功能有:

  • 兼容各站点登录
  • 推流直播
  • 直播连麦
  • 主持人互动聊天

直播伴侣基于Electron进行开发,离项目启动已有一年有余,这里抛砖引玉,简单分享一年多以来的Electron开发经验,并主要分享Web开发转型到Electron开发时的一些需要注意的点,希望能给大家带来一点收获。

Electron 快速入门,顺便聊聊 IPC 通信

前阵子将排课系统的一些功能,提供给 solar 编辑器使用,solar 基于 Cocos Creator,而 Cocos Creator 是基于 Electron 进行开发的,故总结了一些关于 Electron IPC 通信的相关知识。

Electron / Chromium 屏幕录制 - 那些我踩过的坑

我们选择 webRTC API 直接录制的方案实现了录屏功能,并在后续踩了一些列的坑,以下是一些分享。

基于 Node.js Addon 和 v8 字节码的 Electron 代码保护解决方案

我们有一个项目使用了 Electron 开发桌面应用,使其能够在 Windows / Mac 两端上跨平台运行,因此核心逻辑都是通过 JavaScript 编写的,黑客非常容易对我们的应用进行解包、修改逻辑破解商业化限制、重新打包,去再分发破解版。

虽然我们已经对应用做了数字签名,但是这还远远不够。要想真正解决问题,除了把所有商业化逻辑做到服务端,我们还需要对代码进行加固,避免解包、篡改、二次打包、二次分发。

Electron 生命周期看这篇就够了

常见应用都有启动、激活、关闭这些事件,Electron 作为一个跨平台的 GUI 框架,为了兼顾不同的场景,需要的事件就会更多。如果想要更深入的了解 Electron 整个生命周期的流程,需要对应用生命周期,窗口的生命周期以及页面内的生命周期的时机有一个清晰的理解。

如何基于 Electron 开发跨终端的应用

欢迎大家来到今天的早早聊跨端跨栈专场,今天我分享的主题是《如何基于 Electron 开发跨终端的应用》。 先做一下自我介绍,我叫逯子洋,17 年加入政采云,目前主要负责政采云前端工程化平台敦煌以及政采云电子招投标客户端的建设。这边是&#

macOS 下 Electron 程序的签名及公证

2019-12-29自 macOS 10.14.5 开始,应用程序必须要经过签名以及公证(notarize),否则默认情况下便无法直接运行,会弹出类似下面的警告:即:“Appname.dmg” can’t be opened because Apple cannot check it for malicious software.This software needs to be updated.…

Accueil - Wiki
Copyright © 2011-2024 iteam. Current version is 2.139.0. UTC+08:00, 2024-12-25 15:21
浙ICP备14020137号-1 $Carte des visiteurs$