一個輕量級、高性能的?C ?Web?框架
時間:2021-10-08 16:36:27
手機看文章
掃描二維碼
隨時隨地手機看文章
[導讀]說起Web開發(fā),大多數人會想到Java、Python、Golang...?因為它們的主流Web框架有很多,Java有非常知名的Spring全家桶,Python有大而全的Django、小而精的Flask、高性能的Tornado,Golang也有快速靈活的Gin、Echo等框架。相比...
說起 Web 開發(fā),大多數人會想到 Java、Python、Golang ...
?因為它們的主流 Web 框架有很多,Java 有非常知名的 Spring 全家桶,Python 有大而全的 Django、小而精的 Flask、高性能的 Tornado,Golang 也有快速靈活的 Gin、Echo 等框架。相比之下,C/C 陣營則遜色不少。之前,我曾寫過一篇《C Web(HTTP)開發(fā) 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 萬個并發(fā)連接。
- 訪問數據庫Oat ORM 提供了一種簡單而統(tǒng)一的方式來訪問數據庫
- 保持代碼一致Oat 在整個代碼庫中依靠對象映射來確保 API 和數據模型的一致性
- 生成 API 文檔使用 Swagger-UI 和 OpenAPI 3.0.0 自動記錄 endpoints
最吸引我的是 HTTP/HTTPS、文件上傳/下載、以及強大的? Swagger API 功能。
2編譯 Oat
進入 Oat 的 GitHub 頁面,你會發(fā)現 Star 多達 4K ,貢獻者有 30 多個,且最近幾天還有代碼提交,所以
不用擔心熱度和活躍度,這個框架一直有人在積極地維護。
環(huán)境要求
Oat 的編譯過程很簡單
,只需要有基本的開發(fā)環(huán)境就行了:- 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
隨后,
執(zhí)行編譯安裝四部曲:
$?cd?oatpp/
$?mkdir?build?