新刊
同人誌・20ページ・紙/電子・500円「わかりやすい技術書」とは何でしょうか。それを書くためにはどのようなことを考慮すれば良いのでしょうか。
私はこれまでに何冊かの技術書を書いてきました。幸いなことに、それらの本を読んでくださった方々から、分かりやすいと評価をいただけました。私としても、分かりやすさには自分なりに気を配って書きましたので、大変ありがたいことです。
本書は、これまでに私がどのように考えて技術書を書いてきたのかを述べた本です。私がどんな本を「わかりやすい技術書」と考えているのか、それを書くためにどのようなことを考慮しているのか、といったことをエッセイ風味で書きました。
普遍的な考えかたというよりは、私個人の考えかたを述べています。そのため、本書を読んで「それは違う」と感じる場合もあるでしょう。しかしそれはそれで、あなた自身の考えを深めるきっかけになるだろうと考えています。
技術書の著者が何を考えているのか知りたい人、技術書を書くことに興味がある人、すでに技術書を書いている人、などの参考に少しでもなれば幸いです。
※表紙について
本書の表紙イラストは、ChatGPT(GPT-4)とDALL·E 3を利用して作成しました。
新刊
同人誌・48ページ・紙/電子・500円UICollectionViewは、iOSアプリケーションの開発で使用される、コンテンツをグリッド状に表示するためのクラスです。Appleが提供するUIKitフレームワークの一部です。
UICollectionViewの導入はiOS 6(2012年リリース)でした。それまでのUIKitでは、コンテンツをリスト状に表示するUITableViewがありましたが、グリッド状に表示するには工夫が必要でした。UICollectionViewの導入によって、コンテンツをグリッド状に表示することが容易になりました。
以降、UIKitの重要なコンポーネントのひとつとして、iOSのバージョンアップに伴い機能やパフォーマンスが向上しており、現在でも引き続きアップデートされています。コンテンツを単にグリッド状に配置するだけでなく、レイアウトが柔軟に行えるのが特徴です。
しかし、その柔軟性ゆえに、実装の難易度は高めです。また、iOS 13や14でレイアウトやデータソースの新しい実装方法が追加されて便利になりましたが、それ以前とは別の考え方が必要になります。現在のUICollectionViewでは古い実装方法と新しい実装方法が混在していることもあって、全体像を把握するのが難しいと感じる方も多いのではないでしょうか。
そこで本書では、UICollectionViewの基本的な考え方を解説します。特に、iOS 13や14で導入された新しい実装方法を重点的に取り上げ、効率的で柔軟なレイアウトやデータソースの管理方法を解説します。
本書を通じて、iOSアプリ開発者がUICollectionViewを理解し効果的に活用できるようになることを目指しています。
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 の本を増やしたいという想いも、本書を執筆した動機のひとつです。