Swift-DocCは、Swiftフレームワークやパッケージのためのドキュメント作成ツールです。Swiftのソースコードからドキュメントを生成したり、Markdownを使ってドキュメントを作成したりできます。
Swiftのソースコードからドキュメントを生成するツールは、これまでにも、Jazzyやswift-docといったサードパーティ製のツールが存在していました。
これに対して、Swift-DocCはSwift.orgから公式リリースされたツールとなります。Swift-DocCは2021年6月にWWDC21で発表され、Xcode 13に同梱する形でリリースされました。その後、2021年10月にオープンソースソフトウェアになりました。
Swift-DocCはXcodeとの連携が最初から組み込まれている点が強みです。他にも、単なるAPIリファレンスだけでなく、技術記事風の文書を作ったり、チュートリアルを作ったりできるのも面白い特徴です。
本書では、このSwift-DocCの使い方を、初めて触れる方にも分かるよう丁寧に解説します。本書がSwift-DocCの普及に少しでも貢献できればと考えています。
Combine は Swift を使ってリアクティブプログラミングを行うためのフレームワークです。2019 年 6 月の WWDC で登場して、注目を浴びました。
本書では、Combine を iOS App 開発に活用する手法を述べます。特に、UIKit での開発に Combine を組み合わせて使う事例を考えます。
iOS App 開発では、UI 層とモデル層とのあいだでデータをやり取りする手段が意外と難しいところです。UIKit はそのための仕組みを、あまり明示的には提供していませんでした。ここに Combine を導入することで、UI とモデルとを関連づけることが容易になります。これによって、UIKit を使った開発でのアーキテクチャ設計を改善できます。
本書で述べる内容は、それほど難しいものではありません。しかし、Combine の書籍や記事は内容が高度なものが多く、敷居が高い場合が多いです。基本的なことをできるだけ丁寧に説明した本があったら良いのではないか、と考えて本書を執筆しました。
iOS App 開発では、UI フレームワークとして UIKit が使われてきました。一方、2019 年 6 月の WWDC で、新しい UI フレームワークとして SwiftUI が発表されました。現在の iOS App 開発では、UIKit と SwiftUI のどちらか(あるいは両方)を使って開発することになります。
将来的には、UIKit に代わって SwiftUI が主流になることも予想できます。しかし一方で、UIKit は現在も iOS App 開発の現場で多く使われています。本書では UIKit に焦点を当てることにします。
なお、SwiftUI は暗黙的に Combine を活用しています。そのため、将来的に UIKit から SwiftUI に移行するとしても、UIKit と Combine との組み合わせに慣れ親しんでいれば楽に移行できるでしょう。
本書は Combine をこれから学んでみようという人のための本です。
Combine は Swift でリアクティブプログラミングを行うためのフレームワークです。Apple プラットフォーム(iOS、iPadOS、watchOS、tvOS、macOS)向けの App を開発するときに、様々な処理を宣言的に記述することが可能になります。
Combine については、Apple が WWDC のセッションで解説しているほか、解説書や解説記事が既に存在しています。それらを見て学ぶのが一番良い方法でしょう。
ただし、ここで落とし穴があります。
既存の解説の多くは、率直に言って、難しいです。
Combine の解説はたいていの場合、登場する用語や概念の説明から始まります。ここで、たくさんの用語や概念が一度に押し寄せてきます。この最初の導入部分でつまづきが発生しやすいです。結果として、Combine は敷居が高いものになってしまっている、と考えています。
基本的な事柄をもっと分かりやすく説明する解説書が存在するべきだ、という想いから、本書を執筆しました。本書では導入部分をできるだけ丁寧に説明するように心がけました。さらに説明の際に、具体的なコードを先に挙げるようにしました。
また、日本語で書かれた解説はまだそれほど多くありません。そこで、日本語で読める Combine の本を増やしたいという想いも、本書を執筆した動機のひとつです。