HOME » Natsu note »  » 著書 » 上を目指すプログラマーのためのiPhoneアプリ開発テクニック iOS 7編 : 執筆いたしました

上を目指すプログラマーのためのiPhoneアプリ開発テクニック iOS 7編 : 執筆いたしました 2013/12/19/| » 著書

もうすぐ今年も終わり、また新しい年がやってきますね。その前に新しい本の発売です。

中上級者をターゲットに絞った、iOS 7関連の開発テクニック本です。これまでにも何度か触れてきましたが、今回もまた一部執筆させていただきました。目次と私が担当した章は以下のようになっています

Chapter 01 iOS 7の新機能
Chapter 02 画面遷移(担当)
Chapter 03 UIKit Dynamics(担当)
Chapter 04 Text Kit(一部担当)
Chapter 05 マルチタスキング・通信
Chapter 06 Sprite Kit
Chapter 07 拡張機能(一部担当
Appendix

発売に先駆け、簡単ですが内容の紹介をさせていただきます。

Chapter 1: iOS 7の新機能

iOS 7…本当に大きな変化をもたらしました。画面上の変化、動作上の変化、そして、私たち開発者の心の変化・・・。OSのあまりの変更ぶりに色々な気持ちになった方が多いのではないでしょうか(私は喜び半分、焦り半分です)。これから、アプリをこの新OSに対応していくのは私たちの役目です。そのためにはまず、全貌を把握しなくてはなりません。

そこで役に立つのが、本書の第1章です。iOS 7の新機能を開発者目線で丁寧に、そして多くのスクリーンショットと共に解説してあります。

1章の後半では、Xcodeの新機能についても触れられています。WWDCのセッションを見た方であれば、今回のXcodeの進化には期待を持っているのではないでしょうか。リソースの管理、テスト、ドキュメントの整備まで、その概要が分かりやすくまとめられています。

Chapter 2: 画面遷移(執筆担当)

[iOS 7] 簡単にできる画面遷移のカスタマイズでも紹介した、画面遷移のカスタマイズに関する解説です。画面遷移と一言で言っても、ボタンタップ等をきっかけに自動で画面遷移するタイプと(カスタム画面遷移と呼んでいます)、指の動きに合わせて画面遷移するタイプ(インタラクティブ画面遷移と呼んでいます)とがあります。

本章では、それぞれの実装方法を丁寧に解説しました。画面遷移のカスタマイズに関しては、まだまだサンプルコードも少なく、日本語で解説された情報もほとんどないと思われます。是非、根っこからの理解に本書を役立ててください。

Chapter 3: UIKit Dynamics(執筆担当)

3章は、物理動作を可能としてくれるUIKit Dynamicsについてです。UIKit Dynamicsを使うことで、単純にビューに対して物理アニメーションを適用するのはもちろんのこと、画面遷移時に物理アニメーションを用いたり、コレクションビューのレイアウトに物理動作を適用することまでできてしまいます(つまり、コレクションビュー上のセルが物理動作します)。

本章では、UIKit Dynamicsの基礎から応用までを、順を追って解説してあります。

Chapter 4: Text Kit(一部執筆担当)

iOS 7が発表されたとき、テキストコンテンツが重視されていることに気がついた人は少なくないはずです。アップルは、私たち開発者が簡単に美しいテキスト表示を実現できるように、Text Kitを用意してくれました。Text Kitと一言で言っても、そのカバー範囲は広く、文字の装飾からテキストのレイアウトまで多岐にわたります。

本章では、Text Kitの持つ機能を一つずつ丁寧に解説してあります。すべての機能を掲載することはできませんでしたが、ぜひ知っておいて欲しいメイン機能についてはすべて触れたつもりです。

本書の中でも触れていますが、Text Kitを利用するにあたりタイポグラフィの前提知識は必須ではありません。もちろん、知っているに超したことはないですが、タイポグラフィには疎くても、iOS 7らしい美しい文字表示、テキストレイアウトを簡単に実現できてしまします。それがText Kitなのです。

Chapter 5: マルチタスキング・通信

UIの変化が大きかったiOS 7ですが、見えないところでも色々と変化しています。バックグラウンド動作中の処理に変更がありました。

本章では、Background Fetch(バックグラウンドでデータをダウンロード)やサイレントプッシュ(プッシュ通知でアプリを起動)だけでなく、同時に8台まで接続可能なMultipeer Connectivityについても解説されています。

通信系の機能は目に見えない部分が多いため、開発時に問題を抱えることも多いと思われます。本書では、リファレンスガイドにある内容だけではなく、開発者が知りたいポイントがうまくまとめられているため、理解度アップに役立てていただけると思います。

Chapter 6: Sprite Kit

ゲームを開発したことがない方でも、Cocos 2dなどの言葉を耳にしたことがない方は少ないでしょう。iOS 7には、Cocos 2dに似た構造を持つ、Sprite Kitと呼ばれるフレームワークが追加されています。Sprite Kitは、ゲーム開発で求められる高速な2Dグラフィックス描画と、物理演算機能を備え持ったフレームワークです。

これにより、iOS SDKに組み込まれた標準のフレームワークのみを使って、高度なゲームの開発が可能となりました。もう、OpenGL ESの難解なC言語と格闘する必要も、UIKitのもっさりとした重い動きに悩まされる必要もありません。

本章では、Sprite Kitを使いこなすにために必要な一連の流れを解説してあります。Sprite Kitを使って、ゲーム開発を初めてみるのはいかがでしょうか。

Chapter 7: 拡張機能(一部執筆担当)

iOS 7には、新しい機能ばかりではなく、拡張された機能もたくさんあります。本章では、それらをまとめて解説してあります。

ここで取り上げられているのは、iCloud Core Data, Core Bluetooth, Map KitにCore Location, さらにはM7を利用したCore Motion、そして文字入力とキーボードの拡張です。

これらの機能を利用したアプリをすでに開発されている方はもちろん、これから使っていこうと思っている方にとっても一読の価値がある章となっています。

この中で、Core Motionについては私の方で執筆いたしました。その内容を簡単にご紹介します。

iPhone 5s, iPad AirそしてiPad mini retinaには、M7という強力なモーションコプロセッサが搭載されました。それに伴い、歩数計測やモーショントラッキングが可能となりました(歩数計測はiPhone 5sのみ)。

とは言え、まだまだ駆け出しのM7という印象があるのも事実です。少々癖があり、使いこなすにはいくらかの注意が必要です。本節では、それらも踏まえて歩数計測とモーショントラッキングの使用方法を解説いたしました。

Appendix

最後にAppendixです。実は、使い方によってはここにこの本の大きな価値があると言っても過言ではありません。

iOS 7では、ステータスバーの表示方法から、キーカラーの設定方法まで、画面表示に関する変更がいくつか入っています。もちろん、単独でこれらの実装をするのはそれほど難しい話ではありません。しかし、旧OSをサポートする、もしくは旧OSからバージョンアップしようと思うと、なかなかうまくいかないことが多いのも事実です。

また、iOS 7のもう一つの悩ましい(ユーザーとしては嬉しい)点として、64bit対応が挙げられます。さらには、LLVMコンパイラにも進化がありました。このAppendixには、これらの変更点や開発時の注意点がまとめられています。じっくりと読み進めることも、リファレンスとして活用することもできるでしょう。iOS 7対応時には、是非手元に置いておきたい内容がたっぷりと詰まっています。

簡単ですが、以上が本書の内容紹介です。発売は明日12月20日です。年末年始の休暇でiOS 7を習得してしまいたい人には、またとないタイミングです。

執筆陣皆、心を込めて、そして精一杯の力を出して書きました。一人でも多くの開発者のお役に立てることを願ってやみません。