JAVAScript 是 Web 开发领域里非常重要的技术之一,并且是每个开发者都必须掌握的技能。
而我作为一个开始使用 Python/ target=_blank class=infotextkey>Python 编程的人,我希望构建用户可以与之交互并查看我创建的可视化效果的应用程序。多亏了这些框架,我才能够实现这一目标。
在本文中,我将分享一些想要通过 Python 来构建很酷的应用程序。
那些,我们现在就开始吧。
Reflex(以前称为 Pynecone)是一个开源框架,这意味着您可以使用 Reflex 构建应用程序前端、后端并进行部署。
事实上,Reflex官方文档就是用Reflex构建和部署的。它很容易学习,您不需要 Web 开发知识就可以在 Reflex 中构建应用程序。
借助 Reflex 内置的 ORM,您可以连接到您选择的任何 SQL 数据库,并构建围绕 React(一种流行的 JavaScript 框架)的组件。
听说过Flutter吗?它由 google 开发的流行框架。Flet 基于 Flutter,它允许你使用 Python 编程构建交互式 Web、桌面和移动应用程序。
Flet 的灵活性让你有机会添加动画和授权,甚至构建跨平台应用程序。
Flet 支持路由,并且通过 Flet 控件,你可以构建基本到复杂的用户界面。
它就像它的父框架 Flutter 一样易于学习和上手。
查看 Flet 图库并查看使用 Flet 构建的出色应用程序。
与 Reflex 不同,Solara 是一个允许你为应用程序构建 UI 组件的库。你可以拥有一个带有 FastAPI、Django 或 Flask 后端的应用程序,并使用 Solara 构建用户界面。
Solara 的另一个有趣的功能是能够在 Jupyter Notebook 中使用它。Solara 可以处理状态管理、路由以及构建简单到复杂的 UI 组件和挂钩,而无需离开您的舒适区 - Python。
然而,如果你专注于构建数据应用程序,Solara 是一个合适的选择。
这是我最喜欢的,因为 R 编程是我认真对待的第一种编程语言,尽管我在本科时学习了 FORTRAN,在中学时学习了 BASIC。
我说 R 是因为 Shiny 最初是用 R 构建的,最近也开发了 Python 的 Shiny 框架。
Shiny 专注于反应性原则,通过分别构建用户界面和交互性,并允许客户端或服务器端动态更改用户界面。
Shiny还支持路由,是构建数据应用程序的合适选择。你可以查看我用 Shiny 构建的这个网络应用程序。
如果您是 Django 开发人员,可以使用多种方法来处理应用程序中的交互性。
其中一些方法需要离开你的舒适区,你必须学习一个 JavaScript 框架或另一个。
借助 Unicorn,你可以向模板添加交互并在幕后动态更新 html DOM,无需在 React、Angular 或 Vue 等应用程序中调用后端 API 端点。
PyScript 是一个允许你直接在浏览器中构建 Web 应用程序的框架。它像 JavaScript 一样操作 DOM,并且可以运行许多流行的 Python 包。
使用 PyScript,可以创建各种 UI 组件,例如按钮。Pyscript 还与流行的 Python 库(如 Pandas、Numpy 等)集成良好。
我想,你肯定知道或者听说过 React。它是如此流行,以至于有些人认为它是一种编程语言——只是开玩笑。
ReactPy 是一个 Python 库,允许您在无需任何 JavaScript 知识的情况下构建用户界面,同时享受 React 的好处。
有了这个库,您就可以像 React 开发人员一样发挥作用,他们认为这是自 Slice Bread 以来发生的最好的事情。
如果您想要构建数据应用程序,尤其是企业级数据应用程序,那么,这个框架适合您。
Dash 与图形库 Plotly 以及其他 Python 数据分析库(例如 Pandas、Scikit-Learn 和 Numpy)完美集成。
Dash 允许您构建具有交互式可视化的仪表板。
另一个用于构建数据应用程序的 Python 开源框架是 Streamlit,即使你对 Web 开发知识为零或很少,也可以启动并运行一个全栈网站。
Streamlit 拥有一个非常活跃的社区,其中,包含第三方模块,可以为您的应用程序提供超能力。你甚至可以查看我使用 Streamlit 构建的网络应用程序。
这是否意味着我们不需要 JavaScript?不!
JavaScript 仍然是开发之王,但有时如果您计划构建一个不复杂的用户界面,这些框架会是一个比较好的选择。
如果你没有 Web 开发经验,这些库将为你减轻很多压力,提高开发效率。