用 Rust 编写也支持 Node 和 Python,这个 Web 开发框架有点意思
off999 2024-11-08 12:53 26 浏览 0 评论
随着 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/
相关推荐
- qq修改密保手机号(qq修改密保手机号是什么意思)
-
QQ更改绑定的手机号码操作步骤如下:1、打开手机主界面,找到“QQ”软件点击打开。2、输入正确的QQ账户和密码登录到qq主界面。3、点击左上角的头像“图片”,进入到个人中心界面。4、进入到个人中心界面...
- dell笔记本客服电话(dell笔记本客服电话人工服务)
-
戴尔中国的官方网站http://www.dell.com/zh-cn。通过这个网站购买的都没有问题;有问题也可以进入官网联系售后客服,也可以拔打dell电脑说明书上的售后热线,都可以为你解决的。还是建...
- 联想乐商店app官方下载(联想乐商店在哪下载)
-
您好!很遗憾!若是您的手机联想乐商店和联想游戏中心只能有流量,建议您核实是否乐安全有限制wifi上网,核实您所使用的wifi是否本身有限制。若还是无效,可清除缓存数据;备份资料恢复出厂设置尝试。欢迎您...
- 不用拉网线的路由器是真的吗
-
是真的不插卡不拉线有线就有网,这11个字其实就涵盖了无线路由器的特点,无线路由器免插卡、不用拉网线,完全摆脱了之前家用路由器和网线捆绑的模式,有电就有网,其实说的就是无线路由器的使用操作简单,通电就可...
- u盘检测软件下载(u盘测试软件)
-
1、u盘芯片检测工具(ChipEasy)可以查看USB设备PID、VID、SN、制造商、产品名等;2、查看USB设备主控芯片信息、闪存芯片信息、固件信息、电流控制3、SSD型号...
- 电脑现在什么系统最好(电脑现在用什么系统好)
-
WINXP好用,但过时了。VISTA不好用,没推开就夭折了。WIN8/8.1是针对触模屏设计的,如果你用的不是触摸屏平板电脑是普通电脑,使WIN8/8.1总觉着很蹩扭。新出的WIN10,功能...
- 账号怎么注册(steam账号怎么注册)
-
如果注册是qq账号【qq号码的申请办法】【1】双击qq登陆界面,在qq帐号填写空格的后面你可以看见:[申请帐号];【2】点击[申请帐号]进入,就可以在网上免费申请号码了;【3】进入www.qq.com...
- tmp文件是什么意思(tmp文件有什么用)
-
在系统C:\Windows\Temp文件夹中,我们经常会发现一些后缀名为TMP的文件,在该文件夹中的这些文件其实都是临时文件。它们可能是系统被误关机,或者其他程序没有删除而生的。而且在该文件夹中还有其...
- 怎么给u盘格式化(怎么给u盘格式化成FAT32)
-
u盘插入电脑,等待桌面弹出u盘图标。打开“计算机”。左键选中u盘,单击右键,在弹出的菜单中,点击“格式化”。点击“开始”,点击“确定”即可。格式化u盘详细步骤1、找到U盘盘符,鼠标右键点击,弹出菜单中...
- harmonyos主题下载(harmonyos主题怎么换)
-
首先,打开荣耀手机的应用市场,在搜索框中输入“华为鸿蒙主题”,然后点击搜索。找到“华为鸿蒙主题”应用后,点击下载即可。下载完成后,打开“华为鸿蒙主题”应用,选择心仪的主题,点击下载并应用即可享受华为鸿...
- 戴尔笔记本电脑黑屏却开着机
-
对于电脑黑屏的处理基本上采用排除、替换相结合的方法,其原则应本着先替换排除可疑性最大的部件。对于普通电脑用户来讲,专业知识不足,可以按下列步骤分析故障原因,以便可以自己动手排除故障。首先检查接触是否良...
- 手机版电脑桌面下载(手机电脑桌面下载软件安装包)
-
只有电脑版手机助手软件,没有手机桌面这个软件在电脑上点击今日头条APP下载安装即可哦你好,陌陌电脑版如果说你想要下载到电脑桌面的话,你只需要长按把它添加到你的电脑桌面就可以了。要将软件下载到桌面并创建...
- ghost备份中文图解(ghost备份1837)
-
其实是这样的ghost文件备份后会生成两个文件一个是.GHO一个是.GHS文件FAT32格式的分区,单个文件最大只支持到2G(2048M),如果你的镜像>2G,这时的做的GHOST在一个文件里装...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
