Skip to content

Sunny-117/electron

Repository files navigation

Electron

本项目是 《Electron桌面客户端应用程序开发入门到原理》专栏 源码+文章

大纲

第一章 Electron快速入门

该章节是整个 Electron 课程的第一个篇章,主要聚焦于 Electron 基础相关的知识:

  • Electron 基本介绍
  • 进程和线程的概念
    • 主进程和渲染进程
    • 两者之间的通信
    • 渲染进程之间的通信
  • 窗口相关的知识
    • 基础的窗口知识
    • 多窗口的管理
  • 应用常见的设置
    • 快捷键
      • 应用级别快捷键
      • 全局快捷键
    • 托盘图标
    • 剪切板
    • 系统通知
  • 系统对话框
  • 菜单
    • 自定义菜单
    • 右键菜单
  • 数据持久化方案
    • 使用浏览器能力做持久化
    • 使用Node.js能力做持久化
  • 生命周期
  • 预加载脚本和上下文隔离

第二章 实战案例:构建Markdown编辑器

本章会从原理着手:

  • Markdown原理
    • 抽象语法树
    • 常见的 Markdown 实现原理
  • 使用 Electron 构建 Markdown 编辑器
    • 打开一个 Markdown 文档
    • 保存文档
    • 拖动一个文档到编辑器
    • ...

第三章 实战案例:构建一个音乐播放器

同样是通过不断迭代的方式,一步一步完善音乐播放器。

  • 原生网页版音乐播放器
  • AmplitudeJS迭代音乐播放器
  • Electron版本音乐播放器
  • Vite、Vue、Electron搭建一个项目,继续迭代音乐播放器
  • Electron-Vite 迭代音乐播放器

第四章 Electron开发进阶

这一章的内容通常和业务逻辑关系不大,更多的是关于应用的健壮性以及一些周边功能的介绍。

  • 应用打包
  • 应用更新
  • 单元测试
  • 应用安全性
  • 异常处理
  • 日志处理
    • 日志的记录
    • 日志的上传

第五章 底层原理

这一章主要是聚焦于 Electron 底层一些比较重要的特性,针对一些非常重要的代码片段进行剖析。

  • Electron 源码目录的结构
  • Electron 如何做到跨平台
  • Electron 本身 API 是如何为开发者提供支持的
  • 进程间是如何通信
  • ...

还会包含一些和 Electorn 相关的周边工具的原理剖析

  • electron-builder
  • electron-updater

以及还会介绍一些看似和 Electron 工程没有关系,但是其实是比较重要的一些原理。

  • V8引擎执行的原理
  • 垃圾回收相关原理

第六章 Electron常见开发需求

  • 点对点通信
  • 拼写检查
  • 窗口池
  • 原生文件的拖放
  • 最近文件列表
  • 屏幕截图

该章节是一个长期更新的章节。

TODO

  • Electron和不同构建工具的融合
    • webpack
    • rollup
    • ....
  • Electron和其他现代前端开发技术的融合
    • React
    • Svelte
    • Nuxt.js
    • Next.js
    • ....
  • 原生模块
    • Windows系统的注册表
    • 调用本地代码
      • node-ffi:这是一个第三方模块,允许开发者直接通过 JavaScript 语法去调用动态链接库。
      • N-API:V8引擎提供的,让开发者是在在 Node.js 中调用 C++ 实现的模块。
    • 使用 C++ 编写一个原生模块,供你的 Electron 应用使用
    • Electron 和 Qt 的整合
  • 应用的签名和分发

About

《Electron桌面客户端应用程序开发入门到原理》专栏

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors