Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Webサーバーサイド言語としてのRustについて
Search
kaza
October 21, 2025
Programming
1
5.8k
Webサーバーサイド言語としてのRustについて
Webサーバーサイド言語としてのRustについて、現状と今後の期待値をまとめています。
kaza
October 21, 2025
Tweet
Share
More Decks by kaza
See All by kaza
褒め方の技術の誤解と本質
kouyuume
0
110
認証・認可の基本を学ぼう後編
kouyuume
0
250
認証・認可の基本を学ぼう前編
kouyuume
0
260
Other Decks in Programming
See All in Programming
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.3k
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
410
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
560
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
1.4k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
240
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
520
GISエンジニアから見たLINKSデータ
nokonoko1203
0
180
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
390
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.6k
Python札幌 LT資料
t3tra
6
1k
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
800
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
Featured
See All Featured
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
72
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
89
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
680
Documentation Writing (for coders)
carmenintech
77
5.2k
Embracing the Ebb and Flow
colly
88
4.9k
GitHub's CSS Performance
jonrohan
1032
470k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
47k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Transcript
Webサーバーサイド言語 としてのRustについて kaza
Rustの特徴 C/C++レベルのスループットと低レイテンシ メモリリーク・データ競合をコンパイル時に排除 Tokio(非同期ランタイム)による安全な並列処理 Rustの特徴 高パフォーマンス・堅牢なサービス提供が可能 静的型付け言語で型安全なので長期保守運用に強い コンテナイメージが軽量(数MB)で サーバーレスと相性が良い
Rustの処理速度(Pythonとの比較) Python3.14のベンチマーク結果ですが、比較対象でRustが挙がっており、 とてもわかりやすかったので掲載。 https://techfeed.io/entries/68e82cdcb335ef5804974e8c
RustのWebサーバーサイド利用の近年実績 Discord DropBox Cloudflare 一休.com クックパッド Deno Deploy GoからRustに移行で大幅なパフォーマンス向上を報告 コア処理(ファイル同期)をPythonからRustに移行、
大規模な同期処理の安定化を報告 Rustで独自のフレームワークを開発・サービス提供 Python・C#からRustに移行したことで省リソース化、 動作の堅牢化を報告 Push通知配信基盤をRubyからRustに移行、 マルチスレッドの安全な実装・高速化を報告 Rustでサーバーサイド実装、Deno自体もRust実装
Rocket Actix Web axum 開発開始年月 2016/12 2017/10 2021/12 現在バージョン v0.5.1
(2024/03) v3.8.1 (2025/10) v0.8.5 (2025/10) GitHubスター数 25.4k 23.7k 23.3k 開発者/組織 Sergio Benitez他 Actixプロジェクト Tokioチーム 非同期ランタイム Tokio Tokio Tokio マクロ依存度 高 中 低 Rust言語によるWebアプリケーションフレームワーク
Rocket Actix Web axum 開発開始年月 2016/12 2017/10 2021/12 現在バージョン v0.5.1
(2024/03) v3.8.1 (2025/10) v0.8.5 (2025/10) GitHubスター数 25.4k 23.7k 23.3k 開発者/組織 Sergio Benitez他 Actixプロジェクト Tokioチーム 非同期ランタイム Tokio Tokio Tokio マクロ依存度 高 中 低 Rust言語によるWebアプリケーションフレームワーク Actix Webより後発に も関わらずほぼ同数。 近年のRust Webフレ ームワークで最も注目 されている
ルーティング、リクエスト、JSONボディなどを型で表 現でき、コンパイル時に多くのエラーを検出可能 認証・認可、ロギング、レート制限などを 再利用可能な形で実装可能 Rustにおける非同期処理のデファクト・スタンダード となっているTokio開発元がTokioベースで実装 特徴 FastAPI に近い直感的な記述が可能。 他フレームワークより学習コスト低
ベンチマーク結果 axumの特徴 Tokio(非同期ランタイム)と Tower(ミドルウェア抽象化レイヤ)を 基盤とする高性能・型安全なWebフレームワーク
非同期処理の書き方(基本) async・awaitで記述可能。 関数(fn)定義の前にasyncを記述し、 非同期処理に対して.awaitを記述することで実現可能。
非同期処理の書き方(複数並列) join!マクロを使うことで並列処理が可能。
非同期処理の書き方(コレクションを並列処理) tokio::spawnでタスク生成してループ処理するか、Futuresクレートを使う。 <tokio::spawnパターン> <Futuresクレートのjoin_allパターン>
認証認可の書き方 選択肢はいくつかある。 axum-auth(シンプルな記述でBasic認証・Bearer認証が可能) axum-login(複雑なクッキー・セッション管理が可能) tower_http(レイヤとしてチェック実装。全体的な制御向き) axum::extract(リクエストのチェック・抽出を実装。ルート単位の制御向き) 一番シンプルに書けるのはaxum-authかtower_httpだが、 複雑な要件を実現する場合はそれ以外の選択肢を目的に合わせて利用する。
axum-authによるBasic認証の実装例 stateに保存した情報でAuthBasic(axum-auth機能)をチェックする。
axum-authによるBearer認証の実装例 AuthBearer(axum-auth機能)で取り出したトークンをチェックする。
tower-httpによるBearer認証の実装例 レイヤとして設定できるため、より柔軟な制御が可能。
Rustの問題点(これまで) 学習コストが高い(特に所有権・ライフタイム) メジャー言語に比べると開発者総数が少ないため、 実装事例等が少ない メジャー言語に比べるとエコシステムが少ない Rustの問題点(これまで) 魅力あるけど社内で広めにくいなあ…… 本来はシステムプログラミング言語なので、表現にと っつき辛い部分がある(例:intはi32) コンパイル時に色々検知する分、ビルド時間が長い
AIでRustの学習教材を生成することができるし、 所有権やライフタイムについてエラーが出ても、 エラー理由をAIに調査してもらうことができる。 学習コストが高い → AIで学習しやすくなった エラー原因を教えて Copilot!!
2025年9月3日、Rust支援の独立非営利団体「Rust Foundation」から 「Rust Innovation Lab」というプログラムが発表された。 Rustの重要なオープンソースプロジェクトをサポートするもので、 今後のエコシステム拡大・開発事例増加に期待が持てる。 メジャー言語に比べるとエコシステムが少ない → Rust Innovation Lab発表
ビルドが長いことはとにかく有名で、公式も認識しています。 なので、ビルド時間の高速化に向けて少しずつ動きがあります。 2025/9/19にリリースされた1.90.0でも高速化が盛り込まれていました。 コンパイル時に色々検知する分、ビルド時間が長い → 少しずつ高速化中
Rustの問題点(これから) 学習コストが高い(特に所有権・ライフタイム) メジャー言語に比べると開発者総数が少ないため、 実装事例等が少ない メジャー言語に比べるとエコシステムが少ない Rustの問題点(これから) 問題点が許容できるレベルになりつつある! 本来はシステムプログラミング言語なので、表現にと っつき辛い部分がある(例:intはi32) コンパイル時に色々検知する分、ビルド時間が長い
(願望含む)
サーバーサイドRustへのチャレンジ 現在急速に発展しているサーバーサイドとしてのRust言語。 メリット・デメリットはっきりしているので、これ一択には絶対なりませんが、 高パフォーマンスが求められる場面など、ここぞという時の強い武器として、 少しずつ取り組んでいくのはいかがでしょうか?
おまけ Dioxusでフルスタック開発 Rust製のフレームワークでDioxusというものがあります。 現在v0.6.3なので、安定版リリースまではもう少し時間がかかりそうですが……。 DioxusではフロントエンドもRustで書けます!
おまけ Dioxusでフルスタック開発 クライアントサイドはWASM(WebAssembly)でレンダリングされ、 高いパフォーマンスを出します。 バイナリサイズも小さく、 Hello Worldアプリなら100KB未満にまで 縮小することも可能です。 なお、サーバーサイドはaxumで 実装が進められています。 (将来的には複数選択可能予定)
おまけ Dioxusでフルスタック開発 Webだけでなく、デスクトップ・スマホアプリとしても出力可能です。 また、Dioxusアプリケーションのデプロイサービスも予定されており、 今後のリリースや展開に注目です。 Rustでフルスタック開発する日も そう遠くないかも……?