Electron 开发实战
邓耀龙
美团高级前端工程师
21224 人已学习
新⼈⾸单¥59
课程目录
已完结/共 35 讲
Electron 开发实战
登录|注册
留言
10
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 25 | 项目完善与总结(下):原生GUI
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述:学完这门课程你能得到什么?
03 | Electron介绍:为什么Electron这么火?
04 | 揭秘Electron架构原理:Chromium + Node.js是如何一起工作?
05 | 桌面端技术选型:如何选择合适的桌面端技术?
06 | Electron开发准备:环境搭建及前期准备
07 | 第一个Electron应用:开发一个简单版的番茄钟(上)
08 | 第一个Electron应用:开发一个简单版的番茄钟(下)
09 | 与Web开发不同(一):主进程与渲染进程
10 | 与Web开发不同(二):进程间通信
11 | 与Web开发不同(三):Native能力及原生GUI
12 | 与Web开发不同(四): 释放前端想象力,基于Electron能做什么?
13 | 实战项目综述:整体需求分析
14 | 设计思路:做远程控制有几步?
15 | 项目架构与基础业务:Electron 与 React 框架结合
16 | 主页面基础业务:Real World IPC
17 | 傀儡端实现(一):基于Electron能力捕获桌面视频流
18 | 傀儡端实现(二):如何接收&响应指令?
19 | 傀儡端实现(三):基于WebRTC传输视频流(上)
20 | 傀儡端实现(四):基于WebRTC传输视频流(下)
21 | 信令服务:如何连接两端(上)
23 | 指令传输实现:如何建立数据传输?
22 | 信令服务:如何连接两端(下)
24 | 项目完善与总结(上):App特性
25 | 项目完善与总结(下):原生GUI
26 | Electron 应用打包:从HTML到安装包
27 | Electron 应用更新(一):软件更新的痛点
28 | Electron 应用更新(二):线上项目如何更新?
29 | Electron 质量监控:桌面端的质量抓手是什么?
30 | 使用原生能力:如何集成C++能力?
31 | Electron 自动化测试:如何编写端到端测试?
32 | Electron体验优化:如何优化白屏问题?
33 | Electron客户端的安全:从XSS到RCE
34 | Electron bad parts:辩证看待Electron技术
35 | 结课测试&结束语
本节摘要
登录 后留言

全部留言(10)

  • 最新
  • 精选
唐村仕子
有了Electron,C/S应用方便了!

作者回复: 是的👍

2020-05-01
1
白泗小林
在app.on(ready) 回调中引用tray 这样Tray 并没有设置为全局变量 会导致Tray 被回收。表现为托盘出现后一段时间消失。

作者回复: 对的👍

2020-12-23
拖鞋
老师比如我要做个记事本的程序 配了注册表后 右键使用 这个记事本程序打开 那么这个程序是如何知道打开什么的?

作者回复: 在app模块下文档有些,https://github.com/electron/electron/blob/master/docs/api/app.md win上应该是读process.argv

2020-10-12
Geek_yundousou
这类打包项目只支持完整更新是吗?不支持增量升级更新。

作者回复: 下一章的更新会讲到。

2020-03-22
刘小宅
老师我通过, 触控板进行tray 调用菜单栏,方法是执行了, 打印出来了, 但是tray的菜单并没有出来function setTray() { tray = new Tray(path.resolve(__dirname, './icon_darwin.png')) tray.on('click', () => { showMainWindow() }) tray.on('right-click', () => { console.log( 1245 ) const contextMenu = Menu.buildFromTemplate([ {label: '显示', click: showMainWindow}, {label: '退出', click: app.quit} ]) tray.popUpContextMenu(contextMenu) }) }

作者回复: 看起来并没有什么问题,或者你可以试试我们源码看看有没有问题。或者你将你的代码贴一下看看。https://github.com/dengyaolong/geektime-electron/blob/master/Chapter%203/remote-control/app/main/trayAndMenu/darwin.js

2020-03-09
飞鸟爱吃小鱼儿
tray.on('right-click', () => console.log('click) mac的control+点击触摸板,没有响应tray的right-click,老师,请问怎么回事

作者回复: 你这个回调似乎不太对,试试这个?理论上右键是没有问题的。 tray.on('right-click', () => {console.log('click')})

2020-02-20
paopaomo
我们是在app.on('ready')中调用了require('./trayAndMenu'),那就说明这个时候app已经是准备好了的状态了,是不是在darwin.js中就可以直接调用setTray,setAppMenu 方法?不需要放进app.whenReady promise 的then中了?

作者回复: 是的。

2020-02-18
Geek_769a85
const {ipcRenderer, remote} = window.require('electron') remote 是 undefined
2021-09-17
1
匿屿
老师请问一下,在使用ffmpeg的时候,在使用@ffmpeg-installer时,开发环境使用正常,打完包之后,应用无法打开,将对应的node_modules放在unpacked下,也无法生效,这个问题怎么解决啊
2021-07-21
bug生产者
谢谢老师
2021-03-05
收起评论