「AIの進化でコーディングは楽になったけれど、だからこそ人間がやるべき『設計』の重要性が増している」。
開発現場でAIアシスタントの導入が進む昨今、エンジニアに求められる役割は大きく変化しています。
毎週水曜日に開催されている社内勉強会。第10回目となる今回は、ITCユニットの中田朝陽さんが登壇しました。「モバイルアプリのアーキテクチャについて」と題し、Googleが推奨する単方方向データフロー+階層型に深く関わる「MVVM」アーキテクチャの基本から、現在中田さんが取り組んでいる「モバイルエンジニアを増やすための育成プロジェクト」、そしてAIを活用した開発の未来について語られました。
技術的なノウハウだけでなく、組織としての技術力底上げを目指す熱いセッションのエッセンスをお届けします。

1. AIコーディング時代に「設計」が最重要となる理由
昨今のアプリ開発では、AIツールの発達によりプログラマー自身の実装コストは大幅に削減されつつあります。セミナーの冒頭で中田さんが強調したのは、だからこそ「人間が対応すべき部分として、設計の理解や品質を担保するための単体テストを重要視すべき」という点でした。
どんなにAIがコードを書いてくれても、根本の「設計」が正しくなければ、せっかく作成した単体テストも意味のないものになってしまいます。また、仕様変更があった際にAIを使っても追従が難しくなるなど、アーキテクチャの良し悪しがプロジェクトの命運を分けると言っても過言ではありません。
2. 責務を分けて「考えることを減らす」MVVMアーキテクチャ
そこで今回解説されたのが、現在Android開発においてGoogleが公式に推奨している「単一データフロー+階層型アーキテクチャ」の基本となっている、MVVM(Model-View-ViewModel)」という設計パターンです。(※iOS開発でも同じ設計パターンが採用されているケースも多くあるとのことです)
MVVMは、アプリを以下の3つの層に分け、それぞれに明確な「責務」を持たせる考え方です。
- View(UI):画面の描画やユーザーの操作イベントを受け付ける層。主にメインスレッドで処理を行います。
- ViewModel:UI層とModel層をつなぐ役割。UIのライフサイクルに合わせてデータを保持したり、スレッドの切り分けを行います。
- Model:データベースへのアクセスやAPI通信など、ビジネスロジックを担う層。主にIOスレッドで動作します。
中田さんは実際のAndroid Studioの画面を投影し、デモコードを交えながら解説。各レイヤーが独立している(疎結合になっている)ことで、「どこで何の処理を行うか」という型が決まり、レイヤーごとの役割が明確なため、Espressoなどのフレームワークを用いた単体テスト・UIテストが非常にやりやすくなるというメリットがあり、また各レイヤーが疎結合になることで変更にも強くなることや、開発者が「考えることを減らせる」という利点もあると語りました。
3. 現場のリアルな知見:「データバインディング」より「ビューバインディング」?
技術書には載っていない「現場のリアルな判断」が共有されるのも社内勉強会の醍醐味です。 データの更新をUIに反映させる仕組みとして「Data Binding」と「View Binding」がありますが、中田さんの現在のプロジェクトでは主に「View Binding」を採用しているそうです。 双方向のバインディング機能を持つData Bindingは便利である反面、プロジェクトの規模が大きくなると動作が重くなりがちだという課題があります。そのため、コンパイルや処理が早いView Bindingを採用し、単一のデータフローでUIを更新する設計にしているという実践的なノウハウが共有されました。
4. 組織の課題解決:モバイル開発エンジニアを増やすための取り組み
中田さんのセッションの根底にあったのは、「スカイウイルでモバイル開発エンジニアを増やしていきたい」という強い目標です。 現在中田さんは、プロジェクトに参画する若手メンバー(今回は勉強会に参加していた瞰野さんら)に向けて、Android開発の初学者向けオリジナル教材を作成し、オンボーディングを実施しています。将来的にはこの教材を全社的に公開し、ナレッジとして展開していきたいと語りました。
5. Webエンジニアからモバイルへの挑戦をAIが後押しする未来
質疑応答では、この「モバイルエンジニアの育成」と「AI駆動開発」を掛け合わせた議論が白熱しました。 「Webエンジニアがモバイル開発に挑戦する際、アーキテクチャの選定など敷居が高い部分をAIでサポートできないか?」という質問に対し、中田さんは「アプリの規模や目的に応じたアーキテクチャ選定の基準や考え方を、事前にプロンプトとしてAIエージェントに設定しておくことは可能」と回答。 Android Studioには既にAIエージェントが組み込まれており、IDE上で直接AIと対話しながら開発を進める環境が整っています。有識者の「暗黙知」をAIに学習させることで、初学者がより適切な設計でモバイルアプリを作れる未来が見えてきました。
編集後記
今回はITCユニットの中田さんによる、設計手法から育成、AI活用まで幅広い知見が共有された有意義なセッションでした。(ちなみに中田さんのご自宅にいるハムスターとパンダマウスの写真には、参加者一同とても癒されました!) 「AIがあるからこそ、人間はより高度な設計とテストに向き合う」。そして、そのハードルを下げるために教育体制を作り、さらにAI自体を教育ツールとして活用していく。そんな「技術と人」の好循環を生み出そうとする当社のカルチャーが強く表れた時間でした。
当社では現在、このような技術交流を通じ、共に成長できる仲間を募集しています。Web開発からモバイル開発へのスキルチェンジに挑戦したい方、最新技術と設計のベストプラクティスを追求したい方は、ぜひ採用ページもご覧ください!