BT编程语言文档

桌面开发

功能

bt_app 是 BT 官方提供的桌面应用运行器和打包工具。它读取当前目录的 app.json 或根目录 index.html,创建桌面窗口,并按配置加载本地页面、本地 BT 服务地址或远程 Web 地址。 开发者可以用 HTML/CSS/JavaScript 编写界面,用 BT 编写本地逻辑、Web 服务或可被前端调用的函数。bt_app 负责窗口、资源协议、Bundle 打包、图标、元信息和前端 window.bt 桥接。

适用场景

  • HTML前端开发人员,快速编写页面。
  • BT 本地服务加 Web 前端的桌面软件。
  • 把可信远程 Web 应用包装为桌面窗口。
  • 需要单文件分发的 Windows 桌面应用。

和 Web 项目的区别

普通 Web 项目运行在浏览器中,页面默认不能直接调用 BT 本地函数。bt_app 运行在桌面 WebView 中,会注入 window.bt,页面可以通过 window.bt.call() 调用 main.bt 中的函数,也可以通过 window.bt.window 控制当前窗口。

和普通桌面软件的区别

传统桌面软件通常直接使用原生 UI。bt_app 使用 Web 技术绘制界面,用 BT 负责本地逻辑或服务,适合已有 Web 前端经验的开发者。

基本运行思路

1. 启动 bt_app.exe 或执行 bt_app.exe run。 2. 如果当前 exe 尾部带 Bundle,则从 Bundle 读取资源;否则从当前目录读取资源。 3. 优先读取 app.json;没有 app.json 时,如果根目录存在 index.html,会按纯 HTML 项目运行。 4. static 模式通过 bt://app/... 加载项目资源。 5. server 模式执行 server.bt,窗口加载 app.entry 指定的本地服务地址。 6. remote 模式直接加载 app.entry 指定的远程地址。

app.json 是否必须

app.json 不是必须的。当前目录只有 index.html 时,bt_app 会自动生成一份运行配置:
  • app.name 使用项目目录名。
  • app.title 使用 HTML 的 <title>
  • app.mode 固定为 static
  • app.entry 固定为 index.html
  • app.console 默认为 false
纯 HTML 项目可以用 <bt-app> 标签补充窗口、图标和打包资源配置。

文档目录