はじめに
最近職場でRustについての話題が多くなってきました。
経験豊富なエンジニアさんが
「Rust最強」
なんていうと気になりますよね。
という経緯でRustで動くウェブフレームワークってどんなのがあるのかな、と調べていたら全く別のフレームワークに興味が湧いてきました。
ウェブフレームワークのベンチマーク
ウェブフレームワークで調べていくと、ベンチマークランキングサイトにぶち当たりました。
そこで見たものは衝撃的でした。
色々なテストごとのベンチマークランキングが紹介されているのですが、それぞれのテストのランキング上位に来るのは今まで見たことも聞いたこともないフレームワークでした。
ランキングサイトはこちらです: https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=fortune
色々テストがある中で、Fortunes
というテストのトップに君臨する Drogon
というフレームワークが目に止まりました。
C++で動くウェブフレームワーク「Drogon」
このDrogon、ウェブフレームワークとしては珍しく C++
で動くようです。
確かにC++の処理速度は爆速だと言われていますし、速度が要求されるゲーム開発(Unreal Engineとか)に使われていますが、これまでC++で動くウェブフレームワークを聞いたことはありませんでした。
これはかなり興味をそそられます。。。
そんなDrogonのGithubはこちらです: https://github.com/drogonframework/drogon
公式ドキュメントはこちら: https://drogon.docsforge.com/
Drogonのいろいろ
- 2018年3月にリリースされた
- C++14とC++17で動く
- Drogonという名前は
Game of Thrones
というアメリカのテレビ番組に出てくるドラゴンの名前から来ている - epoll-based(I/Oの多重化)を採用している
- Linux, macOS, FreeBSD, OpenBSD, HaikuOS, and Windowsで動く
- バックエンドレンダリングをサポートしている(CSPテンプレート)
- 軽量ORMを提供している
調べてみての感想
正直C++はほぼほぼ使ったことがない(Cocos2d-xでちょっと触ったくらい)のですが、ウェブサービスを作れるとなったら使ってみたくなりました。標準でORMが提供されているのもいいなと思いました。
今後Dockerで環境を作って色々触ってみたいと思います。
以上、Drogonってウェブフレームワークについて簡単なご紹介でした。最後までお読みいただきありがとうございました。
参考サイト
- Drogon Github: https://github.com/drogonframework/drogon
- Drogon公式ドキュメント: https://drogon.docsforge.com/
- Web Framework Benchmark: https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=fortune
C++の書籍のご紹介
C++を既に使ったことある人向けです。
初心者の方はこっちの方がオススメです。