使用 Python 而不是 JS 进行前端 Web 开发的 12 个理由
为什么 Python 在 Web 开发方面胜过 HTML+JS
为什么 Python 在 Web 开发方面胜过 HTML+JS
Web 开发相当繁琐。你需要掌握 JS 、 HTML 、 CSS 、 Python(或者 Rails 或 Node)以及大量的框架。
我们热爱 Python,因为它的座右铭是:简单胜过复杂。那么,如果 Web 开发完全使用 Python,甚至包括前端,会是什么样子呢?我们构建了它,它叫做Anvil。
以下是使用 Python 构建前端和后端如此出色的 12 个理由:
1. 您的 UI 组件都是 Python 对象。
在浏览器中运行 Python意味着您可以使用 Python 修改 UI 组件。将它们拖放到页面上以构建用户界面,然后设置它们的属性并通过 Python 代码调用它们的事件。
构建反馈表单的 UI。查看教程!
2. 从浏览器调用服务器端函数
在传统的 Web 开发中,从浏览器调用 Web 服务器非常麻烦。你必须设置 URL 路由,将所有数据压缩成 JSON,设置 AJAX 请求,然后异步获取响应……真是繁琐的工作!
使用 Anvil,你只需调用一个函数。为任何函数 添加一个装饰器,然后从浏览器代码中调用该函数即可。传递 Python 对象作为参数;返回 Python 对象。大功告成。
3. 数据库内置
设置和维护数据库非常麻烦。所以 Anvil 内置了一个数据库。你可以用图形方式设计数据表,然后用 Python 查询或更新行。(你能将惰性分页查询响应以 Python 对象的形式返回给浏览器吗?当然可以!在大多数 Web 框架中,这需要几十行代码。)
4. 连接任意位置运行的代码
Anvil 是“无服务器”的——你的代码会自动托管在云端。但是,如果你想在电脑上运行代码怎么办?只需使用Uplink即可!
有 Jupyter Notebook 吗? 那就从 Web 调用它吧!
有本地数据库吗? 那就写个本地脚本查询,然后从 Web 调用它吧!
将 Google Colab 笔记本连接到 Web 应用
5.二进制数据更易于处理
“上传文件”是基本功能。所以它在每个 Web 框架中都应该很简单。对吧?惊喜!在传统的 JS 应用中,处理二进制数据(例如文件、图片或 PDF)非常困难。(如果你觉得刻薄,可以试试enctype="multipart/form-data"
跟经验丰富的 Web 开发者说“ ”。看他们瑟瑟发抖的样子。)
但 Anvil 让这一切变得简单。所有二进制数据(图片、上传的文件等)都表示为Python 对象!你可以将二进制数据作为参数传递给服务器函数。你可以将其存储在数据表中。你可以将其与 Anvil 组件一起使用。例如,渲染和下载 PDF就是这么简单:
# In a server module:
@anvil.server.callable
def get_pdf():
return anvil.pdf.render_form('Form1')
# In the browser:
pdf = anvil.server.call('get_pdf')
download(pdf)
6. 内置用户身份验证
建立用户身份验证机制虽然繁琐,但如果出错,后果不堪设想! OWASP漏洞中,有一半都与“身份验证错误”有关。
Anvil 内置的用户服务开箱即用,可为您处理注册、登录和用户权限。只需一行 Python 代码即可向用户呈现带有邮箱验证的注册表单——只需调用 即可anvil.users.login_with_form()
。
除了电子邮件登录外,Anvil 还支持Google、Microsoft、Facebook和SAML SSO。(双因素身份验证怎么样?当然可以。)
7. 内置电子邮件支持
一行代码即可发送邮件。一行代码即可接收邮件!这一切都内置于 Anvil 的电子邮件服务中。
构建一个接收电子邮件的应用程序非常简单,我们在一个4 分钟的视频中完成了它:
8.还内置PDF 生成功能
有人说“包含电池”吗?使用我们的拖放编辑器创建 PDF 文档,然后通过 Python 调用进行渲染和下载。
9. 使用你最喜欢的 Python 包
Python 的一大优势在于其丰富的可用软件包。借助完整的 Python 运行时,您可以访问一系列常用的 Python 库来构建 Web 应用。
10. 你仍然可以构建 HTTP API
想要构建一个 HTTP API,以便非 Anvil 应用也能与您的服务交互吗?创建 HTTP 端点几乎和创建可从浏览器调用的函数一样简单。查看本教程。
或者只是观看 Bridget 在 20 秒内构建和部署 JSON API:
11. 一键集成
您的 Anvil 应用可以轻松连接到 Google、Microsoft、Facebook、Stripe 等服务。您可以使用 Google、Microsoft 和 Facebook 的单点登录功能登录您的用户,使用 Stripe收款,或显示交互式Google 地图。
12.轻松加密存储
您肯定不想将密码遗留在源代码中。App Secrets服务提供易于使用的敏感数据(例如密码或加密密钥)加密存储。
通过另一个4 分钟教程学习如何存储加密数据:
简化。保持力量。
Anvil 为您提供 Python 的所有功能,同时又避免了传统 Web 框架的复杂性。如果您是 Python 开发人员,则无需任何其他工具即可构建全栈 Web 应用。
如果您确实想使用 HTML、CSS 或 JavaScript 进行一些调整,总有一个解决方案!使用Python 代码中的Javascript 库,或使用 HTML CSS 为您的应用设计样式。
不要被锁在里面。
Anvil 的运行时是开源的,因此您可以将应用程序部署到任何地方。您甚至不需要我们的编辑器来创建 Anvil 应用程序!
开始构建
Anvil 完全免费,您可以立即开始构建!您可以先阅读教程来熟悉 Anvil,或者查看文档来了解 Anvil 的其他功能。