5 个 用于前端的Python库

更新日期: 2024-01-03阅读: 882标签: 

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://fly63.com/article/detial/12627

JavaScript 社区由一个库引发的“smoosh门”事件到底怎么回事?

一项名为 JavaScript 功能的提案 Array.prototype.flatten 证明与 Web 不兼容。在 Firefox Nightly 中发布该功能会导致至少一个受欢迎的网站中断。鉴于有问题的代码是广泛使用的 MooTools 库的一部分,很可能会有更多网站受到影响。

15个有趣的Javascript 和CSS库

让你了解到新兴和酷炫的web 开发趋势. 精心挑选发布一些认为大家值得关注的库:Direction Reveal、Carbon、Аxios、Jarvis、Toast UI Editor、Micron.js、lit

math.js_灵活强大的JavaScript数学库

math.js是一个广泛应用于JavaScript 和 Node.js的数学库,它的特点是灵活表达式解析器,支持符号计算,内置大量函数与常量,并提供集成解决方案来处理不同的数据类型,如数字,大数字,复数,分数,单位和矩阵。

12 个评估 JS 库你需要关心的事

当你调研一个 JS 库,功能当然是最重要的。作者给出了从 12 个角度全面分析 JS 库的可用性,分别是:特性,稳定性,性能,包生态,社区,学习曲线,文档,工具,发展历史,团队,兼容性,趋势

在使用新的JavaScript库时需要考虑的12件事

对于今年的JavaScript状态调查,我想深入挖掘一下,不仅知道人们正在使用哪些工具和库,还要为什么他们选择使用它们。这意味着我必须找到一种方法将个人偏好转化为冷酷的数据。

React Native 常用的 15 个库

本篇 React native 库列表不是从网上随便找的, 这些是我在我的应用中亲自使用的库。 这些库功能可能跟其它库也有,但经过大量研究并在我的程序中尝试后,我选择了这些库。

10个有趣的javascript和css库

我们的使命是让您了解最新和最酷的Web开发趋势。下面为大家分享10个有趣的javascript和css库:Tessaract.js强大的javascript(节点和浏览器)库,用于从图像中提取文本。

5个功能丰富的交互式Js库

在javascript的帮助下,可以为几乎每个领域(如移动、桌面应用程序和游戏Web开发)创建Web应用程序,因为该编程语言用作服务器端编程语言以实现最大功能,所以它是一种很好的编程语言。在本文中,我们选择了一些最佳的javascript库汇总

Js常用的动态效果库有那些?

当我想要在网上找一个简洁的 Javascript 动效库时,总是发现很多“推荐”的库都是缺乏持续维护的。经过一番研究,我收集了 11 个最好的库,你可以用在自己的项目中。另外我还添加了一些有用但是缺少持续维护的库

10 个实用的 Vue.js 工具和库

如今 Vue 的热度不断攀升,使用者越来越多,Vue.js 工具也随处可见。这种现象不是凭空产生的:Vue 的学习曲线友好,功能驱动的结构清晰易懂,文档出色易学,所以新人入门很容易,经验丰富的开发人员也可以快速从其他框架

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!