Bendi新闻
>
Rust编写的Web开发框架——同时支持Node和Python

Rust编写的Web开发框架——同时支持Node和Python

1月前


随着 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/

微信扫码关注该文公众号作者

来源:OSC开源社区

相关新闻

VS Code劲敌、Atom原作者主导、Rust编写的“最好”编辑器——Zed开始支持LinuxRuffle 2023回顾——Rust实现的开源Flash Player模拟器超级好用的Python模块——glob模块Rust 编写的 Borgo 语言带来了代数数据类型和更多功能谷歌裁员波及Flutter和Python等团队,但没有被“杀死”——而是“地点重构”(aka异地重组)Rust 编写的 Zed 编辑器开源:约 27 万行代码、主打“高性能”Rust编写的Zed编辑器开源:约27万行代码、主打“高性能”谷歌Python团队全员被裁——负责内部Python所有基础设施、曾对数亿行代码执行自动重构今日arXiv最热大模型论文:首个面向AI的python编程框架,提升大模型编程能力新思路Linux 6.10 将支持 RISC-V 架构下的 Rust 编程语言用Rust开发跨平台游戏是怎样的体验?比VS Code快得多!用Rust重写,支持OpenAI、Copilot 的Zed编辑器开源了Rust 生态纯属炒作?3 年写了 10 万行代码的开发者吐槽:当初用 Rust 是被忽悠了为什么 Rust 成为近年最受开发者推崇的语言?| 极客时间争议与热度并存,越来越多开发者正在抛弃他们的旧语言转向 Rust淦!我2小时做的图表,那个会Python的实习生只用10分钟使用 Rust 编写,Zed 代码编辑器宣布将推出 Linux 平台 alpha 版本从C++切换到Rust,开发效率提升两倍不止一个 Python 的轻量级搜索工具硬核观察 #1247 Git 项目考虑使用 Rust 代码开发python操作MySQL和实战imageio,一个Python处理图片的工具包刷个B站的功夫就把Python入门了,哈佛的线上课程,太强了!Textual:为 Python 增加漂亮的文本用户界面(TUI) | Linux 中国
logo
联系我们隐私协议©2024 bendi.news
Bendi新闻
Bendi.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Bendi.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。