Rust编写的Web开发框架——同时支持Node和Python
随着 Web 技术的迅速发展,Web 项目开发变得愈发复杂,需要投入更多的时间和精力。因此,Web 开发者必须灵活运用最新的 Web 开发框架,以提高开发效率和应对不断变化的需求。
最近,马建仓在 Gitee 上看到一款以结构为核心的新一代网络框架——TEO,适用于 Rust、Node.js 和 Python 的 Web 框架,能非常好的提高应用程序开发人员在使用 Web 服务器和数据库时的工作效率。值得一提的是,该项目目前已经成为 Gitee 的 GVP 项目。
项目名称: TEO
项目作者: TEO 团队
项目许可证: Apache 2.0
项目开源地址:https://gitee.com/teocloud/teo
TEO是什么?
Teo 是新一代 Web 框架。它由以下部分组成:
Teo schema:直观且创新的模式语言,具有描述性和可读性 Teo 服务器:用 Rust 编写的高性能核心以及 Node.js、Python 和 Rust 的 API 绑定 Teo CLI:一种 CLI 工具,用于读取架构并执行作业,包括数据库迁移、运行服务器和播种数据 Teo 查询客户端:适用于多种平台和语言的自动生成的类型安全查询构建器
为什么使用TEO?
使用传统的 Web 框架,开发人员需要声明每个路由,编写大量样板代码来连接事物。不提供过滤、排序和分页等常用功能。开发人员需要找到一种方法来实现它。开发人员编写的函数越多,开发人员发现的重复项就越多。调试 SQL 查询或 MongoDB 聚合非常麻烦且容易出错。
在现代前端开发中,从 API 响应实现数据类型和接口感觉更像是用另一种语言重新声明这些模型类型。这些宝贵的时间可以节省下来。
Teo 使开发人员可以轻松地使用声明性模式语言设置 Web 服务器。它还为不同的前端语言和框架生成客户端。
功能与特性
极具创新的受GraphQL和Prisma启发的结构定义 自动的数据库迁移 支持Rust、Node.js和Python 支持MySQL,PostgreSQL,SQLite和MongoDB 生成的ORM类型定义 生成的前端请求代码 非常效率和高性能 数据净化、转换和验证 内建的用户session 内建的权限检查 先进后出的中间件 自定义的路由处理
快速开始
典型的 Teo 工作流程由以下部分组成:
1. 选择您的语言堆栈
Teo 支持三种服务器端编程语言:Node.js、Python 和 Rust。Node.js 与 Web 技术配合得很好。Python 非常适合与人工智能基础设施交互。Rust 追求极致的性能,但它很难编写。选择适合您需要或您熟悉的一个来开始。
Teo 关心代码重复和生产力。因此,前端客户端是由 Teo 生成的。Teo 支持 5 种前端语言:TypeScript、Swift、Kotlin、C# 和 Dart。这几乎涵盖了主流的前端技术。轻松使用这些生成的客户端或将它们共享给前端开发人员。
Swift、Kotlin、C# 和 Dart 将于 2024 年晚些时候得到支持。
2. 架构您的数据
Teo 拥有一种受 GraphQL 和 Prisma 启发的创新且易于阅读的模式语言。数据库配置、服务器配置、模型和枚举、路由处理程序都在其中声明。所写即所想,所见即所得,这真是太好了。
Teo 采用您详细描述的模式并为您进行数据库迁移、输入验证和转换。
3. ORM 实体和服务器代码
自动生成的路由处理程序可以满足 80% 的业务需求。总有一些自定义需求需要开发人员编写代码来处理。Teo 是一个成熟的 Web 框架,而不是无代码或低代码工具。让 Teo 完成繁重的工作并生成 ORM 实体。使用 Teo 的编程 API 以 Teo 支持的任何服务器语言编写代码。
4. 为前端生成客户端
遗憾的是,前端开发人员总是在不同的前端客户端中重复请求接口和参数。Teo 出现后就不再是这样了。Teo 自动生成与 Teo 请求交互的前端代码。生成的客户端是类型安全的,并且具有内置记录。支持 TypeScript、javaScript、Swift、Kotlin、C# 和 Dart。客户端可以生成到现有项目或新包中。
更多教程
可访问TEO官网查看详细教程:https://docs.teocloud.io/
微信扫码关注该文公众号作者