Rust で Web アプリを作った感想

区分
Rust
報告者

こんにちは、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 が違ったりして、ライブラリの更新待ちしたり…
    • これが一番苦労したと思います。
  • トライアンドエラーのサイクルの時間がかかる
    • コンパイルが必要なので修正から動作確認するまでの時間がもどかしいですね。
    • Scala などでも同様の事情かと思いますが、みんなどうしているんでしょう?
    • Java だと実行前にリンクせず動的に class ファイルをロードし、 最適化も実行時なのであまり問題にならないのかも。

よかったところ

  • だいたんに修正できる
    • コンパイラが修正もれを拾ってくれるので修正に対してだいたんになれます!
  • ビューの修正はコンパイル不要
    • ビューには handlebars-iron を使っていますが、 開発時だけ Live reload 機能でリコンパイル不要にできたりします。
  • 楽しい
    • 他の言語にはない新しい概念がいろいろあってRust 楽しいです。

Rust での Web 開発もわるくないですよ。

トップページに戻る

技師部隊からの
お知らせ

【求人】エンジニア募集しています。

本頁の来客数
八十七万千百七十六名以上(計測停止中)

メンバー一覧

アクトインディ技師部隊員名簿

アクトインディ技師部元隊員

アクトインディへ

カテゴリー

アクトインディ

aaaa