登錄 注冊
購物車0
TOP
Imgs 行業(yè)資訊

0

C++ Web開發(fā)中一個輕量級、高性能的大利器

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

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

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

Xcm