レガシーな iOS アプリ開発の参考書籍
目的
時代は SwiftUI ですが、
UIKit + Objective-C でレガシーなアプリを作成、メンテナンスをする必要がある人向けに参考書籍をまとめます。
iOS アプリ開発の歴史
かなり単純化して iOS アプリを構成する要素として、 以下のような大枠で捉えることができて、順にトレンドが移っています。
- UIKit + Objective-C
- UIKit + Swift
- SwiftUI (=Swift)
最新のトレンドであれば、 Apple からチュートリアルが提供されているので、これがおそらくとてもわかりやすくて一番効果的だと思います。
ただ、ここでは、初期のレガシーな構成を維持する必要性がある人向けなので、その情報を掘り起こしてみます。
前提
必ず最新の公式ドキュメントと照らし合わせるのが良いです。
後述の紹介で繰り返し述べますが、細部は変わってはいても、基本的な概念に関しては変わっていなくて、かつ最新の書籍や記事では得られない Objective-C のコード例が充実しているのでどれも参考になると判断しています。
書籍紹介
UIKit
この本が出た当時から iOS の UI に関する SDK の基本的な部分は大きく変わっていなくて、それらを UIKit と呼んでいるのですが、その基本的な概念が学べます。
iPhone SDK
UIKit は iPhone SDK の一部で、 UIKit 以外の iPhone SDK の全体像を俯瞰できます。当時 Feature Phone では表現できなかった表現力を iPhone SDK がサードパーティに公開し、モバイルアプリの表現力が大きく変わりました。
Objective-C
Objective-C の言語仕様そのものについて学べます。 iOS アプリの話は基本的に出てきません。 iOS アプリのコードリーディングの索引として利用すると、コードの理解の大きな助けになります。
XCTest
iOS アプリのテスト自動化について、 XCTest という仕組みが利用できます。 iOS アプリのテストは Xcode に紐づいている部分も大きく、古い書籍なので、 UI 操作に関しては参考にするのは難しいです。最新の Xcode ではできない部分も存在しますが、 XCTest の基本的な部分は大きく変わっていなくて、基本的な概念が学べます。
iPhone アプリ
当時とは様変わりした iPhone アプリですが、モバイルアプリそのものの設計の概念が学べます。具体的なコードは出てこないので、これを読んでアプリを開発できる即効性はないですが、モバイルアプリが何を目指すべきなのか教えてくれると思います。アプリの良し悪しを判断する軸ができるようになります。
4年前のまとめ
ちょうど4年前に似たようなまとめをしていました。
当時は、 Objective-C から Swift への移行の時期だった記憶があり、あのような選書になったのだと思います。
Discussion