一个轻量级、高性能的 C Web 框架
时间:2021-10-22 15:13:29
手机看文章
扫描二维码
随时随地手机看文章
[导读]说起Web开发,大多数人会想到Java、Python、Golang... 因为它们的主流Web框架有很多,Java有非常知名的Spring全家桶,Python有大而全的Django、小而精的Flask、高性能的Tornado,Golang也有快速灵活的Gin、Echo等框架。相比...
说起 Web 开发,大多数人会想到 Java、Python、Golang ...
因为它们的主流 Web 框架有很多,Java 有非常知名的 Spring 全家桶,Python 有大而全的 Django、小而精的 Flask、高性能的 Tornado,Golang 也有快速灵活的 Gin、Echo 等框架。相比之下,C/C 阵营则逊色不少。之前,我曾写过一篇《C Web(HTTP)开发 10 大利器》,其中介绍了一些 C/C Web 框架。有一个名为
Oat
的很不错,轻量、跨平台、高性能、完全零依赖
,非常值得学习!1Oat 介绍
要深入了解 Oat ,
离不开这几个网址:
- Oat 主页:https://oatpp.io
- Oat 文档:https://oatpp.io/docs/start
- GitHub 地址:https://github.com/oatpp/oatpp
其主要特性有:
- 随处运行Oat 没有任何依赖性,可以很容易地移植到各种支持的平台上(Linux、MacOS、Windows)。
- 构建健壮的api使用 Oat Simple-API,构建灵活而健壮的 API 既简单又有趣。
- 处理 500 万个连接使用 Oat Async-API,可以在单个服务器上处理超过 500 万个并发连接。
- 访问数据库Oat ORM 提供了一种简单而统一的方式来访问数据库
- 保持代码一致Oat 在整个代码库中依靠对象映射来确保 API 和数据模型的一致性
- 生成 API 文档使用 Swagger-UI 和 OpenAPI 3.0.0 自动记录 endpoints
最吸引我的是 HTTP/HTTPS、文件上传/下载、以及强大的 Swagger API 功能。
2编译 Oat
进入 Oat 的 GitHub 页面,你会发现 Star 多达 4K ,贡献者有 30 多个,且最近几天还有代码提交,所以
不用担心热度和活跃度,这个框架一直有人在积极地维护。
环境要求
Oat 的编译过程很简单
,只需要有基本的开发环境就行了:- Git
- 编译器支持的 C 版本 >= 11
- Make
- CMake 版本 >= 3.1
如果没有的话,按照下述步骤安装,以 Ubuntu 为例:
$ sudo apt install git
$ sudo apt install cmake
$ sudo apt install build-essential
编译安装
下载 Oat 源码:
$ git clone https://github.com/oatpp/oatpp.git
随后,
执行编译安装四部曲:
$ cd oatpp/
$ mkdir build