この記事は Ruby on Rails Advent Calendar 2015 15日目の記事です。 これまで携わってきたソーシャルゲームのサーバーサイド開発では、1タイトルに対して主に3つの機能を作成することが多かった。 API スマートフォンのネイティブアプリケーションから呼ばれるJSON(あるいはJSONフォーマット互換)API 管理用画面 ユーザー情報管理、その他各種制御処理を行う(BANとか補填とかマスタデータキャッシュ管理とか)。エンジニアとカスタマーサポートチームが使用する デバッグ用画面 開発用のWebUI、単純なAPIを呼ぶフォームではなく「カードのレベルをMAXにするボタン」みたいなものが機能ごとに沢山ある 開発を行う場合、大体はAPI用の機能がメインになる。ただ、デバック用画面に関しては完全に社内開発用なので適当で構わないけど、管理用画面に関してはそれなりの作りこみ
![Rails Engineを使ってAPIと管理画面を分離する](https://cdn-ak-scissors.b.st-hatena.com/image/square/0b4ac5e44103deadc917a45cad922cb564be6594/height=288;version=1;width=512/https%3A%2F%2Fdaichi.dev%2Fassets%2Fimages%2Fog.png)