JustPy:用Python轻松构建交互式Web应用
·
JustPy:用Python轻松构建交互式Web应用
项目介绍
JustPy 是一个面向对象、基于组件的高级 Python Web 框架,它不需要前端编程。通过几行 Python 代码,您就可以创建交互式网站,而无需编写任何 JavaScript 代码。JustPy 还可以用于为 Python 程序创建图形用户界面。
尽管 JustPy 已经进入“日落”阶段,版本 14.0 是最终版本,所有问题都已关闭为“不会修复”,但 Pull Requests 仍然受欢迎,并将以“尽力而为”的方式处理。如果您正在寻找替代方案,可以考虑迁移到 nicegui。
项目技术分析
后端技术栈
- Starlette: 一个轻量级的 ASGI 框架/工具包,非常适合构建高性能的 asyncio 服务。
- Uvicorn: 一个基于 uvloop 和 httptools 的闪电般快速的 ASGI 服务器。
前端技术栈
- Vue.js: 一个渐进式的 JavaScript 框架,用于构建用户界面。
JustPy 通过在前端拦截相关事件并将其发送到后端进行处理,消除了前端和后端之间的区别。
项目及技术应用场景
应用场景
- 交互式网站开发: 无需编写 JavaScript,仅使用 Python 即可创建动态和交互式的网站。
- 图形用户界面开发: 为 Python 程序创建图形用户界面,简化用户与程序的交互。
- 数据可视化: 结合 pandas 和 matplotlib,轻松创建数据分析和可视化工具。
技术应用
- HTML 和 SVG 组件: 支持标准的 HTML 和 SVG 组件,方便构建复杂的网页结构。
- 图表和网格: 内置对 Highcharts 和 ag-grid 的支持,方便创建交互式图表和数据网格。
- Quasar 组件: 支持 Quasar 库中的 Material Design 2.0 组件,提供丰富的 UI 元素。
项目特点
- 无需前端编程: 仅使用 Python 即可完成从前端到后端的开发,大大降低了开发门槛。
- 组件化开发: 支持创建和重用自定义组件,提高代码的可维护性和复用性。
- 高性能: 基于 Starlette 和 Uvicorn,提供高性能的 Web 服务。
- 丰富的文档和教程: 提供详细的文档和教程,帮助开发者快速上手。
- 社区支持: 通过 GitHub 讨论和 Stack Overflow,开发者可以获得丰富的社区支持。
示例代码
Hello World
import justpy as jp
def hello_world():
wp = jp.WebPage()
d = jp.Div(text='Hello world!')
wp.add(d)
return wp
jp.justpy(hello_world)
点击事件示例
import justpy as jp
def my_click(self, msg):
self.text = 'I was clicked!'
def hello_world():
wp = jp.WebPage()
d = jp.Div(text='Hello world!')
d.on('click', my_click)
wp.add(d)
return wp
jp.justpy(hello_world)
结语
尽管 JustPy 已经进入“日落”阶段,但它仍然是一个强大的工具,特别适合那些希望用 Python 快速构建交互式 Web 应用的开发者。如果您正在寻找一个简单、高效且无需前端编程的解决方案,JustPy 绝对值得一试。
更多推荐



所有评论(0)