/ iOS

WWDC15の所感

今年のWWDC15の抽選にあたったので、自腹でWWDC15に行きました。いろいろな発表がありますが、その中に僕が影響が大きいと思う順番でまとめました。

3つのOS

iOS、OSX、WatchOS!

それぞれが独立しているOSですが、一部のFramework/APIが共有されています。iOSのいろいろなAPIがOSXにPortしたし、今回はWatchOSのAPIはiOSの一部(subset)です。3つのOSで開発をする予定のエンジニアは、同じFrameworkであっても、違うOSでは使えるAPIと使えないAPIが分かれている。非常に細かい注意が必要でしょう!

Windows 10のように最終的に一つのOSに統一されるでしょうかね?仮にその動きがあっても、しばらくはまだ辛抱強く覚えておくしかないと思います。

Swift 2

発表される前に、友人と話した時は、Swift2が出る可能性もあると言いましたが、まさかに出るの!というショックは未だに残っています。

いろいろな言語Featureの中にErrorの処理がたしかに面白いです。今回のWWDCのSessionのDemoやスライドにあるコードはほとんどSwiftですね。個人的には、もうかなり熟成した言語になってきていましたので、これからは積極的に使わないと、時代に遅れるので、必要です。まだそんなに使っていないエンジニアも焦らなくても大丈夫でしょう、なぜなら、言語仕様の変更が大きいから、すでにSwift1.xを使っているエンジニアの先行有利性はそれほどではない

Swift2の影響で、iOS/OSX/WatchOSだけではなくで、サーバーサイドのScriptや、Webアプリや、LinuxのNativeアプリなど、これからどんどん出てくるではないか!史上初めてNativeコードでWebアプリを簡単(簡単ではないCGIなどは昔あった)に書けるのではないか!しかもNativeだから、PHP/Ruby/Python/Javaよりコンパクトで高速なWebアプリを書けるではないか?

Swiftができたら、フルスタックのエンジニアも簡単になるのでは!?

Debugがちょっと大変そうなので、Xcode以外のIDEも出るではないか?もしくは既存のIDE(例:IntelliJ)がSwiftを完全サポートするのも近づいてくるではないか?

何もない(使いづらい)をポジティブに捉えたら、チャンスだよ!

by Tonny Xu

iPad Multitasking

これはiOS9の正式リリースによって、Slide OverはほぼすべてのiPad端末に使えるようになります(一部古い端末では使えない)。既存アプリは特にこれを対応しなくてもそのまま使える。

Split ViewはiPad Air 2からサポートされているので、そのデバイスでは使えるので、既存の非AutoLayoutとSizeクラス対応済みのアプリがこのSplitViewを対応したいとしたら、ちょっと大変そうです

エンジニアとしては、AutoLayoutとSize Classの勉強はまず必要でしょう。

WatchOS 2

こんな早くWatchOS2が出ると思わなかったです。iOS Meetup Tokyoで僕が年内は出ないでしょうと言いましたが、それが完全に外れましたね。m(__)m

Watch上Nativeコードの実行が可能になり、センサーとTapticへのアクセスも可能になり、かなり面白いアプリが出るんでしょう!

マネタイズが難しいので、次にWatch上の広告も出るんでしょう!Native Ad For Watchを期待しています。

Deep Linking

OSレベルでDeep Linkingをサポートするので、面白いね。アプリ間のデータ共有とJumpは簡単になるのが、逆に、各アプリが自分のDeep Linking仕様を公開しないと、他のアプリからリンクされないので、その情報を集約するサイトも現れるんでしょう。

Metal

アップルがついにopenGLを徐々にDropするんでしょう。OpenGLを使わないといけない歴史だったのが、今は優秀な人材を集めていて、Metalを作って、かなりいいポジティブなフィードバックをもらっているので、3年後、5年後はOpenGLを完全なくすではないか?3D Gameの開発者は早めに乗ったほうがいいでしょう。

Search in App

Spotlightがすごく強化されたので、サードパーティのアプリもインデックスに入れてくるので、旅行や、レストランなどの情報系アプリは非常にありがたい機能ではないか!

App Thinning

既存のアプリはないもせず、ユーザがダウンロードしようとするDeviceに最適化したバイナリが送られる仕組みですね。これは億単位の一般ユーザ向けの機能なので、一般ユーザは素直に嬉しいでしょう?ODR(On-Demand-Resources)はDeveloperがちゃんとサポートするなら、更にアプリサイズを縮められる。勉強しといたほうがいいですね。

Model I/O, GameplayKit, ReplayKit

(Gameのエンジニアではないので、完全な推測です。)

すでにこんなサービスを使っているGame開発者は大手Game会社にいると思いますが、一般的な開発者もちょっと頑張れば以前想像もできないツールが手に入れたので、インディGame開発者としてはありがたい機能ではないか?

簡単にReplayできるのは非常に面白いビジネスにもなるではないか?

Others

他の多数の機能や、Frameworkが追加されているので、個人的に非常に気になるのは下記です:

  • WebKitの強化とSafariモジュール
  • CloudKit JS
  • ClockKit(Cloudではないね^_^)
  • MapKit + Flyover

雑記

エンジニアとして、(まずMacを持っていないエンジニアはMacを買いましょう)、これからの1年間は激動の時期は間違いないでしょう。様々なOpenSource Libraryがリリースされると思います。常に最新情報を追っておくのは間違いなく日常仕事の一部になります。

ビジネスとして、既存ビジネスには特に影響が大きいのは恐らく新しいOSの対応でしょう。それ以外はWatch周りの新しいビジネスチャンスがたくさんあるので、既存ビジネスをどうやってWatchに展開できるのかを考えるのはすでに進んでいるでしょう。

会社として、勉強会を積極的にホストして、エンジニアの中に、最新の技術を勉強している(運用していることじゃなくてもOKだから)かっこいい会社であることをアピールすれば、優秀なエンジニアの採用も難しくないでしょう。

僕の予定

僕はBlogを書き続けるのが重要でしょう!

更にこの3つのOS周りの技術の支援の要請、問い合わせなどを受付中です。