Rust in Everything
基于 tauri 2.12.5

导读

开始读源码之前,先把两件事讲清楚:

  1. 怎么读这一卷:为什么是这三个版本;启动、调用、事件三条主线每一步落在哪个函数、哪一页讲(顺带纠正了几处容易想当然的顺序:窗口是在事件循环跑起来之后才建的,emit 先送 JS 再送 Rust);custom-protocol 这个 feature 怎么经过两个构建脚本变成应用 crate 里的 cfg(dev);debug_assertions 下多出来的 ACL 详细拒绝信息、devtools 和压缩级别;阅读路线。
  2. 源码地图:tauri 工作区和 wry、tao 按层分组(编译期、运行时抽象、平台层、本体、工具),每层的入口文件和行数;注入页面的那几段 JS 在哪里、怎么被编进二进制。
flowchart TB
  read[怎么读这一卷] --> ver[锁定版本]
  read --> lines[三条主线]
  read --> cfg["feature 与 cfg"]
  read --> dbg["debug_assertions"]
  map[源码地图] --> layers[按层分组]
  map --> entry[各层入口]
  map --> js["注入的 JS"]

💬 关联讨论

发起讨论
加载中...