当前播放: 16 | 主页面基础业务:Real World IPC
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一章:Electron基础篇 (12讲)
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讲)
13 | 实战项目综述:整体需求分析
14 | 设计思路:做远程控制有几步?
15 | 项目架构与基础业务:Electron 与 React 框架结合
16 | 主页面基础业务:Real World IPC
17 | 傀儡端实现(一):基于Electron能力捕获桌面视频流
18 | 傀儡端实现(二):如何接收&响应指令?
19 | 傀儡端实现(三):基于WebRTC传输视频流(上)
20 | 傀儡端实现(四):基于WebRTC传输视频流(下)
21 | 信令服务:如何连接两端(上)
22 | 信令服务:如何连接两端(下)
23 | 指令传输实现:如何建立数据传输?
24 | 项目完善与总结(上):App特性
25 | 项目完善与总结(下):原生GUI
第三章:Electron 工程篇 (10讲)
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 | 结课测试&结束语
16 | 主页面基础业务:Real World IPC

16 | 主页面基础业务:Real World IPC

邓耀龙
美团高级前端工程师
全集2614
新人首单 ¥19.9 原价 ¥99
本节摘要

你好,我是邓耀龙。

2020 年新年即将到来,春节期间(2020 年 1 月 30 日)我们的课程将会停止更新一次,节后(2020 年 2 月 6 日)恢复更新。这里为末推荐一些自学资料,你可以自行学习。

最后预祝你新春快乐,学有所成。

课件和 Demo 地址
https://github.com/geektime-geekbang/geektime-electron

展开
登录 后留言

精选留言(11)

  • 阿阳
    同是ipcRenderer发起的事件,一个是 ipcRenderer.invoke('login'),另一个是 ipcRenderer.send('control', remoteCode),请问老师,这两种用法有什么区别或者讲究吗?

    作者回复: 一般需要等待他返回的走invoke,类似于请求服务端

    2020-03-30
    2
  • 曹殷东
    讲的有些快,有些地方不太明白为什么这么写,然后还有就是vim写有时候操作太快,都没看清楚到底是在那个文件目录下创建的文件,在那个目录下写的

    作者回复: 抱歉,写代码时会比较忘我,有时候速度会比较快~另外,可以在我们源码仓库找到代码。

    2020-05-11
    1
  • 皮特尔
    看着代码在 Vim 窗口里上下翻飞,很有一种围观大神编码的爽感。
    2020-08-02
  • 飞天
    老师,我的电脑是windows 10,调试启动后是显示随机数了,但随机数一直在不停的变,不太正常。我看视频里你的是好的,代码都一样。

    作者回复: 你看看是不是useEffect第二个参数没写好?

    2020-05-15
    1
  • Superman
    直接暴露 send: win.webContents.send 可以吗
    2020-05-07
  • 尝试者说
    老师,当主进程的main.js改变的时候,必须要重新启动npm start 才会生效,能不能想渲染进程那样一旦有改动就会自动更新?

    作者回复: 热更新不太可能,基本都是退出重启,但是有一些像electron-reload这种库可以帮助你自动重启

    2020-04-29
    1
  • NONE
    不明白react 下的contrl的页面如何编写的,在弹出的控制窗口依然是main的界面,不说明下吗?回源码去找,源码中也没有,缺少了部分代码

    作者回复: 控制端没有逻辑,就没上react了。代码可以看这个里~回复得很晚,不好意思https://github.com/dengyaolong/geektime-electron/blob/master/Chapter%202/12-remote-control/app/renderer/pages/control/index.html

    2020-04-28
  • 小贱贱
    老师为啥我用electron-vue使用ipcMain.handle,一直报错ipcMain.handle is not a function

    作者回复: 可能是你electronvue的electron版本太低了

    2020-04-08
  • 刘小宅
    通过你的config-overrides.js进行使用,好像react启动以后会报require is not defined这个问题

    作者回复: 先确定package.json改了没有,之后看看config-overrides有没有写对。可以照着我们的源码看看有什么差别。如果还是不行的话,把你的代码放在github上贴个连接,我们可以一起看看。

    2020-02-13
  • 刘小宅
    老师我通过你的方法引用react 导致报错 Uncaught ReferenceError: require is not defined
        at Object.events (external "events":1)
        at __webpack_require__ (bootstrap:785)
        at fn (bootstrap:150)
        at Object../node_modules/webpack/hot/emitter.js (emitter.js:1)
        at __webpack_require__ (bootstrap:785)
        at fn (bootstrap:150)
        at Object../node_modules/webpack/hot/dev-server.js (dev-server.js:50)
        at __webpack_require__ (bootstrap:785)
        at fn (bootstrap:150)
        at Object.1 (serviceWorker.js:137)
    2020-02-13
  • 张一鸣
    获取code的环节,启动服务后报
    Unhandled Rejection (Error): Error invoking remote method 'login': No handler registered for 'login'
    但是我已经写了ipc.js
    并且写好了handleIPC

    作者回复: 这个报错应该就是IPC事件没注册上了,重新看看handleIPC这个逻辑有没有报错。或者你可以在我们仓库看看源码对比。https://github.com/dengyaolong/geektime-electron

    2020-02-09
收起评论
看过的人还看
Node.js开发实战

杨浩  腾讯高级工程师

57讲 | 6230 人已学习

新人首单 ¥29.9 原价 ¥129
重学前端

程劭非(winter)  前手机淘宝前端负责人

58讲 | 38059 人已学习

新人首单 ¥19.9 原价 ¥99
TypeScript开发实战

梁宵  搜狗营销事业部高级架构师

47讲 | 4533 人已学习

新人首单 ¥29.9 原价 ¥129
JavaScript核心原理解析

周爱民  《JavaScript语言精髓与编程实践》作者,南潮科技(Ruff)首席架构师

28讲 | 5312 人已学习

新人首单 ¥9.9 原价 ¥68