Breaking News

Default Placeholder Default Placeholder

はじめに

最近職場で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ってウェブフレームワークについて簡単なご紹介でした。最後までお読みいただきありがとうございました。

参考サイト

C++の書籍のご紹介

C++を既に使ったことある人向けです。

初心者の方はこっちの方がオススメです。