VIPER研究読本1 クリーンアーキテクチャ解説編
- 無料サンプル版0 JPY
- 電子書籍版 PDF/EPUB形式1,500 JPY
- 製本版+電子書籍版 PDF/EPUB形式1,600 JPY
フォーマット: PDF/EPUB 形式 および 製本版 ページ: B5サイズ80ページ 最終ビルド: 2021/2/27
本書について
本書は VIPER 研究読本のシリーズ1冊目にあたるクリーンアーキテクチャ編です。 iOSアプリ開発のための設計アプローチとしてMutualMobile社によって2013年に提案されたVIPERは、それ以降様々な形でサンプルコードが発表されています。 VIPERはクリーンアーキテクチャを元にしており、その解釈や妥協点が様々あるため、世の中には様々なVIPER実装が存在します。 本シリーズでは、そのVIPERに焦点を当て細かな内容でも迅速にリリースしていき、読者の フィードバックを受けて修正するサイクルを目的としています。 しかし、なぜ今頃VIPERなのでしょうか? すでにiOSアプリ開発は複数人で数年運用していくことが当たり前になっており、ときには一人が複数の開発にアサインされることもあります。担当するチームによって毎度アプリケーションの考えをスイッチすることはコストともなるでしょう。 そのためクリーンアーキテクチャをベースとしたVIPERの具体的な方法を知り、自分たちの設計に活かしていくことが有用となるはずです。 さらに現在普及していると思われるMVP(Model-View-Presenter)やMVVM(Model-View-ViewModel)などのGUIアーキテクチャだけでは、UIに関与しない処理に関してカバーしていないため、それをどのように整理していくかということも皆さんの関心事ではないでしょうか? VIPERはiOSアプリ全体の設計について言及する数少ないシステムアーキテクチャであり、その方針を知ることは日頃の仕事に役立つはずです。
本書の構成
まず第1章ではVIPERの概要を述べます。 第2章では世の中にある様々なサンプルを確認することでそれらの長所や短所を比較します。 第3章では本書が推奨するVIPERの構成について述べます。 第4章では本書が推奨するVIPERの構成について、どの部分でどのようなテストコードを書くかについて述べます。 第5章では具体的な本書で推奨するVIPER構成についてのサンプルコードを基にその解説を行います。 もちろんテストコードを示すことでその設計が破綻していないことを示すことも重要だと筆者は考えています。 第6章ではVIPERが基にするクリーンアーキテクチャの考えについて述べます。 VIPERはクリーンアーキテクチャを基にしているため、クリーンアーキテクチャを学ぶことで、 処理を分類しレイヤーごとに適切な処理を実装するということを知るきっかけにもなるでしょう。 本書におけるクリーンアーキテクチャについての記述は、書籍『Clean Architecture 達人に学ぶソフトウェアの構成と設計』とその著者Robert C. Martin氏のブログ記事を参考にしています。 しかし前提として、筆者はその書籍の素晴らしさの全てを正しく理解できているとは思っていません。特にiOSアプリ開発者という目線でクリーンアーキテクチャの抽象度を理解しようとした場合、直感に反することも多くあります。 さらに、『依存関係逆転の原則』や『単一責任の原則』などは様々な解釈を可能にしてしまっていて、コミュニケーションの齟齬さえ生み出す要因になると筆者は感じています。 この章ではクリーンアーキテクチャに対する筆者の解釈とその理由を存分に書いています。 もちろんそれが正しいと思っているわけではなく、何か感じるものがあればフィードバックをいただければ幸いです。
本書で書いていないこと
本書ではCore DataやRealmなどのデータの永続化については述べません。 できれば同シリーズの別書籍として分けたいと思っています。
フィードバック
本書へのフィードバックやご感想は下記ページにてお待ちしています! https://qiita.com/yimajo/private/cebaf9f7db3c636f04ac
更新履歴
# 2021/2/27版 - RouterのViewController保持をunownedに変更し循環参照しないようにしました # 2020/1/25版 - コラム: 「UseCaseの単位」を追加しました - EPUB版を追加しました。電子書籍版ではPDFとEPUB両方をダウンロードできます # 2020/1/6版 リリースしました
製本版のメリット
- 印刷された本に自分でメモ書きしたい - 会社に置いておき、メンバーが新しくチームに配属される際に読んでもらいやすく などなど...!! 製本版にできることは無限大!! さらに製本版購入時にはPDF/EPUBがダウンロードできてお得です!