モダンなアプリを実現する「iOS 12 Programming」執筆プロジェクト!

iOS 12 Programming 編集者による各章解説・裏話

  • このエントリーをはてなブックマークに追加
加藤 尋樹, 佐藤 紘一, 石川 洋資, 堤 修一, 吉田 悠一, 池田 翔, 佐藤剛士, 大榎一司, 所 友太 - iOS 12 Programming

iOS 12 Programming

加藤 尋樹佐藤 紘一石川 洋資堤 修一吉田 悠一池田 翔佐藤剛士大榎一司所 友太

執筆開始まで、あと 0人の購入が必要です。

hkato193加藤 寛人 Twitter GitHub

エプソンアヴァシス株式会社。組み込み兼アプリケーションエンジニア。

主な著書は『開発のプロが教えるSwift標準ガイドブック』(共著・マイナビ)『上を目指すプログラマーのためのiPhoneアプリ開発テクニック iOS 7編』(共著・インプレス)など多数。

今回は「iOS 12 Programming」の魅力をお伝えしたいと思い、編集担当の加藤 寛人さん(@hkato193)と同じく編集担当永野(7gano)が各章の魅力とプロジェクトページでは伝えづらい、企画の裏側をお話します!

「iOS 11 Programming」から引き続き、ダブル編集ですけど、iOS 11は初でノウハウもなくて大変でしたね
でしたね。なにもかも暗中模索感がありました。
今回は2回目なのでわりとスムーズにできそうな気がしてますけど
はい、ノウハウも溜まってきていますし、何より著者も前回以上のモチベーションを持ってくれていますので、きっとスムーズにいけると思います(そう信じています)
今回の「iOS 12 Programming」は、7ganoが基本テーマと章立てを出して著者さんに依頼した感じなんですけど、加藤さん的にはどうですかね。
3部にして、最初にDelightful Experienceを実現するキーを持ってきたのがとても良いと思います。理由は Appleの考えをWWDCで聴いた人たちが、「でもDelightful Experienceって具体的にはどうすればいいの?」と結構バラバラなイメージを持っていると思うんですよね。 でも本書でそのスタンスを最初に見せることで、読者もいちばん大事な部分のイメージを共有できて良いと思っています。
「Delightful Experience」はPlatforms State of the Unionで出てきたワードでして パフォーマンスチューニングなど10個ぐらいを合わせてそれだ!という文脈だったんですけど、よいワードだったので部のテーマにして、今回のユーザー体験に特に影響する章をまとめて、これを読んでもらったらアップデートできるよ!としました
アップデートといっても、単にiOS 12 SDKでビルドするだけではないですからね。
iOS 11のときは、Drag and Drop、Document-Based Applicationあたりがそれに該当ですかね。 iOS 11はかなり新フレームワークが多かったので
この2つはiOSのアプリとの付き合い方を変える概念でしたね。アプリ先行ではなく、ドキュメント先行で。はてなの加藤さんが仰っていたDocument Basedに変化した、という。ファイルを全面に押し出すのは初というか
具体的な話になってきたんで、続けて、各章の解説に行きましょうか
ええ。

第1章 「Siri Shortcuts」加藤 尋樹/@cockscomb

1章はその加藤さんによるSiri Shortcutsです
これも、iOS 11のDrag & DropやDocument Based Appに通ずる重要な技術ですね。 先の2つがドキュメントに対してアプリを用意することになったわけですが、Siri Shortcutsでは場所や時間、行動パターンからアプリが提供されるわけで。 単にアプリの入り口が増えただけではない、もっと別の概念が追加されたものだと思っています。 それを加藤さんが紹介してくれるというので、期待大です。
SiriKitの大公開版とも見えますよね
前回も、読者意見で加藤さんの丁寧な解説が好評だったんですよね。「これさえ読めばOKという充実度」だったかしら。
またiOS 11の「Drag and Drop」の章みたいに完全版 + 独自解釈を書いてくれると思います。
SiriKitはiOS 11だと種まき程度でしたしね。一気に花開きました。それを独自解釈を踏まえて書いてくれるわけですから、もう。

第2章 「Notificationのすべて」佐藤 紘一/@justin999_

ジャスティンさんは今回初参加で、Notificationのアップデート含め、すべてを書いてくれると言っていました。笑
Notificationも単なるグループ化ではないので、使い方も丁寧さが必要になるアップデートですね。
Notificationがアプリでやる理由になるぐらい、超重要な機能ですよね
ですです。
以前から、アプリをアプリ外から使う部分が大きくなってきていて、Siri Shortcutsといい、Notificationの強化といい、かなりアプリの重要な部分になっています
たとえばロック画面でもアプリの情報が得られるという、もともとの強みがあって、それがiOS 12で完成したんじゃないかと思っています。いや、言い過ぎたかも。 そして、その完全版をジャスティンさんが書くと!
いや、言い過ぎじゃないかも。iOSアプリ設計パターン入門の松舘さんが、アプリの起動経路を調べていたんですけど、10個ぐらいあるとか
数えたことなかったのですが、そんなにあるんですか。多いですねー。
それぐらい接点が増えていて、かなり大きな接点で、起動の中心といってもいいぐらいですから超重要パートです。ジャスティンさんに期待しましょう!
ですね!ジャスティンさん一緒に頑張りましょう!

第3章 「パスワード管理と認証情報の提供」石川 洋資/@_ishkawa

この章、ユーザーにとって一番最初に役立つパートだと思っています。
「iOSの1ユーザーとして多くのアプリに対応してもらいたいと思っているので、広く理解されるように頑張ります。」 という石川さんのコメントがあるとおり、対応必須!と言っていいかと
そうですそうです。対応必須です。もうアプリスイッチしながらコピペさせるのはやめましょう!
その解説をAPIKit、DIKitの作者さんが書いてくれるので、これは薄いラッパーライブラリが誕生して、その解説を書いてくれたりするんじゃないかと、勝手に期待しています。
あー、それはいいですね!石川さんはtry! SwiftやiOSDCなどでもとても素晴らしい発表をされていますし、名著「Swift実践入門」の著者でもあるので、ハードルを今から上げておきたいです。

「第4章 Metal」堤 修一/@shu223

「第5章 ARKit」堤 修一/@shu223

「第6章 Core ML 2」吉田 悠一/@sonson_twit

第二部はARと機械学習で、iOS 11 Programmingから引き続き、大人気の章を書いてくれたあの二人が登場です! 二人とも即答で書く!って言ってくれました
iOS 11で撒かれたARKitとCore MLについて、素晴らしい記事を書いてくれた2人ですね!それだけで期待大です。 2部の各章に入る前にお二人について触れておきますが、まず堤さんは「わからない方の分からない理由がわかる」という稀有な能力を持っている方なんですよね。 できる人って、出来ない人の目線で考えることがなかなか大変なんですが、堤さんは階段の1つ1つがどこにあるか、つまづきやすい石ころがどこに落ちているかを気づくことができます。なので、彼の書く文章はすっと腑に落ちていくんです。 一方で吉田さんは、キチンとした数学や学問の素養を持っていて、それらのどこが重要かをわかっている方です。 なので、こうすべき・こうするのはおかしいという意見をブレずに持てます。そういう方の文章なので、安心して読めます。
Metalをわかりやすく書けるのは堤さんだけ! Core MLを仕組みから書けるのは吉田さんだけ!
そう、そうなんです!
「ARKitの章については、アップデートも入りますが「ARKit/Metalともに「iOS 11 Programming」で解説した部分については本書では再掲載しないので、前書をご購入の方も重複はしないのでその点はご安心ください。」 このコメントに集約されているかなと思います。笑 Core ML 2に関しては「ネットで検索して出てくることは書かない!」と吉田さんが言ってまして、これに尽きるかなと。笑
はい(笑) で、そしてARKit/Metal/Core MLについてですが、まずARKitとCore MLはiOS11で華々しく出てきたものの、まだ実現できることは狭かったですね。 たとえば平面しか認識できなかったり、Core MLのモデルも独自のものが持てなかったり。 しかし、iOS 12になってどちらも一気に芽吹いてきました。ARKitは立体認識やアンカー含めたオブジェクトの共有ができるようになりましたし、Core MLは独自モデル・独自レイヤーを組み込めるようになりました。 なので、アプリ次第では大化けする素地が整ってきたと思います。 そこをこの2人が解説してくれるわけですから、もう、期待せずには。
iOS 11/iOS 12 Programming、両方揃えて、面白いアプリを作って欲しいですね
ですです(笑)

第7章「Swift 4.0からSwift 4.2へのアップデート」池田 翔/@ikesyo

3部は、これまでの章を支えるSwiftとXcode、そしてなんとMojaveとtvOSです。 Swiftコミッター、いけしょーさんによる前回も大評判だったSwiftの章ですね。
3部は「どこまでがiOS 12か」という命題に挑むわけですね。
tvOSもMojaveもiOSではありませんが笑
Swift は4.2になって、いよいよ撒かれた種の収穫が始まりました。 いけしょーさん、前回のiOS 11本のときもとても丁寧に執筆に取り組んでくれました。
Codableやるならこれ!という内容でした
当時、私がレビューしたときに誤ったコード内容にしてしまったときがあったんです。
そんなのありましたっけ
複数行の文字列のところだったかな。でもいけしょーさんはちゃんと気づいて、それを指摘してくれました。
細やかですよね。初稿から直すところがありませんでした。
経験上、編集後の内容を最後まできっちり見る方はなかなかいないです。さすがだと。
Swift 4.2もいろいろある!とのことなので期待しましょう
直すところありませんでしたね…すごかった。
あって当然みたいに思っている章ですけど、めっちゃスペシャルですよね
はい。その細やかさが、4.2という一見地味にも思えるアップデートを掘り下げて書いてくれるわけです!いかんなく発揮されるわけですから、これまたもう期待せざるをえない。 実際のところ、4.2って必要な人には本当に役立つアップデートですから、私も期待大です。

第8章「Xcode 10の新機能」佐藤剛士/@hatakenokakashi

で、8章のXcodeですね。
佐藤さんとこのMAMORIOには大変お世話になっております。アプリも使いやすいです。
佐藤さんは初参加なんですけど、技術書典でサーバサイドSwiftの本を書かれていたりと、かなり詳しい方です いつか混ざっていただこうと思っていたのですが、ついに参加いただきました
ええ、私も一度お会いして一緒に食事に行ったのですが、深い知識を持っていらっしゃる方でした。
Xcode 10はついにIDEになった!というコメントをそこかしこで見ますね。笑
そうそう。ついに追いつくべき他のIDEの背中が見えてきましたw
僕はもう10年以上使ってるので、そういうもんだと思っているところがありました
その状態で他のIDE、特にVisual Studioなんかを触るとショックを受けますね
「今回のWWDCは開発者として嬉しい機能がたくさんあり、作業効率やプロダクトのパフォーマンスがあがるものがたくさんありました。XcodeはIDEとしてさらなる進化を遂げました。 開発者として自分も毎日扱うものなので、精一杯わかりやすくまとめたいと思っています!」 とのことで、第一線の方が自分の道具を解説する!的な内容になると思います。
Xcodeは円熟期にいよいよ入った技術、というかツールですので、今ここで新機能を整理することは、今後の開発効率にとってすごく役立つと思います!
パフォーマンスチューニュングがiOS 12のキーだったりしますからね。いろいろ解析系が便利になってるし
iOS 12が「速くなりました」と言っているのに、「あのアプリは相変わらず遅い」なんて言われるのはいやですよね。 なので読者の皆様には、ぜひ佐藤さんの章を読んでよりDelightfulなアプリにしていただきたいです。

第9章「Mojaveの新機能」大榎一司/@tamadeveloper

なんと9章はMojaveです 著者さんは、FirstSeed CalendarというiPhone/iPad/macOS対応のカレンダーアプリを作られている方で
表紙がMojaveっぽいですから(笑)
僕がやっているポッドキャストに来ていただいてお話したんですけど、めっちゃベテランでめっちゃ詳しい! iOS歴は僕と同じApp Storeローンチからです。笑
失礼ながら今まで大榎さんのことは存じあげなくて、今回の執筆参加のタイミングで色々と活躍を調べさせてもらったのですが、まさにこの章を書くのにふさわしい方ですね
PEAKSで、WWDC 2018次第では、UIKit for macOS(通称Marzipan)の本を書く企画がありまして 今回出なかったんですけど、かなり調べてらっしゃって依頼するか迷ったのですが、お願いしました!
おお
ダークモードもありますので、合わせてiOSとmacOSの関係を書いていただきます。
dark modeもUIKit統合も、Appleらしいやり方でしたね。 単に色を変えるだけでなく、ちゃんとダークモードのときにはこの表示に切り替えられるようにしてね、と枠を指示されていますし。
その辺を理解しておくのはiOSと付き合っていくのにも役立ちますしね
ですです。UIKitも、いつかどこかで見たような持ってきかたです。 なので、大榎さんのように長年の経験がある方ほど、意図を汲み取った内容になるはずです。期待ですね。
しかも、iPhone/iPad/macOSやってる方ですからね。

第10章「tvOS 12の新機能」所 友太/@tokorom

最後は所さんによる恒例の章ですが、前回、なんとHome Kit入門完全版を書いていただいて今回はtvOSです所さんはUIKit詳解リファレンス以来、わかりやすさに定評がありますけど、またこれtvOS決定版になるんじゃないですかね
刺さるところには思いっきり刺さりますね。他にtvOSやHomeKitで書く方ってめったにいないですから。刺さる方にとってのバイブルになるのではと期待していますし、私たち編集もバイブルにしようと息巻いています。
しかもtvOS, Home Kitを仕事でやってるんですよ、所さん。 そういう人はなかなか居なくてしかも所さんによる著ということでこれまた期待です。
はい。それに技術的な部分だと、tvOS 12はパスワード管理の使いやすさが向上していたり、各種UI部品を操作したときの振る舞いが整理されていて、よりApple純正のUIに近いものが作れるようになってきています。またまた個人的な意見で恐縮ですが、tvOS 12は今後のtvOS 12のベースラインになると思っているんですよ。なので、期待大なんです。
tvOSで注目したいのは、UIをHTMLで作る部分で、 これは未来への布石だと思っているんですよね
ええ、そうですね
TVUIKitはネイティブUIですが、果たしてどういう関係になるのか、 所さんの解説が楽しみです
まったくです
さて、全章解説しましたけど、今回テーマとかプロジェクト説明けっこう悩みましてね。 こうして説明するとプロジェクトページで魅力が伝えられたのか疑問に思えてきました。
「パッと見地味」という第一印象は大きいですしね…。本当は去年と同様ワクワクする内容がいっぱいなんですが
WWDC 2018 Keynoteが、2017よりはちょっとね。しかし、iOS 12はかなり盛りだくさんです!
そうなんです!
ということでプロジェクト成立まであと200名様ぐらいですが(2018/6/27現在)応援お願いいたします!
よろしくお願いいたします! すでに応援してくださっている方も、改めてありがとうございます!期待に応える、いや超える内容にすべく一同がんばりますので、楽しみにしていてください!
加藤 尋樹, 佐藤 紘一, 石川 洋資, 堤 修一, 吉田 悠一, 池田 翔, 佐藤剛士, 大榎一司, 所 友太 - iOS 12 Programming

モダンなアプリを実現する「iOS 12 Programming」執筆プロジェクト!

iOS 12 Programming

加藤 尋樹佐藤 紘一石川 洋資堤 修一吉田 悠一池田 翔佐藤剛士大榎一司所 友太

執筆開始まで、あと 0人の購入が必要です。