フロントエンド&モバイルのアーキテクチャ設計
ゆめみ モバイルギルドFlutterグループのりず(和泉田領一)氏は、モバイルアプリ開発における「共通性・可変性分析(C&V分析)」の基礎とその設計活用について講演した。アプリ開発ではUI/UXの変更やOSアップデート、外部APIとの接続など、開発者がコントロールできない不確実な変化に直面することが多い。こうした状況で柔軟な設計を実現するために「正の可変性」と「負の可変性」を区別することの重要性を説いた。前者は既存の設計を壊すことなく拡張できる変化であり、後者は設計の前提を覆し、例外処理や構造の見直しを伴うリスクの高い変化である。この分類によって設計方針が明確になり、複雑さの予測やリスクの局所化が可能になる。
C&V分析は、対象範囲の特定、共通性と可変性の洗い出し、可変性の性質の判別、設計への反映という手順で進める。正の可変性には拡張性重視の抽象化を、負の場合は影響範囲を限定する構造分離が有効だと言及。設計初期からこの視点を取り入れることで、変更要求にも柔軟に応えられるアーキテクチャを実現できると締めくくった。
【悲報】Dart macrosの開発中止! build_runnerに再入門しよう
ゆめみ モバイルギルドFlutterグループのK9i a.k.a. たこさん氏は、Flutter開発におけるbuild_runnerのコード生成の仕組みを解説。Dartのmacros機能が開発中止となった今、build_runnerとの付き合いは今後も続くとし、初心者向けにその役割と仕組みの理解を促す内容となった。
セッションでは、@freezedなどのアノテーション追加、アノテーション定義と生成ロジックの依存関係の分離、partディレクティブの役割、build_runnerやsource_genによるコード生成の流れについて、各種パッケージの関係性を図解しながら丁寧に説明。dev_dependenciesとdependenciesの使い分けの背景や、build.yamlによる生成対象の絞り込み、ignore_for_fileを用いたLint回避など、普段は見落としがちな構成要素にも光を当てた。生成の裏側を理解することで、より良い開発体験が得られることを強調した。
- 【資料】build_runner再入門