page contents

Starfyre:一款使用纯 Python 创建响应式前端应用的 Python Web 框架

Starfyre 是一款基于 WebAssembly (WASM) 的 Python Web 框架,它允许你使用纯 Python 创建响应式前端应用。这意味着你可以轻松地构建交互式、实时应用程序,无需繁琐的 JavaScript 代码。Starfyre 基于 Pyscript 实现客户端功能,并通过 pyxides 的概念组织代码,让你的前端开发变得更加简单高效。

attachments-2025-11-GVKEKMFz691fc1636ecca.pngStarfyre 是一款基于 WebAssembly (WASM) 的 Python Web 框架,它允许你使用纯 Python 创建响应式前端应用。这意味着你可以轻松地构建交互式、实时应用程序,无需繁琐的 JavaScript 代码。Starfyre 基于 Pyscript 实现客户端功能,并通过 pyxides 的概念组织代码,让你的前端开发变得更加简单高效。

什么是 pyxides?

pyxides 可以翻译为“容器”。在 Starfyre 中,每个组件都是一个容器,它可以包含其他组件或 HTML 元素。这种结构化的方式使得代码更易于组织和管理。

安装

pip install starfyre

示例应用

Starfyre 提供了一个示例项目,你可以通过以下命令快速创建自己的应用:

starfyre --create="my-app"

该命令将使用 create-starfyre-app 模板创建一个新的项目。

IDE/编辑器插件

Starfyre 提供了针对 Vim 和 VSCode 的插件,方便你进行代码高亮和语法检查:

• vim-starfyre: Vim 语法高亮插件

• vscode-starfyre: VSCode 语法高亮扩展

简单组件

以下是一个简单的 Starfyre 组件示例:

# my-app/pages/__init__.fyre

import"../styles/index.css"

defmessage():

return"World"

---client

from starfyre import js

defhandle_click():

  js.console.log("Hello World")

---

<pyxide>

<div onclick={handle_click()}>

Hello,{message()}

</div>

</pyxide>

这个组件展示了如何使用 handle_click 函数绑定点击事件,以及如何使用 message 函数动态渲染文本。

使用组件

Starfyre 支持组件化开发,你可以将组件拆分成独立的文件,并在其他地方复用。例如:

# my-app/pages/__init__.fyre

import"../styles/index.css"

from@.components.custom_component import custom_component

# @ is the alias for the source directory. e.g. my-app in our case

<pyxide>

<custom_component></custom_component>

</pyxide>

# my-app/src/components/custom_component.fyre

<pyxide>

<div>Thisis a custom component </div>

</pyxide>

状态管理

Starfyre 通过 Observable 和 Reactive Function 的概念来管理组件状态。你可以使用 Observable 存储数据,并在数据发生变化时触发 Reactive Function,从而更新组件视图。

路由

Starfyre 支持基于文件的路由,你可以通过创建不同的文件来定义不同的页面。

样式

Starfyre 允许你使用 CSS 来定制应用程序的样式。

依赖管理

Starfyre 使用 starfyre_config.toml 文件管理项目依赖。你可以通过以下命令添加依赖:

starfyre --add-pyxide-package="package-name"

starfyre --add-server-package="package-name"

starfyre --add-js-module="module-name" --as="alias"

CLI 使用示例

Starfyre 提供了命令行界面,你可以使用以下命令构建和运行应用:

python -m starfyre [OPTIONS]

Command-line interface to compile and build a Starfyre project.

Args:

      path (str):Path to the project directory.

      build (bool):Whether to start the build package.

      create (str):Name of the project to create.

      serve (bool):Whether to serve the project.

Options:

--path TEXT    Path to the project.Requires--build.

--build        Compile and build package.Requires--path.

--create TEXT  Create a new project.Requires a project name.

--serve        Serve the project.Requires--path.

--helpShow this message and exit.

本地开发

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 应用程序。

更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Pack
Pack

1543 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 2228 文章
  3. Pack 1543 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章