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

SwiftPMによるマルチモジュールのアプローチ 〜ウホーイ図鑑の場合〜 / multi_module_approach

uhooi
February 22, 2022

SwiftPMによるマルチモジュールのアプローチ 〜ウホーイ図鑑の場合〜 / multi_module_approach

Mobile勉強会 Wantedly × チームラボ #4
https://connpass.com/event/237606/

## 参考リンク

- ウホーイ図鑑の `Package.swift`
https://github.com/uhooi/UhooiPicBook/blob/develop/Package.swift

uhooi

February 22, 2022
Tweet

More Decks by uhooi

Other Decks in Programming

Transcript

  1. SwiftPM による

    マルチモジュールのアプローチ

    〜 ウホーイ図鑑の場合 〜
    2022.02.22(Tue) Mobile勉強会 Wantedly × チームラボ #4
    @the_uhooi

    View Slide

  2. PICTURE BOOK
    MONSTER
    ORIGINAL
    累計100万DL(予定)
    主要画面数2

    View Slide

  3. 分け方

    ・機能 × レイヤー


    メリット

    ・依存関係の強制

    ・補完の最適化

    ・差分ビルドによるビルド時間の短縮
    一般的なマルチモジュール
    UI
    Domain
    Data
    図鑑
    UI
    Domain
    Data
    設定

    View Slide

  4. 分け方

    ・メインモジュール + ライブラリのラップ

     + 横断的関心事(Logger など)


    目的

    ・ライブラリを Package.swift で管理したい

    ・Xcode プロジェクトをスッキリさせたい
    ウホーイ図鑑のマルチモジュール

    View Slide

  5. 公開モジュール 内部モジュール 外部ライブラリ
    ウホーイ図鑑のマルチモジュール構成(簡略)
    AppModule
    ImageLoader
    Logger
    MonstersRepository
    MonsterWidgets
    FirebaseSetup Firebase

    View Slide

  6. ・目的に応じてマルチモジュールのアプローチを

     変えてもいいと思う

    ・分け方は「機能単位(単体で使える)」と考えると

     わかりやすい

    ・具体的な実装はウホーイ図鑑を参照してほしい
    まとめ

    View Slide

  7. Mobile app developer @uhooi
    @uhooi
    @the_uhooi

    View Slide