路线图
本页按计划顺序列出各项功能,并说明它们能为你以及安装你软件的用户带来什么。这里不写日期:Niobium 由一个人在业余时间维护(关于本项目),所以顺序是承诺,时间不是。
路线图说明的是计划,而不是已经可用的功能。某项功能是否经过验证、在哪个平台上验证,只记录在状态与平台上。各个平台自己的计划见平台支持。
| 标记 | 含义 |
|---|---|
| ✅ | Niobium 0.1 中已提供;验证状态见状态与平台 |
| 🚧 | 正在为下一次发布开发,编号表示优先级 |
| 🔜 | 接下来,在当前工作之后 |
| 🗓️ | 之后 |
| ⛔ | 有意不在计划内 |
| 状态 | 功能 | 对你意味着什么 |
|---|---|---|
| ✅ | 在线和离线安装 | 用户可以从你通过 HTTP 托管的仓库安装,也可以从磁盘或共享目录上的离线包安装(发布与托管) |
| ✅ | 发布通道 | stable、beta 和 nightly 让你先在一部分用户中测试某次发布,再推给所有人,而无需重新构建(通道与晋升) |
| ✅ | 安装、更新、修复和卸载 | 每次变更都是一个事务,所以崩溃或断电绝不会留下一个只装了一半的应用(事务) |
| ✅ | 安全回滚 | 要撤回一次有问题的发布,你发布一个包含上一个良好版本的新发布;已有安装会像接收其他更新一样迁移到它 |
| ✅ | 便携运行 | 组件从经过验证的缓存中运行,而无需安装(制品与便携运行) |
| ✅ | 在应用内部更新 | 你的应用通过 libdistribution 自行检查、下载并应用更新(通过 C ABI 嵌入) |
| 🚧 1 | 内置功能模块 | 每项系统集成和分发功能都成为 Niobium 内部一个自成一体的模块,在每个平台上都以同样的方式测试。新的系统集成会来得更快,另一个目标是让你的 setup 只包含你的产品用到的模块 |
| 🚧 2 | 预设和主题 | 从适合你产品类型的预设开始(桌面应用、命令行工具、Electron 应用、后台服务),为安装程序窗口选择主题,并设置名称、徽标和颜色。无需手写每个字段,就能得到一个可以签名并发布的安装程序,并在发布前预览 |
| 🚧 3 | 在 macOS、Windows 和 Linux 上可用于生产环境 | 在真实机器上测试,验证为整台机器所有用户安装的场景,setup 使用 Authenticode 和 Apple Developer ID 签名(平台代码签名),用户不会看到“未知发布者”或 Gatekeeper 警告 |
| 🚧 4 | 更容易上手 | 预构建的 setup、nbpack 和 libdistribution,以及构建 API 的兼容性承诺。无需安装 Zig 就能试用 Niobium,升级时也不必重写你的构建 |
| 🚧 5 | 更多系统集成 | 从 myapp:// 链接打开你的应用,把命令行工具加入 PATH,设置环境变量;卸载时全部干净移除,而且无需安装脚本 |
| 🚧 6 | 适用于任何应用的应用内更新 | 你的应用使用与 setup 相同的签名和事务自行更新。首先提供 Electron 和 Node.js 包;其他语言调用 C ABI,并提供示例 |
| 🔜 | 新功能说明 | 发布说明显示在安装程序和你应用的更新提示中,并与发布一起签名,因此无法被替换 |
| 🔜 | 登录时启动 | 你的应用注册为在用户登录时启动,无需脚本或手动步骤 |
| 🔜 | 通过 nbpack 轮换密钥 |
替换丢失或过期的签名密钥,而不会破坏已有安装;客户端已经接受轮换后的密钥(签名与密钥管理) |
| 🔜 | 安全策略 | 一份公开的策略,以及一个私密的漏洞报告渠道(安全) |
| 🗓️ | 屏幕阅读器支持 | 使用屏幕阅读器的人也能在全部三个平台上安装你的软件 |
| 🗓️ | Linux 上的原生文件夹选择器 | 选择安装位置时的外观和操作与桌面的其他部分一致 |
| 🗓️ | 以用户的语言显示安装程序窗口 | 用户用自己读得懂的语言完成安装 |
| 🗓️ | 更多平台 | ARM 版 Windows、麒麟(Kylin)和统信(UOS),见平台支持上的候选平台 |
| ⛔ | 安装脚本和自定义动作 | 清单是数据。数据库迁移这类产品特有的工作通过 App Bootstrap 在你的应用中运行 |
| ⛔ | 第三方插件和运行时扩展 | 功能模块内置在 Niobium 中,并随 Niobium 一起审查;setup 不加载任何其他东西 |
| ⛔ | 以管理员权限运行任意命令 | 提权助手只接受一组固定的、带类型的操作(权限边界) |
| ⛔ | 单文件自解压安装程序 | 自解压可执行文件经常被杀毒软件标记。在线安装使用小巧的 setup,离线安装使用离线包目录 |
| ⛔ | 原生 Wayland 后端 | 在 Wayland 上,安装程序窗口通过 XWayland 运行(平台支持) |
功能模块是 Niobium 本身的一部分:你仍然以数据描述你的产品,安装时不会加载 Niobium 之外的任何东西。标记为 ⛔ 的内容是有意不做的,这样安装才能保持可预期、可审计。