WWDC2017で発表された興味深いセッション。デザイン、ML、Foundation
WWDC2017
先週はWWDC2017が6/6-9の日程で行われた。WWDCはWorldwide Developer Conferenceの略で毎年この初夏の時期にApple社が主催している開発者向けのカンファレンスだ。特に初日のKeynote(基調講演)はソフトウェアや新製品が発表されるため世界中の人が開発者だけじゃなくても注目する。今回の基調講演では大きく6つの分野で発表があった。基調講演はiMac Proが発表されるなど、とても盛り上がっていた。
しかし、私のようなiOSアプリ開発者にとって注目なのは2日目以降に行われる開発者向けの講演の方が興味深い。基調講演で紹介された新しい機能の詳しい情報が発表されるからだ。この記事ではWWDC2017から個人的にとてもわくわくした発表を3つ紹介したい。
Essential Design Principle
この発表では自動車の運転になぞらえてiOSアプリがどのように振る舞うべきかを丁寧に解説している。この発表ではHowの部分はほとんど解説されていないが、なぜ(Why)アプリがこのセッションで説明されるような基本を満たさなければいけないかを解説している。例えば、エラーが起きたときにはアプリはフィードバックを返さないといけない。例えば、このnoteでテキストノートを書いていて、タイトルが所定の文字数を超えたらそのことをユーザに教えないといけない。こういったフィードバックには満たさないといけない要件がある。それは以下のとおりだ。
What can I do? (ユーザは何ができるのか?)
What just happened? (何が起きたのか?)
What’s happening? (今、何が起きているのか?)
What will happen in the future? (このあと、何が起こるのか?)
このセッションはとても良くできていて、社内のUI開発に関わる全メンバーに見てもらいたいくらいだ。
Introducing Core ML
Machine Learning (機械学習) についてのセッションだ。このnoteの開発においても機械学習を活用しているし、これからはより活用していかなければいけないと思っている。noteには現在、毎日大量のコンテンツが投稿されている。まず、投稿されたコンテンツがどんなカテゴリーなのかを判別しないといけない。あわよくばそれが誰にとってどれくらいおもしろいのかを予想したい。そして、そうして判別されたコンテンツを興味ありそうな人々にリコメンドしたい。そのためにはユーザについても行動を分析し、どんなものを欲しがっているのかを予想しなければいけない。これを人手でやるのは量的に不可能だ。これを実現するために機械学習が不可欠だ。この分野でApplega公式でサポートするフレームワークを発表したことはとても意味が大きい。
What’s new in Foundation
FoundationというSwiftの基盤になるようなフレームワークがある。毎年新しい機能が追加されるので、そのフレームワークについてのセッションは毎年恒例になっている。今回の発表ではCodableというプロトコルについての説明が一番盛り上がっていた。コードベースの詳しい情報は公式ドキュメント(https://developer.apple.com/documentation/swift/codable)やブログ記事を参考されたい。http://techblog.timers-inc.com/entry/swift_codable
簡単に言うとこのCodableというプロトコルが追加されることでサーバーから得た情報を処理するのがとても楽になる。今日のiPhoneにおいてインターネット回線を使ったデータ通信は当たり前になっている。飛行機内などネットが通じない場所に行ったときにiPhoneがいかに使えないものかを思い知ることになる。iPhoneアプリを使用するにあたってインターネット上のデータをiOS側で処理するのは日常茶飯事だったのに、その部分について使いやすいフレームワークをAppleは提供してこなかった。そのおかげでSwiftになってからはJsonを評価するためのフレームワークがいくつも発表され、開発者ごとに違うものを使っている状況だった。しかし、サードパーティフレームワークは本家Appleの仕様変更に弱いという弱点が有る。例えば、フレームワークAを使っていたとする。Swift4が発表され、自分のアプリをSwift4にアップデートしてもフレームワークAは対応していないかもしれない。そうすると最悪の場合フレームワークAをつかって実装していた部分は再実装しなかればならない。そういった懸念がなくなることが今回とても大きいのではないかと思う。
noteやcakesではエンジニア、デザイナーを募集中!
他にも色々とおもしろいセッションがあった。これらの情報を活用してnoteやcakesのアプリをどんどん良くしたいと思っている。良くしたいし、良くしなければいけない。昨今は、noteもcakesもおもしろいクリエイターの方々がどんどん参入してきてもらっている。クリエイターやその読者の方々のためにも、もっといいものを提供していきたい。
ということで、優秀なエンジニア、デザイナーの方々をピースオブケイク社では絶賛募集中である。特に個人的には今回、記事に書いたようなWWDCの話をディープにできる人が入ってきてもらえたら嬉しい。iOSエンジニアの募集要項はこちらで、Androidエンジニアの募集要項はこちらである。また、開発者の方ではなくても、知り合いに開発者がいたらぜひ紹介してもらいたい。