SoSoraEndo2025年8月12日2 min259 字
動機
AMS(active_model_serializers)は活発な開発が止まりつつある。代替を探したログ。
比較対象
| gem | 速度 | API の素直さ | adapter 機能 |
|---|---|---|---|
| AMS | 中 | ◎ | ◎ |
| Blueprinter | 高 | ◎ | △ |
| Alba | 高 | ◯ | △ |
| Panko | 最速 | △ | × |
なぜ最終的に AMS を残したか
AetherEchoes は :attributes adapter で camelCase を一括変換しているのが効いていて、これが他の gem だと自前実装になる。速度的にも記事 100 件返す程度なら誤差。
移行を選ぶ基準
- req/sec が支配的なエンドポイントがある → Panko / Alba を検討
- JSON 仕様に合わせる必要がある → AMS を継続が無難
- シリアライザの DSL が辛くなってきた → Blueprinter
まとめ
gem の選択は「速い・遅い」より「自分のコードベースで最も使う機能」で選ぶ。比較表は出発点で、最終決定は自分のリポジトリでの実測です。