Bubble Tea官方版是一款轻量化终端应用开发工具,兼顾简易与复杂项目的开发需求。Bubble Tea使用形式灵活,支持内联、全窗口或混合展示多种运行模式。Bubble Tea依托功能性与状态化设计,能便捷、高效地搭建风格丰富的终端应用。
软件功能
1、可开发简易及复杂的各类终端应用,支持内联、全窗口或两种模式混合使用。
2、依托模型、更新、视图的轻量化架构,方便管理应用状态。
3、自动完成界面渲染与重绘工作,无需开发者手动编写底层绘制逻辑。
4、支持光标调节、鼠标追踪、备用屏幕等多种终端拓展功能。
使用教程
1、首先,我们先定义程序包并引入依赖库,本次仅需导入 Bubble Tea 外部库,并将其简写为 tea。
Bubble Tea 程序由承载应用状态的模型,搭配三个核心方法共同组成:Init 函数,用于返回应用的初始命令;Update 函数,负责接收事件并同步更新模型;View 功能,依托模型数据完成用户界面的渲染展示。
2、接下来,我们定义一个模型用于存储应用程序的状态。该模型可以是任意数据类型,其中结构体(struct)是最实用、最常用的选择。
3、接下来,我们定义应用程序的初始状态。Init 函数可以返回一个 Cmd 对象,用于执行初始的输入 / 输出操作。由于当前无需执行任何输入 / 输出操作,我们直接返回 nil 来表示无命令即可。
随后,我们在 Init 方法中设置应用的初始状态。Init 可返回 Cmd 对象,用来执行程序初始的输入输出操作。当前无需进行任何读写操作,因此直接返回 nil,以此代表无任何执行命令。
4、接下来介绍更新方法,该函数会在产生操作事件时触发,主要根据接收的事件更新程序模型,也可搭配指令执行额外操作。按键、定时、服务响应等行为都会生成消息,可通过类型判定区分。目前仅处理按键消息,用来识别键盘操作,实现基础交互。
你会发现,按下 Ctrl+C 或 Q 键时,会随模型一同返回 tea.Quit 指令。这是专属退出命令,用于通知 Bubble Tea 运行环境关闭程序,完成进程终止。
5、最后我们来完成用户界面的渲染,在所有方法中,视图的实现最为简单。只需读取模型的当前状态,以此构建 tea.View 内容。视图用于定义界面展示内容,还可按需配置终端功能,如备用屏幕、鼠标追踪、光标位置等。
视图会完整承载应用的全部界面,无需自行处理重绘逻辑,这类操作都将由 Bubble Tea 自动完成。
6、最后一步只需运行程序即可,我们将初始模型传入 tea.NewProgram 中,直接启动运行程序。
常见问答
问:支持哪些操作系统?
答:兼容 Windows、macOS、Linux 全平台,适配主流终端环境。
问:框架的核心架构是什么?
答:采用 Model-View-Update 设计模式,分层清晰,便于管理程序状态。
使用开发需要掌握什么语言?
答:仅支持 Go 语言,需具备基础的 Go 开发能力。

phpstorm 2019 官方版
Rider 2019 最新版
dnSpy 中文版 v6.1.8