登錄 注冊(cè)
購(gòu)物車(chē)0
TOP
Imgs 行業(yè)資訊

0

C++ Web開(kāi)發(fā)中一個(gè)輕量級(jí)、高性能的大利器

2021-11-19 18:15:45
說(shuō)起Web開(kāi)發(fā),大多數(shù)人都會(huì)想到Java、Python、Golang.因?yàn)橹髁鞯腤eb框架很多,Java有非常知名的Spring家族桶,Python有大而全的Django,有小巧精致的mask,有高性能的Tornado,Golang也有快速靈活的Gin、Echo等框架。
相比之下,C  /C陣營(yíng)就遜色了。之前寫(xiě)過(guò)一篇文章《C++ Web(HTTP)開(kāi)發(fā) 10 大利器》,介紹了一些C/C  Web框架。有一個(gè)非常好的叫Oat,輕量級(jí),跨平臺(tái),高性能,完全零依賴(lài),值得學(xué)習(xí)!
燕麥介紹
要深入了解Oat,離不開(kāi)這些網(wǎng)站:
Oat主頁(yè):https://oatpp.io
燕麥文件:https://oatpp.io/docs/start
GitHub地址:https://github.com/oatpp/oatpp
其主要特點(diǎn)是:
到處跑
Oat沒(méi)有依賴(lài)性,可以輕松移植到各種支持的平臺(tái)(Linux、MacOS、Windows)。
構(gòu)建強(qiáng)大的api
使用Oat  Simple-API,構(gòu)建靈活、健壯的API既簡(jiǎn)單又有趣。
處理500萬(wàn)個(gè)連接
使用燕麥異步應(yīng)用編程接口,一臺(tái)服務(wù)器上可以處理超過(guò)500萬(wàn)個(gè)并發(fā)連接。
訪問(wèn)數(shù)據(jù)庫(kù)
Oatrom提供了一種簡(jiǎn)單統(tǒng)一的方式來(lái)訪問(wèn)數(shù)據(jù)庫(kù)。
保持代碼一致性
Oat依靠整個(gè)代碼庫(kù)中的對(duì)象映射來(lái)保證API和數(shù)據(jù)模型的一致性。
生成應(yīng)用編程接口文檔
使用斯瓦格-UI和OpenAPI  3.0.0自動(dòng)記錄端點(diǎn)。
最吸引我的是HTTP/HTTPS,文件上傳/下載,強(qiáng)大的Swagger  API功能。
2
編譯燕麥
進(jìn)入Oat的GitHub頁(yè)面,你會(huì)發(fā)現(xiàn)4K之星一樣多,貢獻(xiàn)者也有30多個(gè),最近幾天還是有代碼提交,所以不用擔(dān)心人氣和活躍度,這個(gè)框架一直在積極維護(hù)。
環(huán)境要求
Oat的編譯過(guò)程非常簡(jiǎn)單,只需要一個(gè)基本的開(kāi)發(fā)環(huán)境:
飯桶
編譯器支持的c版本=11
制造
CMake版本=3.1
如果沒(méi)有,以Ubuntu為例,按照以下步驟安裝:
$sudoaptinstallgit
$ sudoaptinstallcmake
$ sudoapinstallbuild-必不可少
編譯并安裝
下載燕麥源代碼:
$ git  clone  https://github.com/oatpp/oatpp  . git
然后,執(zhí)行編譯和安裝四部曲:
$cdoatpp/
$mkdirbuildcdbuild
$cmake.
$sudomakesudomakeinstall
抽樣程序
為了演示Oat,讓我們從最簡(jiǎn)單的“你好,世界!”走吧。
創(chuàng)建一個(gè)CMake項(xiàng)目。CMakeLists.txt的配置如下:
cmake  _ minimum  _ required(3.1版)
項(xiàng)目(helloworld)
set(CMAKE_CXX_STANDARD11)
set(SOURce  _ FileMain  . cpphandler  . h)
#查找oatpp依賴(lài)項(xiàng)
find  _ package(oatprequired)
add  _ executive($ { PROJECt  _ NAME  } $ { SOURce  _ FILES  })
#將目標(biāo)文件與庫(kù)文件鏈接
target  _ link  _ libraries($ { PROJECt  _ NAME  } oatp  : oatp)
默認(rèn)情況下,Oat將響應(yīng)404客戶(hù)端請(qǐng)求,不做其他事情。
要添加自定義響應(yīng),您必須實(shí)現(xiàn)HttpRequestHandler:
請(qǐng)求驗(yàn)證
運(yùn)行程序并在瀏覽器中訪問(wèn)http://localhost:8000/hello,以及“hello,World!”將顯示。信息:
或者使用curl請(qǐng)求http://127.0.0.1:8000/hello,效果相同:
copy  $ curl  http://127 . 0 . 0 . 1:8000/hello
你好,世界!

高都電子,為客戶(hù)創(chuàng)造價(jià)值!

雙面板免費(fèi)加費(fèi),四層板加急打樣,厚銅電路板打樣

Xcm