多くのモバイルアプリでは、キャンペーンの告知や自社アプリへの遷移導線としてバナーを表示してることが多いのではないでしょうか。それらのバナーには表示期限やタップ時の遷移先、表示の優先度などをプロパティとして持つことが多く、モバイルアプリを運営する上で常に更新されていきます。バナーに限らず、ソーシャルゲームのイベントやアプリ内ショップなどモバイルアプリを運営する上で常に更新されていくコンテンツは数多く存在します。それらのコンテンツの管理方法は、企業やプロジェクトによって、スプレッドシートや設定ファイル、ソースコードへのハードコードなど多岐にわたり、煩雑になりがちです。とあるプロジェクトでグラフィカルなUIを持つ運用しやすい管理ツールが誕生しても、扱うコンテンツによってUIを変える必要があるため、プロジェクトをまたいで再利用されることは多くありません。本セッションでは、こうしたモバイルアプリ運営の共通の課題に対して、メルカリ/ソウゾウで用いられているコンテンツ管理システムを例として、汎用性が高く、運用しやすいグラフィカルなUIを持つコンテンツ管理システムを構築した話を紹介します。静的解析とUIの自動生成このセッションで紹介するコンテンツ管理システムのキモは、静的解析とUIの自動生成です。コンテンツの配信条件にGo言語の式を用いることにより、より汎用なコンテンツ管理システムが構築可能になっています。この条件式は、Goが提供する静的解析パッケージを用いてパースされ解釈されます。式を柔軟に設定することが可能になる反面、運用コストが膨らむことが容易に想像できます。プログラマブルな条件は、エンジニアであれば簡単に設定できますが、コンテンツを運用するのは通常非エンジニアであることが多く、こうしたツールは敬遠されがちです。ここで紹介するコンテンツ管理システムは、自動でUIを構築することによって、設定された配信条件式をグラフィカルに表示することにより、式の柔軟性を損なわずに運用コストを下げることを実現しています。本セッションでは、Goの静的解析パッケージやUIの自動生成に関しては、あくまで手段として紹介するに留める予定です。そのかわりに、日々運用に用いるツールをいかに効率よく開発し、運用コストを下げるのかという視点からツール作りの方法を重点的に紹介する予定です。本セッションを聴講することで、自身のプロジェクトの管理ツールを見直す良い機会になり、より柔軟な発想でツール類の開発が行えるようになるのではないかと思います。builderscon。