こんにちは、tahara です。
弊社のメインは Ruby on Rails ですが、 簡単な周辺システムは担当者の好きな言語を使って作ったりします。
今回は Rust を使って MySQL(Amazon Aurora)のレコードや MongoDB に入っいるログを集計して表示する Web アプリを Rust で 作った感想です。
とりあえず動くだけの稚拙なコードですが、 ソースはこちら outing-mining-rust
使っている主なライブラリ
- iron
- Web フレームワークです
- 別ライブラリになっていますがルーティングやクッキーセッショも使えます。
- handlebars
- ビューです
- mysql
- MySQL 接続
- mongo_driver
- MongoDB 接続
- mongodbの方は MongoDB 2.x に対応してないので注意
苦労したところ
- コンパイルがとおるライブラリの組み合わせがなかなか見付からない
- ライブラリによって依存している openssl が違ったりして、ライブラリの更新待ちしたり…
- これが一番苦労したと思います。
- トライアンドエラーのサイクルの時間がかかる
よかったところ
- だいたんに修正できる
- コンパイラが修正もれを拾ってくれるので修正に対してだいたんになれます!
- ビューの修正はコンパイル不要
- ビューには handlebars-iron を使っていますが、 開発時だけ Live reload 機能でリコンパイル不要にできたりします。
- 楽しい
- 他の言語にはない新しい概念がいろいろあってRust 楽しいです。
Rust での Web 開発もわるくないですよ。