Upgrade to Pro — share decks privately, control downloads, hide ads and more …

FlutterとAngularDartを DIとClean Architectureで いい感じにする

takayuki-hayashi
July 18, 2018
2k

FlutterとAngularDartを DIとClean Architectureで いい感じにする

takayuki-hayashi

July 18, 2018
Tweet

Transcript

  1. 自己紹介 • 名前:林 尚之(はやし たかゆき) • Agile(XP)、TDD、DDDとかが好き • 株式会社ユーザベース ◦

    SPEEDA日本事業 CTO • twitter: @t_hyssh 宣伝:9月の「XP祭り 2018」で登壇します
  2. Clean Architectureの出番 Clean Architectureに則れば UseCaseとEntity(Domain Model)は外部リソースや UIに依 存しない。 ポイントは「画面の状態」保存先 (実際はインメモリ)を一番外側に

    持っていく事。その状態を Gatewayを介して取得、保存す る。Gatewayの実装が AngularDartとFlutterで独自の実 装になり、実装は DIされる。
  3. まとめ • DIとScoped Model、依存関係逆転の原則を適用する事でAngularDartとFlutterの間で自然な 形でコードの共通化が可能 • UI(Flutter、AngularDart)に依存しなくなるのでUnit Testも書きやすくなる • 非同期にしたりStream使ってReactiveにするのも簡単

    ◦ なぜなら単なるDartのコードだから • 「ここまでして共通化する必要あるの?」と問われれば 「モバイルPWAとアプリで全く同じ挙動にしたいという仕様でなければ共通化は逆に足かせに なるんじゃないでしょうか」と答えますw • ただし、Clean Architectureに則れば保守性、拡張性の高いコードにしやすいと思うので共通 化しなくてもチャレンジする価値はあると思います