Starfyre 是一款基于 WebAssembly (WASM) 的 Python Web 框架,它允许你使用纯 Python 创建响应式前端应用。这意味着你可以轻松地构建交互式、实时应用程序,无需繁琐的 JavaScript 代码。Starfyre 基于 Pyscript 实现客户端功能,并通过 pyxides 的概念组织代码,让你的前端开发变得更加简单高效。
什么是 pyxides?
pyxides 可以翻译为“容器”。在 Starfyre 中,每个组件都是一个容器,它可以包含其他组件或 HTML 元素。这种结构化的方式使得代码更易于组织和管理。
安装
示例应用
Starfyre 提供了一个示例项目,你可以通过以下命令快速创建自己的应用:
该命令将使用 create-starfyre-app
模板创建一个新的项目。
IDE/编辑器插件
Starfyre 提供了针对 Vim 和 VSCode 的插件,方便你进行代码高亮和语法检查:
-
• vim-starfyre: Vim 语法高亮插件
-
• vscode-starfyre: VSCode 语法高亮扩展
简单组件
以下是一个简单的 Starfyre 组件示例:
这个组件展示了如何使用 handle_click
函数绑定点击事件,以及如何使用 message
函数动态渲染文本。
使用组件
Starfyre 支持组件化开发,你可以将组件拆分成独立的文件,并在其他地方复用。例如:
状态管理
Starfyre 通过 Observable
和 Reactive Function
的概念来管理组件状态。你可以使用 Observable
存储数据,并在数据发生变化时触发 Reactive Function
,从而更新组件视图。
路由
Starfyre 支持基于文件的路由,你可以通过创建不同的文件来定义不同的页面。
样式
Starfyre 允许你使用 CSS 来定制应用程序的样式。
依赖管理
Starfyre 使用 starfyre_config.toml
文件管理项目依赖。你可以通过以下命令添加依赖:
CLI 使用示例
Starfyre 提供了命令行界面,你可以使用以下命令构建和运行应用:
本地开发
-
1. Fork 该仓库。
-
2. 克隆仓库:
git clone https://github.com/sparckles/starfyre
-
3. 进入 Starfyre 目录:
cd starfyre
-
4. 安装 Poetry:
curl -sSL https://install.python-poetry.org/ | python3 -
-
5. 安装依赖:
poetry install
-
6. 激活 Poetry 虚拟环境:
poetry shell
-
7. 运行脚本:
./build.sh
。该脚本会使用test-application
目录中的测试应用来构建 Starfyre。 -
8. 进入
test_application/dist
目录。 -
9. 在浏览器中打开
index.html
文件,查看输出结果。
总结
Starfyre 为 Python 开发者提供了一种简单高效的方式来构建响应式前端应用。其基于 WASM 的架构、组件化开发模式和灵活的依赖管理,可以帮助你快速创建功能丰富、用户体验良好的 Web 应用程序。
项目地址:https://github.com/sparckles/starfyre