APIにちょっとこだわりのある、CTOの@edvakfです。Edition-で「お前はこれまでに作ったAPIの数を覚えているのか?」というタイトルで30分ほど発表してきました。発表資料はこちらです。API好きの自分ですが、どうしてもUIを作るのはあまり得意ではなく、管理画面を実装したりするのは苦手意識があったのです。...などと思ってところ、今年の2月にCAモバイルさんからVironというツールが発表され、「まさに欲しかったやつだ!」となったのでした。chatstoryでは、「RailsのAPI」と「iOSアプリ」と「Webフロントエンド」という3つのリポジトリになっていて、ユーザーのアクセスする箇所ではRailsはJSONしか返しません。Vironを使うことで管理画面もAPIオンリーになってくれれば最高ですが、今のところは既存の管理画面とVironの併用状態です。RailsでViron対応の管理画面を作る準備VironのサンプルアプリケーションはNode.jsなので、Railsでのやり方を書いておきます。コードはgistに貼っておきましたので、リンクから参照してください。Vironの画面自体は静的ページとしてデプロイできます。Hosting等にデプロイするだけで良いです。Railsではまず、API定義をまとめたswagger.jsonを返すエンドポイント作ります。これのURLをVironの管理画面に登録することになります。swagger-blocksというgemを使いました。いうAPIは必須です。swagger.jsonにも定義を書かなければいけません。これらのエンドポイント用のSwagger定義がけっこう長くなるので最初ちょっと面倒でした。コピペできるように置いておきます。最初はBASIC認証をしようと思ったのですが、VironがAuthorizationヘッダーを独自で使うので、IP制限に切り替えました。Google認証にするかもしれません。以外は欠けていても良いです。いうレスポンスヘッダーを返さなければいけないみたいです。今のところ次のような簡易的に共通メソッドを定義して対応してみました。追加しなければいけません。config/environments/production.rb所感ここまでのセットアップは少々試行錯誤が必要でした。新しいツールということもあって、ドキュメントやサンプルアプリケーションの他にもVironのコードもけっこう見ました。ここまでできてしまえば、実際に一つの管理画面を作る変更が15行のController10行のView(!)60行のテスト200行のswagger定義(!!)になりました。(特に管理画面のようなお決まりパターンのところは)と思っていたので、かなり理想に近づいたと思っています。HTMLのフォームを扱う管理画面だとテストが面倒で端折ってしまったりしますが、JSONだけであればテストも簡単です。以前に書いた手法↓で将来に渡ってAPI定義と実装の乖離を防げるのでオススメです。SchemaでAPIの型をテストして開発サイクルをスピードアップさせた話ただ、やはり複雑な管理画面は作れませんので、あくまでも簡単なものを簡単に作るためのものと割り切って、作り込んだ管理画面とうまく使い分けることになりそうです。エンジニアも募集中です!【中途採用】ウェブアプリケーションエンジニア【福岡オフィス採用】ウェブアプリケーションエンジニアedvakf2016年12月から2019年12月までCTOとして全社のシステム設計と組織設計をしていました。»common.min.js.html。