5

5 个 用于前端的Python库

 8 months ago
source link: https://www.fly63.com/article/detial/12627
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Python 中有许多前端库,每个库都有其独特的优点和缺点,我们应该选择哪一个?

无论你是数据科学家、数据工程师、机器学习工程师还是 Python 开发人员,你都必须至少了解一个前端库。它可以在很多方面为你提供帮助,例如,创建宠物项目、成为全栈开发人员、创建仪表板,甚至在日常生活中提供帮助。

在本文中,我将介绍 5 个不同的前端库,每个库都有其独特的功能、优点和缺点。

我们从最流行的前端框架开始。

1、Streamlit 

Streamlit 是一个开源 Python 框架。它允许用户快速轻松地创建交互式数据应用程序,这对于可能不具备广泛的 Web 开发知识的数据科学家和机器学习工程师特别有利。

借助 Streamlit,开发人员可以构建和共享有吸引力的用户界面并部署模型,而无需深入的前端经验或知识。该框架是免费、全 Python 且开源的,可以在几分钟内创建可共享的 Web 应用程序。

如果你想创建一个快速原型、SaaS、分析仪表板或只是为朋友创建一些项目 - Streamlit 是个好主意。开始使用它不需要时间,有很多模板准备好了,您可以在几分钟内完成您的前端。

但是,如果要可扩展的东西,或者想要具有许多功能的大东西,那么这个库将不是一个好的决定。Streamlit 更专注于展示一项特定功能的简单单页网站,因此不建议使用它创建社交网络或初创公司。

此外,许多用户表示 Streamlit 很难定制。如果您想添加文档中没有的新内容,这将是一个艰巨的挑战。

2.Solara 

地址:https://solara.dev/showcase

Solara 允许你使用 ipywidgets 或基于 ipywidgets 的类似 reactapi 从纯 Python 构建 Web 应用程序。这些应用程序既可以在 Jupyter Notebook 中运行,也可以作为具有 FastAPI 等框架的独立 Web 应用程序运行。

借助 Solara,你可以从促进基于组件的代码并简化状态管理的范例中受益,从而使您的开发过程更加高效,应用程序更加可维护。

Solara 让你能够充分利用 Python 生态系统的全部功能。这意味着你可以继续使用您最喜欢的库,同时扩展你的 Web 开发能力。

因此,如果你想开发一个大型且可扩展的网站,或者为你的 python 笔记本开发一些小部件,Solara 是您的最佳选择。

然而,缺点是:Solara 并不是那么受欢迎(例如与 Streamlit 相比),因此很难找到问题的答案,或者找到一些模板来开始,一些用户还抱怨文档。

最后,它通常会更难开发,因为您必须知道如何使用状态和管理基于组件的代码。

3. Trame

地址:https://kitware.github.io/trame/examples/

Trame 是一个开源平台,只需最少的 Web 开发或技术知识即可简化交互式且视觉上令人惊叹的 Web 应用程序的创建。

它基于 Python,并利用 VTK、ParaView 和 Vega 等平台在几分钟内创建基于 Web 的应用程序。

Trame 提供了一个用于构建反应式、有状态 Web 应用程序的高级框架,它可以在本地用作任何桌面应用程序,也可以部署在云或本地以访问大数据和/或敏感数据。

Trame 通过利用现有的库或工具(例如 vuetify、Altair、Vega、Deck、VTK、ParaView 等)内置了许多功能。

Trame 使您可以创建具有丰富可视化效果的交互式数据处理应用程序,而无需切换语言或技术。

多种可用布局可让您立即构建应用程序。Trame 还允许您在服务器端渲染和客户端渲染以及混合方法之间进行选择。

因此,如果您想创建一些具有交互式、复杂可视化和模拟功能的以科学为中心的应用程序(即使是 3D!),Trame 是您的最佳选择。它是多平台的,提供了许多有用的功能,而且整体看起来很美观。

它也有一些缺点。Trame 是一个相当新的框架,所以它还没有一个大的社区。它仍处于开发阶段,因此可能会出现一些问题或错误。

最后,需要一些时间才能真正深入并理解所有概念。

如果您想开始使用 Trame 进行开发,请查看我的一篇文章,该文章概述了该库:https://medium.com/python-in-plain-english/trame-frontend-with-vue-js-but- 在-python-329111755b98

4.ReactPy

ReactPy 是一个无需 JavaScript 即可构建用户界面 (UI) 的 Python 包。它允许开发人员使用小型、可重用的组件创建界面,类似于 ReactJS。

ReactPy 接口可以为各种后端构建,例如 Flask、FastAPI、Sanic、Tornado、Django、Jupyter 和 Plotly-Dash。

基本上,任何可以在 ReactJS 中构建的东西都可以在 ReactPy 中构建。大多数 React 功能(例如状态管理、钩子、组件等)都已在 ReactPy 中实现。

因此,如果您熟悉 ReactJS,并且希望后端和前端使用相同的语言,ReactPy 是最佳选择。

除此之外,ReactPy 只是一个很好的库,用于编写多页面网站、登陆页面和其他通常使用 html/css/JS 的内容。

ReactPy 的主要缺点是它很新,所以它没有一个大的社区——这意味着,你不会像 ReactJS 那样拥有数百个库。

此外,它仍在开发中,因此可能会出现一些错误,并且某些功能可能未完成/无法正常工作。

如果您想开始使用 ReactPy,请查看我的文章:https://medium.com/@ash_computational_qm/reactpy-building-dynamic-frontend-applications-with-python-de92d9e95bce

5. PyQt

地址:https://github.com/pyqt/examples

PyQt 是跨平台 GUI 工具包的 Python 绑定,作为 Python 插件实现。它主要作为一个强大的 GUI 模块,将强大的 Qt C++ 跨平台框架与灵活的 Python 编程语言无缝集成。

它被组织成多个模块,每个模块针对特定任务进行定制,例如用于核心非 GUI 功能的 QtCore 和用于 GUI 功能的 QtGui。

PyQt 因其现代化的小部件集合以及与各种操作系统(包括 Windows、Unix、Linux、macOS、iOS 和 Android)的兼容性而被广泛用于开发图形应用程序。

如果您需要适用于上述任何操作系统的桌面应用程序,PyQt 是最好的选择之一。

它提供了广泛的小部件集、良好的可定制性,并且遵循所有 Python 约定,使其易于使用。它还支持视频和音频等多媒体。

不幸的是,PyQt 在安装时需要一些额外的步骤,这使得它比其他库更难安装。除此之外,如果您的应用程序不是开源的,您必须支付商业许可证的费用。

最后,需要一些时间来了解所有小部件和功能如何工作才能使用 PyQt 正确创建应用程序。

结论

我们探索了5个领先的 Python 前端框架,每个框架都有其独特的优势和应用程序。

为了快速、轻松地进行原型设计,Streamlit 是您的首选。对于企业级可扩展性,Solara 是最佳选择。如果模拟和复杂的 3D 可视化是您的目标,Trame 就是专家。对于类似 ReactJS 的网站开发,ReactPy 是理想的选择。对于跨平台桌面应用程序,PyQt 是人们的最爱。

通过阅读此内容,我想你可以轻松选择适合你的工作框架。

来自:web前端开发

链接: https://www.fly63.com/article/detial/12627


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK