Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Electron.js in 2019 (中文/Simplified Chinese)
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Cheng Zhao
January 06, 2019
Technology
520
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Electron.js in 2019 (中文/Simplified Chinese)
Cheng Zhao
January 06, 2019
More Decks by Cheng Zhao
See All by Cheng Zhao
Electron Now
zcbenz
2
800
Electron Now(日本語)
zcbenz
3
1.1k
a community story of Electron
zcbenz
0
220
Evolution of Electron - NodeFest 2016
zcbenz
7
15k
Electron Workshop - Shanghai 2016
zcbenz
0
300
Practice on embedding Node.js into Atom Editor
zcbenz
24
11k
node-webkit: app runtime based on Chromium and node.js
zcbenz
248
190k
Other Decks in Technology
See All in Technology
データ基盤をDataformで整えた話 〜 開発環境を添えて 〜
takapy
0
120
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.8k
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
0
200
コードレビューを制するチームがソフトウェアデリバリーのフローを制す / Beyond Code Review: Distributing Its Responsibilities Across the SDLC
mtx2s
4
1.2k
ブロックチェーン / Blockchain
ks91
PRO
0
110
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
0
340
地元にいないローカルオーガナイザーの立ち回り
uvb_76
1
960
LLMと共に進化するプロセスを目指して
ymatsuwitter
12
3.4k
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
3
220
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
2
1k
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
8.2k
正解のないAIプロダクトをどう導くか?dodaが挑む、ユーザーの『本音』を構造化する評価設計と検証のリアル
techtekt
PRO
0
190
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
220
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
140
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
GraphQLとの向き合い方2022年版
quramy
50
15k
The Limits of Empathy - UXLibs8
cassininazir
1
350
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
940
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Designing Powerful Visuals for Engaging Learning
tmiket
1
400
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
380
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Transcript
Electron.js in 2019 赵成 @ 第13届D2前端技术论坛
⾃自我介绍 ‣ 赵成(zcbenz) ‣ Electron 原作者(original author)& 全职开发 ‣ 在
GitHub ⼯工作 ‣ 最近的⼏几个业余项⽬目 GUI库 https://github.com/yue/yue Slack客户端 https://github.com/yue/wey
Electron 开发团伙 ‣ 2013 ~ 2014 ‣ 2015 ~ 2016
‣ 2017 ~ 现在
参与开发的主要公司和团队
Electron 在中国 ‣ ⽂文档的社区中⽂文翻译完成度达到了了 79% ‣ electronjs.org 中国访问⽐比例例达 18%,略略低于美国
2018/2019的开发⽅方向
更更加安全
更更加安全 ‣ 微软的安全专家进⾏行行代码审核 ✦ 分离内部和外部IPC通道等 ‣ 更更安全的默认选项(5.x) ✦ nodeIntegration 默认关闭
✦ contextIsolation 默认开启 ✦ sandbox 默认开启 ‣ 安全漏漏洞洞悬赏(bug bounty) ✦ 发送邮件⾄至
[email protected]
及时更更新 Chromium
为什什么更更新 Chromium 很慢 • Electron 有⼤大量量的 Chromium 补丁(⽬目前有98个) ✦ 取消安全检查
✦ 增加接⼝口 ✦ 和 Node.js 共同运⾏行行 • Electron 增加了了多种运⾏行行模式(sandbox, contextIsolation, nodeIntegration, nativeWindowOpen… ) • ⼤大量量依赖于 Chromium 具体实现的功能(webFrame, remote, mixed-sandbox, webview, protocol…)
提升 Chromium 更更新速度 ‣ 降低更更新难度 ✦ 编译系统切换到 GN(和 Chromium 保持⼀一致)
✦ 将补丁合并到 Chromium 和 Node.js 上游 ‣ 增加⼈人⼿手 ✦ 来⾃自 Slack, VS Code, Microsoft Team 的开发者协 助 Chromium 更更新
⽭矛盾 ‣ 成熟应⽤用的开发者不不愿意升级到新版本 ✦ 更更新 Chromium ⼀一定会引⼊入 bug - 单元测试未覆盖到的功能出现问题
- GPU 渲染机制变换导致应⽤用渲染bug ‣ 部分开发者催着升级到新版本 ✦ Chromium ⼀一直在引⼊入新功能 ✦ 旧版本的 Chromium 得不不到安全更更新
应⽤用反馈项⽬目 (App Feedback Program)
App Feedback Program ‣ 应⽤用开发者参与新版本 beta 测试 ✦ 在你的应⽤用⾥里里测试 10000
个⽤用户⼩小时以上 ✦ 有⼈人能每周参与讨论应⽤用⾥里里遇到的 bug ‣ 反馈的 bug 作为优先事项修复 ‣ 详情:https://electronjs.org/blog/app-feedback- program
Electron ⼤大版本发布流程 1. 有了了新 Chromium 更更新 2. Electron 更更新到最新的 Chromium,在所有单元测试通过后发布
beta 版 3. 参与 App Feedback Program 的应⽤用开发者在⾃自⼰己的应⽤用中测试 beta 版 4. 应⽤用开发者回报 bug 5. 视频会议时讨论并向开发团队分配 bug 6. 修复 bug 后发布新 beta 版 7. 重复 3 - 6 直⾄至发布稳定版
⼀一些常⻅见问题
有什什么新功能?
Electron 的开源⽂文化 ‣ ⽤用户对开发者来说,是邻居⽽而不不是客户 ‣ 新功能主要由第三⽅方公司的开发者主导 ‣ 提供相应的资源,就可以影响 Electron 的开发
如何影响 Electron 的未来 ‣ 提供开发者参与 Electron 的开发 ‣ 加⼊入 App
Feedback Program ‣ 加⼊入 Electron 的 Slack 讨论组参与讨论 ✦ 应⽤用开发者限定 ✦ 向
[email protected]
发邮件申请加⼊入 (请简单说明⼀一下应⽤用的情况)
能不不能所有 App 共享 ⼀一个 Electron runtime ?
共享 runtime 的问题 ‣ App 开发者选择 Electron ⼤大部分时候就是要削减开 发成本,⽽而不不是降低⽤用户的使⽤用成本 ✦
很多 App 针对特定的 Chrome 版本编写 ✦ 需要 App 的开发者测试多个 Electron 的版本 ✦ 新的 Electron 更更新很可能会导致旧 App 出 bug
所以 ‣ ⽤用户基数⼤大的 App 不不太可能使⽤用共享 runtime ‣ 类似的尝试效果都不不好(Chrome Apps, Adobe
AIR…) ‣ ⾄至少2019年年不不会有共享的 Electron runtime
谢谢