試験公開中

このエントリーをはてなブックマークに追加

一冊でマスター!Swift Concurrency入門

インプレスR&D

1,760円 (1,600円+税)

Swift 5.5からSwiftは並行処理を言語機能としてサポートするようになりました。それがSwift Concurrencyです。本書はその機能を解説しています。

関連サイト

本書の関連ページが用意されています。

内容紹介

Swift 5.5からSwiftは並行処理を言語機能としてサポートするようになりました。それがSwift Concurrencyです。本書はその機能を解説しています。

async/awaitにより、非同期処理をクロージャーよりも完結に記述できます。データ競合を防ぐ新しい型としてActorやデータ競合が発生しない型を表すSendableが登場しました。並行処理の実行単位であるTaskもあります。Swift ConcurrencyはWWDC 2021の目玉機能といっても過言ではありません。

Swift Concurrencyの概要が一冊で日本語で理解できるのが本書の特徴です。Swift Concurrencyには覚えなければいけない概念が数多くあります。async、await、Actor、MainActor、Task, TaskGroup、AsyncSequence、Sendableなどなど。本書は一冊でSwift Concurrencyの概要をほぼ全て網羅しています。各章にそれぞれサンプルコードが付属しているので、どんな動作をするのかを試して理解を深められます。

書誌情報

  • 著者: 佐藤 剛士
  • 発行日: (紙書籍版発行日: 2022-07-29)
  • 最終更新日: 2022-07-29
  • バージョン: 1.0.0
  • ページ数: 128ページ(PDF版換算)
  • 対応フォーマット: PDF, EPUB
  • 出版社: インプレスR&D

対象読者

Swift,並行処理,非同期処理,並行,非同期,処理,iOS,アプリ,アプリ開発,同人誌,技術同人誌,技術書典に興味がある人

著者について

佐藤 剛士

iOSエンジニアとして株式会社メルペイに勤務。SwiftとiOSアプリ開発が得意で、よく技術系同人誌の即売会に参加し、SwiftやiOS関連の技術同人誌を頒布している。著書に「ハーフモーダルで理解するFluid Interface」「SwiftUI実践入門」(いずれも技術書典で頒布)や「1人でアプリを作る人を支えるSwiftUI開発レシピ」「SwiftUIで学ぶVisionフレームワーク入門」(いずれもインプレスR&D刊)がある。手軽に診断できる本格風水アプリ「玄空飛星風水」(Mr. リュウ監修)をリリース中。

目次

はじめに

  • 本書の構成
  • 対象読者
  • 動作環境
  • サンプルコード
  • 表記関係について

第1章 async/await

  • 1.1 クロージャーのコールバックによる非同期処理の問題点
  • 1.2 async/awaitで解決する
  • 1.3 プログラムの待機可能性とは?
  • 1.4 async/awaitの文法
  • 1.5 順列実行と並列実行
  • 1.6 クロージャー形式のメソッドを非同期関数にラップする
  • 1.7 withCheckedContinuation
  • 1.8 withCheckedThrowingContinuation
  • 1.9 resumeメソッドは必ず1回実行する
  • 1.10 まとめ

第2章 Actor/データ競合を守る新しい型

  • 2.1 シリアルキューでデータ競合を解決
  • 2.2 Actorでデータ競合を守る
  • 2.3 Actorの文法
  • 2.4 nonisolatedでActor隔離を解除する
  • 2.5 再入可能性と競合状態
  • 2.6 MainActor
  • 2.7 まとめ

第3章 AsyncSequence

  • 3.1 iOS 15のAPIを利用する
  • 3.2 カスタム定義
  • 3.3 AsyncStream/既存コードに適応
  • 3.4 まとめ

第4章 Task

  • 4.1 Structured Concurrency
  • 4.2 タスクツリー
  • 4.3 タスクグループ
  • 4.4 エラーが発生しないタスクグループ
  • 4.5 エラーが発生するタスクグループ
  • 4.6 協調的なキャンセル
  • 4.7 async letバインディング
  • 4.8 Unstructured Concurrency
  • 4.9 下位階層にStructured Concurrencyがある場合
  • 4.10 各タスクの特徴比較
  • 4.11 まとめ

第5章 Sendable

  • 5.1 Sendableプロトコル
  • 5.2 @Sendable属性
  • 5.3 Swift 6への準備
  • 5.4 @preconcurrency
  • 5.5 Xcode 13.4の変更
  • 5.6 まとめ

第6章 既存のプロジェクトにSwift Concurrencyを導入

  • 6.1 XcodeバージョンとSwift Concurrencyの対応状況
  • 6.2 既存アプリ:GitHubリポジトリー検索アプリ
  • 6.3 Swift Concurrencyを導入
  • 6.4 iOS 15にむけて
  • 6.5 まとめ

あとがき

  • 著者紹介/佐藤剛士 @hatakenokakashi
  • 感想、フィードバック
  • 謝辞
  • 参考文献
  • 英訳対応表
Home 書籍一覧 一冊でマスター!Swift Concurrency入門 ▲ ページトップへ戻る