版本:v0.0.1
定位:BitOS 统一人机交互基础设施与先进 UI 框架
Bit HCI 是一个基于 C++ 与 Vulkan 构建的 通用全场景人机交互开发框架,配合自研的 BitUI 声明式 UI 框架,旨在解决当前界面开发工具链的碎片化问题。
- Bit HCI:整体人机交互基础设施(类比 Apple 的 Cocoa/UIKit 框架)
- Bit:未来规划的系统级编程语言(类比 Swift)
- BitUI:声明式 UI 框架,Bit HCI 的一部分(类比 SwiftUI)
- 关系:就像 Swift 和 SwiftUI 的关系,Bit 是通用语言,BitUI 是专注于界面开发的框架
- 统一范式:一套代码适配 CLI、GUI、Web 多种交互形态
- 声明式语法:采用响应式信号 + 编译期静态优化的先进 UI 框架
- 极致性能:基于 Vulkan 的高性能渲染,编译期优化最大化
- 完全可控:C++ 底层实现,零依赖运行时,绝对性能控制
- 面向未来:为 BitOS 深度集成设计,逐步迁移至自研 Bit 语言
- 短期:用最少语法表达状态与交互,编译期优化性能
- 中期:支持多端统一范式(CLI / GUI / WEB)
- 长期:成为 BitOS 核心 UI 层,实现语言→框架→系统全栈自主可控
- 声明式 UI 语法与组件模型:以数据为源,界面为映射。
- 局部响应式信号:以最小变更范围驱动视图更新,避免全局无差别刷新。
- 编译期静态优化:跨越指令提升、死代码移除、样式折叠、事件下沉与去抖、静态切片等。
- 最小运行时:按需引入、无框架绑定、可渐进集成。
- 长期类型路线:基于 TypeScript 的类型系统与自研类型扩展。
CMakeLists.txt- 顶层 CMake 构建配置BUILD_GUIDE.md- 快速构建指南 ⭐build/- 统一构建目录(自动生成,git 忽略)bin/- 所有可执行文件和组件 DLL
docs/- 技术文档中心architecture/- 架构设计文档guides/- 开发指南reports/- 项目报告progress/- 开发进度
compiler/- BitUI 编译器(LLVM 前端)runtime/- 最小运行时与适配层native/- 原生测试窗口与运行容器(Win32 + Vulkan)examples/- 示例组件design/- 总体设计与 RFCspec/- 语言与运行时规范playground/- 交互式实验台benchmarks/- 基准测试与对比scripts/- 构建脚本与工具
native/ 目前作为一个"原生壳/测试窗口",用于:
- 在 Windows 上创建测试窗口(Win32),初始化 Vulkan 实例与表面;
- 驱动最小渲染循环,逐步接入 BitUI 框架的运行时与渲染;
后续会将其完善为“完整运行容器”:
- 增加交换链、图像视图、RenderPass/Framebuffer;
- 命令池/命令缓冲与提交/呈现;
- 将编译产物(IR/布局/样式/事件)装载并渲染,形成所见即所得的验证环境。
# 一键完整构建(清理 + 配置 + 构建)
scripts\rebuild.bat
# 或分步构建
scripts\configure.bat # 配置 CMake
scripts\build.bat # 构建所有组件详细说明:构建快速指南
# 进入输出目录
cd build\bin
# 运行任意组件(选择以下之一)
.\bitui_native.exe .\triangle.dll
.\bitui_native.exe .\button.dll
.\bitui_native.exe .\checkbox.dll
# ... 共 15 个组件可选详细使用指南请查看 BitUI 编译器 README
# 编译 BitUI 代码为 LLVM IR
cd compiler/build/Release
./bitui.exe -o output.ll -f ir ../../examples/hello.bitui
# 查看生成的 LLVM IR
cat output.ll- 快速上手:构建快速指南 ⭐
- 构建系统:统一构建系统指南
- 新手入门:Bit HCI 技术架构
- 编译器开发:编译器架构参考
- BitUI 语法:BitUI 编译器指南
- 组件开发:Examples 组件指南
- 语言示例:BitUI 示例
- 开发进度:进度追踪
- 项目报告:技术报告
- Visual Studio 2022 - 推荐(已测试)
- CMake 3.24+ - 必需
- Vulkan SDK - 必需
- LLVM - 编译器开发需要
- VSCode/Cursor 支持(计划中)
- 语法草案与最小可运行 demo(
examples/counter) - 编译管线雏形:解析 -> IR -> 优化 -> 生成
- 信号系统与渐进切换策略
- 运行时适配与跨平台接口
欢迎通过 issue/RFC 参与设计讨论,或提交 PR 完善示例、文档与实现。
本项目使用 MIT 许可。
更多详情见:docs/PROGRESS.md
更新时间:2025-10-12