# WWDC 2016 Keynote + Platforms State of the Union 所感

*2016-06-14*

> 2016-06-13 Bill Graham Civic Auditorium で行われた WWDC 2016 Keynote, Platforms State of the Union の所感

2016-06-13 Mon. - 17 Fri. 開催されている WWDC 2016 に参加するために、San Francisco に来ています。

旅の一連の記録は帰国後に投稿しますが、WWDC 初日、Bill Graham Civic Auditorium で開催された [Keynote], [Platforms State of the Union] の所感を書きます。

<!--more-->

## iOS のビルトインアプリケーションの連携

iOS 10 から VoIP, Messages, Maps, Notification など、ビルトインのアプリケーションに対して拡張を行う API が発表されていました。

新 iMessage は今までのメッセージングアプリケーションの良さを踏襲したような機能追加で、より感情表現を伝えやすく、テキストだけのコミュニケーションに違和感を覚えていて、他のメッセージングアプリケーションを使っていた人たちにも使ってもらいやすくなったと思います。

Apple プラットフォームのデバイスのユーザー同士だと、既存のメッセージングアプリケーションからの乗り換えもありかな、と思いますが、コミュニケーションという特性上、Android, Windows ユーザーとのやりとりも必須なので、完全乗り換えは難しそうです。

これほどのソフトウェアを、クロスプラットフォームで展開するとなると、なかなかの投資となると思うので、恐らく本腰入れては進出してこないと考えています。(Android 版 iMessage がでるという噂はありましたが)

## Continuity

macOS Sierra の発表にあった、_Continuity_: 複数のデバイスが連携して動作する機能群に含まれる、Clipboard Sharing, Auto Unlocking は、2016年に入って気に入って使っていたソフトウェア達: [Near Lock] と [Copied] を OS ビルトインで実現してくれます。(WWDC 恒例の 3rd Party 潰しですね。)

とても気に入っていましたが、恐らく Sierra の Production がリリースされたら、全デバイスにインストールし、それらは使わなくなってしまうだろうと思います。

[Near Lock]: http://nearlock.me/
[Copied]: http://copiedapp.com/

## [Swift Playground for iPad]

今回の Keynote で発表されたアップデートの中で最も印象的だったのが、この発表です。

人によっては Xcode に付随する Playground に比較して、_あれは子供向けだから、やれることは少ないよ_ みたいなイマイチな反応もされていますが、_やれることは少ない_、でも、使って欲しい使い方を提供できる、お手本にしたい設計思想です。

もともと Playground が iOS にも欲しいし、そのうち出るだろう、と思っていたのですが、想像を上回る製品で感動しました。

実際に iPad Pro に iOS 10 をインストールして遊び始めてみました。iOS 10 を iPad にインストールすれば、OS にビルトインされています。

まだ Top 画面にある Featured 内のコンテンツは _Coming Soon_ になっており、Keynote にあった、モンスターが移動するゲームは遊べません。

_My Playgrounds_ から、`+` サインをタップして新規作成すると、ひな形で

- _Answers_: 質問ラベル `What is your name?` に対して、応答フォームに入力すると、`Hi \(inputValue)` のフォーマットで出力する簡単なプログラム
- _Shapes_: 矩形を描画しユーザーインタラクションによる操作ができるプログラム

と、スクラッチでコードを書くための _Blank_ が選べます。

Swift Playground for iPad で使用できるパッケージのフォーマットについて、[Playground Book Package Format] に記載されており、これを iCloud Drive などに設置し、iPad で開けば、コンテンツが作成できるはずなのですが、なぜか現在はパッケージとして認識せず、選択できません。

会期中に Lab で質問してこようと思います。

### 2016-06-14 11:50 PDT 追記

_Creating Content for Swift Playground Lab_ で質問したところ、`.playgroundbook` ディレクトリがバンドルとして認識されないのは、現プレビューバージョンで発生しているバグで、今後修正される予定とのことです。

今のところ iPad に `.playgroundbook` のコンテンツを転送するには、AirDrop でフォルダごと転送するか、Apple Mail を使って、添付ファイルとしてメールで送信する方法があるそうです。

AirDrop は動作確認できましたが、メールは _Mail cannot open this attachment._ という警告がでて、関連づけられたアプリケーションを起動できませんでした。 ([スクリーンショット](ipad-mail.png))


## Xcode

Keynote では触れられていませんでしたが、Platforms State of the Union (SOTU) では Xcode のアップデートも発表がありました。

着実に進化しており、(TODO: What's new にリンクする) 正式版リリースが出て、プロダクション開発に使える日が楽しみになりました。

特に印象的だったのが _Xcode App Extensions_ です。

Xcode App Extension ができることは以下:

- ソースコードの編集
  - 内容の追加と削除
  - 内容の変換
  - 内容の選択
  - クリップボードの更新
  - ファイル内の移動

AppStore で配布でき、プロセスは Xcode と別プロセスで起動し、Sandbox 内で動作するので、セキュアーである、とのことでした。

かつて [Coda 2] 用に実装していた、[Gist] や [Markdown] プラグインも作れるのでは、と思っており、想像が膨らんでいるので、こちらも調査して、ラボなどで質問してこれたらと考えています。

## 帰国後の発表

こちらの記事で話題にしていることのいずれかを特に深掘りして、WWDC 終了後の 06/22 有楽町で開催される [FiNC WWDC振り返り勉強会] で発表したいと思います。

[Playground Book Package Format]: https://developer.apple.com/library/prerelease/content/documentation/Xcode/Conceptual/swift_playgrounds_doc_format/index.html#//apple_ref/doc/uid/TP40017343
[Starter.playgroundbook]: https://developer.apple.com/sample-code/swift/downloads/Playgrounds-Starter-Book.zip
[Keynote]: http://www.apple.com/apple-events/june-2016/
[Platforms State of the Union]: https://developer.apple.com/videos/play/wwdc2016/102/
[Swift Playground for iPad]: https://developer.apple.com/swift/playgrounds/
[FiNC WWDC振り返り勉強会]: http://finc-swift.connpass.com/event/34010/
[Coda 2]: https://panic.com/jp/coda/
[Gist]: https://github.com/ngs/gist-codaplugin
[Markdown]: https://github.com/ngs/markdown-codaplugin


