WWDC2016 Keynote 概要まとめ & 所感

# はじめに
最近コーディングが箸休め状態なので記事が書けない...

ということでですね, 今回はコーディングの話ではなくWWDC2016 Keynoteの内容について書きました.
「WWDC2016 まとめ」とかで検索してみても結局まとまってるのかよくわからなかったので笑, 自分の目で確認してみた結果を(備忘録としても)残すことにしました.

詳細に知りたい方は下の方にプレスリリースなどのリンクがあるので, 是非チェックしてみてください.

まずはWWDCの傾向を掴むべく, OSや主要なツールなどにおける過去3年分の大きな変化を表でまとめました.

| 分類 | WWDC2014 | WWDC2015 | WWDC2016 |
|:---|:---|:---|:---|
| iOS | iOS 8 | iOS 9 | **iOS 10** |
| MacOS | OS X 10.10 Yosemite | OS X 10.11 El Capitan | **macOS Sierra** |
| watchOS | 発表なし | watchOS 2 | **watchOS 3** |
| tvOS | 発表なし | 発表なし | **tvOS 10** |
| Swift | Swift1 | Swift2 | **Swift3** |
| Xcode | Xcode6 | Xcode 7 | **Xcode 8** |
| iOS SDKに含まれる<br>Frameworks<br>(API等は[こちら](http://qiita.com/dokubeko/items/a7b057616cae35b61552)) | HealthKit<br>HomeKit<br>CloudKit<br>SceneKit<br>PhotoKit<br>AVKit<br>CoreAudioKit<br>PushKit | GamePlayKit<br>MetalKit<br>ReplayKit | **CallKit<br>SiriKit** |

FrameworksについてはiOS8以降そんなに変わってないようにも見えますが, 新しく登場したもののみ記載しているので, 実際は他のFrameworksも変更点は多々有ります. iOS10では`HomeKit`や`Photos`など18ものFrameworksが変更されています.

それではここからWWDC2016 Keynoteのまとめをつらつらと書いていきます(ただし, 聞き取れなかった部分は自信がないので **?** をつけています).

# WWDC2016 Keynoteまとめ
## watchOS
* 全体的にパフォーマンスが向上, アプリの起動も高速化(約7倍!)
* アプリをメモリ上に保持可能(ドックを追加したため, アプリの切り替え可能)
* iOSと同様に, コントロールセンターを追加(iPhoneの最下部から上にスワイプすると出てくるやつ)
* 文字の手書きが可能
* 時計をミッキーからミニーに変更可能(色も変更可能)
* watchのトップ画面を素早く切り替え可能(スワイプで切り替え)
* 時計と一緒にアクティビティ(ヘルスケア)を表示させることが可能
* 緊急通報機能強化(ボタン長押しで通報, 位置情報連動による現地警察への通報, 家族の情報や病気の情報も同時に通報, 別の国にいてもその国の警察や医療機関に通報?)
* アクティビティをシェア可能
* 活動しすぎた時は休むよう催促?
* 深呼吸サポートアプリ
* Apple Payがアプリで利用可能
* バックグラウンドでもワークアウト計測
* リアルタイムに心拍を計測
* ジャイロスコープにアクセスが可能
* 常時加速度計が稼働
* SpriteKit, SceneKit, Crown & Touch events, Speaker audio, Inline video, Game Center, CloudKitが利用可能

## tvOS
* AppleTVのリモートアプリ強化
* Siriで検索可能
* Single sign-onが可能(各チャンネルの認証簡易化?)
* 背景をダークテーマに変更可能
* iTunes MovieでiPhoneで購入した映画もApple TVに即反映
* この他にもたくさん

## OS X
* Apple Watchと連携することでAuto Unlockが可能
* Universal Clipboardが可能(例: iPhoneでコピーしたテキストをMacbookに貼れる)
* iCloud Driveの強化によってiMac, Macbook, iPhoneでデスクトップが共有可能
* Optimized Storageによってストレージの空きが増加 → (参考ページは[こちら](http://applech2.com/archives/20160615-macos-sierra-optimized-storage-features.html))
* Web上でApplePayが利用可能(TouchIDで認証, 日本はまだの模様)
* マップ, メール, Pagesなどでタブが利用可能
* Picture in PictureでブラウザやiTunes上の動画でも画面のどこにでも, フレームレスで表示可能
* Siri搭載

## iOS
* UX強化(特にロックスクリーン)
 - スマホを持ち上げるだけで画面表示?
 - Uberで乗る予定の車がどこにいるかマップで表示?
 - Music専用のコントロールセンター
* Siri
 - SiriKitによってアプリとSiriが連携可能
* QuickType
 - 文章や会話の内容から入力しようとしている文章をサジェスト
 - マルチリンガルタイピング対応
* Photos
 - マップの位置情報と同期し, コレクションとしてマップ上に写真を表示可能
 - アルバムのように, 思い出として写真をまとめることが可能
* Maps
 - デザイン刷新
 - 検索機能強化
 - 道路の混雑状況が閲覧可能
 - ダイナミックビュー(上から眺めるようにしてルートを閲覧することが可能)
 - クイックコントロールによって道案内中にレストランなどの検索が可能
 - 対応している車なら連携も可能(車の各種メーターの近くにルート表示など)
 - 「レストラン探す → 予約する → Uberで車探す → Apple Payで支払う」, これがMapだけで可能
* Music
 - デザイン刷新
 - 歌詞表示可能
 - 自分に合いそうな曲のサジェストが可能?
 - 気に入った曲のツイートみたいなのが可能(タイムラインで表示)
* News
 - トレンドやスポーツなどのカテゴリ表示が可能
* HomeKit
 - 家電の操作は勿論, おやすみモードなどのシーンにあった証明操作も可能
 - リモートで鍵を開閉可能
 - 防犯カメラも利用可能
 - ロックスクリーンでも操作可能
* Phone
 - Voicemailをテキストに自動変換?
 - スパム判定
 - VoIP API提供
* Messages
 - リンクを貼ると関連画像も表示
 - カメラとフォトライブラリーから写真の選択簡易化
 - 絵文字が3倍巨大化
 - 文字から絵文字に変換可能(タップするだけで変換も可能)
 - バブルのアニメーションを色々追加
 - メッセージに対するリアクションが可能
 - 手書きの文字や絵を送信可能
 - 背景のエフェクトも設定可能
 - iMessage Appsを開発可能([iMessage Apps](https://developer.apple.com/imessage/)は, Messagesで使えるスタンプや送金サービス, 商品の購入などを提供するアプリ?)

## Developers
* Swift Playground on iPad
 - プログラミングを学ぶためのツール(ゲームをしながら学習可能, 物理なども学習可能)

# おわりに
今回, 個人的にはwatchOSとiOSが結構進化した感があります(iOSはいつもこんな感じでしたかね笑). Apple Payも浸透しそうな予感がしてます! Siriも使いやすくなってくるので一際違った体験をユーザに届けられるようになりますね!

Keynoteから読み取れる内容はざっくりと記述しましたが, [Appleのプレスリリース](http://www.apple.com/jp/pr/)に詳細が書いてあると思うので目を通しておくのが良いでしょう(2016-06-13の記事が今回の内容に該当します).

アプリを開発する際には以下のドキュメントに情報が詳しく掲載されているので, 参考にしてください.

* [Guides and Sample Code](https://developer.apple.com/library/prerelease/content/releasenotes/General/WhatsNewIniOS/Articles/iOS10.html)
* [iOS 9.3 to iOS 10.0 API Differences](https://developer.apple.com/library/prerelease/content/releasenotes/General/iOS10APIDiffs/)

あとATSに関する情報も少しだけ↑の`Guides and Sample Code`に書いてますが, 今年中くらいにはアプリ内通信は全てHTTPSに対応しなければならないでしょう. これに関しては以下の記事が参考になると思います.

* [iOS 10のApp Transport Securityと2016年末からのATS必須化についてAppleのエンジニアに聞いてきた](http://developer.hatenastaff.com/entry/2016/06/16/165924)

追加して知りたい情報があればリクエストをコメントに書いて頂けると幸いです!(調べられる範囲でなんとかします)

それではまたー!