當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > CPP開(kāi)發(fā)者
[導(dǎo)讀]說(shuō)起Web開(kāi)發(fā),大多數(shù)人會(huì)想到Java、Python、Golang...?因?yàn)樗鼈兊闹髁鱓eb框架有很多,Java有非常知名的Spring全家桶,Python有大而全的Django、小而精的Flask、高性能的Tornado,Golang也有快速靈活的Gin、Echo等框架。相比...

說(shuō)起 Web 開(kāi)發(fā),大多數(shù)人會(huì)想到 Java、Python、Golang ...?因?yàn)樗鼈兊闹髁?Web 框架有很多,Java 有非常知名的 Spring 全家桶,Python 有大而全的 Django、小而精的 Flask、高性能的 Tornado,Golang 也有快速靈活的 Gin、Echo 等框架。


相比之下,C/C 陣營(yíng)則遜色不少。之前,我曾寫(xiě)過(guò)一篇《C Web(HTTP)開(kāi)發(fā) 10 大利器》,其中介紹了一些 C/C Web 框架。有一個(gè)名為?Oat ?的很不錯(cuò),輕量、跨平臺(tái)、高性能、完全零依賴(lài),非常值得學(xué)習(xí)!



1

Oat 介紹


要深入了解?Oat ,離不開(kāi)這幾個(gè)網(wǎng)址:


  • Oat 主頁(yè):https://oatpp.io

  • Oat 文檔:https://oatpp.io/docs/start

  • GitHub 地址:https://github.com/oatpp/oatpp


其主要特性有:


  • 隨處運(yùn)行

    Oat 沒(méi)有任何依賴(lài)性,可以很容易地移植到各種支持的平臺(tái)上(Linux、MacOS、Windows)。
  • 構(gòu)建健壯的api

    使用 Oat Simple-API,構(gòu)建靈活而健壯的 API 既簡(jiǎn)單又有趣。
  • 處理 500 萬(wàn)個(gè)連接

    使用 Oat Async-API,可以在單個(gè)服務(wù)器上處理超過(guò) 500 萬(wàn)個(gè)并發(fā)連接。
  • 訪問(wèn)數(shù)據(jù)庫(kù)

    Oat ORM 提供了一種簡(jiǎn)單而統(tǒng)一的方式來(lái)訪問(wèn)數(shù)據(jù)庫(kù)
  • 保持代碼一致

    Oat 在整個(gè)代碼庫(kù)中依靠對(duì)象映射來(lái)確保 API 和數(shù)據(jù)模型的一致性
  • 生成 API 文檔

    使用 Swagger-UI 和 OpenAPI 3.0.0 自動(dòng)記錄 endpoints


最吸引我的是 HTTP/HTTPS、文件上傳/下載、以及強(qiáng)大的? Swagger API 功能。


2

編譯 Oat


進(jìn)入 Oat 的 GitHub 頁(yè)面,你會(huì)發(fā)現(xiàn) Star 多達(dá) 4K ,貢獻(xiàn)者有 30 多個(gè),且最近幾天還有代碼提交,所以不用擔(dān)心熱度和活躍度,這個(gè)框架一直有人在積極地維護(hù)。




環(huán)境要求


Oat 的編譯過(guò)程很簡(jiǎn)單,只需要有基本的開(kāi)發(fā)環(huán)境就行了:


  • Git

  • 編譯器支持的 C 版本 >= 11

  • Make

  • CMake 版本 >= 3.1


如果沒(méi)有的話(huà),按照下述步驟安裝,以 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?
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉
關(guān)閉