BASE開発チームブログ

フリーミアムなネットショップ構築サービス BASE( https://thebase.in )の開発チームによるブログです。開発メンバ積極募集中! https://www.wantedly.com/companies/base/projects

WWDC 2017に参加しました

初めまして、BASE iOS エンジニアの大木です。 6/5-6/9の日程で行われたWWDCに参加してきました。 初参加だったのですが、いつもの業務から離れてiOSの技術的な内容を聞いたり同じiOSエンジニアと議論したり大変有意義な時間を過ごせました。 発表内容は他の方やメディアがまとめていると思いますので、ここではそこにはあまり触れず雰囲気をお伝えできればと思います。

会場について

今回はSan Franciscoではなく、San JaseのMcEnery Convention Centerで開催されました。 前日から会場にチェックインできるので、夕方に現地に着き宿泊先に荷物を置いてから会場に向かいました。 もっと前から現地に行き観光に行った方もいたようで、若干羨ましかったです。

会場の外でチェックインして、バッチをもらいました。

前日に備え腹ごしらえをするために歩き回るGuys

宿泊先

Appleからメールで送られてきた予約フォームにあった会場に近いThe Fairmontというホテルに宿泊しました。 会場へはゆっくり歩いても、徒歩5-10分以内につくので大変助かりました。

www.fairmont.jp

ホテル下にMUJIも!

Tech Museumも近い!

Singleで予約してもベットは2つ!

初日

前日の腹ごしえの時に徹夜しなくても入れるという情報をもらったので、宿泊先から会場へ歩いていけることもあり、明るくなってから列に並びました。 一応朝4時ごろに目が覚めたのですが、列に並び始めたのは6時でした。

建物は朝7時くらいに開場され、スタッフに拍手で迎えられました。

入場すると朝食が振舞われていたので食べつつ、ホールが開くのを待ちました。

真ん中の一番後ろの席を確保

Keynote、Platforms State of the Unionを観た感じ、VRKit/ARKit/Core ML、App StoreのリニューアルやXcode/Foundation/Swiftの改善などアプリを作るための基礎となるものの発表が多かった気がします。

また、Keynote後のランチ中に、WWDCアプリを確認するとセッション内容が更新されていたので、Keynoteの内容についての感想やセッションどこに行くかなどについて話したりしました。

ランチボックス

セッション

自分は初日の発表を聞いて下記のことが気になったのでそれらのセッションを中心に回りました。

  • JSONマッピングのためのDecodableプロトコルって、ダーティーなJSONでも対応できるの?
  • ARKitでマーカーっていらないの? 認識性能は?
  • Core MLって端末上で動くらしいが、機械学習の学習済みモデルってどうインポートするのか? また、画像認識や自然言語処理の特定機能の処理にそれがどう関わってくるのか?
  • UIKit周りのアップデート

動画とスライド、あとサンプルコードもいくつか公開されているので、気になる方はチェックしてみると良いかと思います。

Lab

セッションとは別に、Apple社員に質問ができるLabというのもありました。 デザイン系やAppStore系のLabは予約が必要なので早起きする必要があります。 予約フォームは毎朝7時以降に専用のページにアクセスするのですが、私は残念ながら予約できませんでした。

3つほどエンジニアリング系Lab(それしか回ってない)を回ったのですが、UIKit and Collection View Labは、結構並びました。

いくつかした質問紹介すると、

Q. CollectionViewを入れ子で使うことが多いのだけど、これってパフォーマンス的に問題ないの?
A. あまりよくないね。CollectionViewは一つにするべきだよ。
このViewはレイアウトを色々カスタマイズできるので、
必要な種類のCellを用意してセクションを分けたりしながらレイアウトするべきだよ

Q. UITableViewライクなレイアウトを作成することがよくあるのだけど、
パフォーマンスの観点だとセパレータってDecorationViewで作るべきなの?
CollectionViewCellの要素として作るべきなの?
A. 今ってどっちで作ってるの? 
(CollectionViewCellの要素として作ったコードを見せながら) 全然これで問題ないよ!
Cell初期化の時に作ってるみたいだしね

あと、ApplePayボタンに関して、利用ケース別にどのボタンタイプを使うべきか質問をしにいった時に、 自分が実装したAutolayoutのコードを見て、AppleのエンジニアがHuman Interface Guidelinesを確認していました。(幅と高さが最低いくつ必要かというのを確認してたっぽい)

The Bash

最終日前日には、酒が飲めたりライブ見たり遊具ありのパーティーがありました。 会場近くの屋外広場で開催されてました。

開場直後のステージ

Fall Out Boyが演奏してました。チケット手に入れる手間もなく観られてよかったです!

Fall Out Boy on Apple Music

www.setlist.fm

トラブル

荷物検査の後、iPhoneを失くしかける

荷物検査の後、ゲートに移動したらiPhoneがないことに気づきました。 荷物検査のところで失くした場合、係員に伝えると探してくれます。 iPhoneの場合、指紋認証でアンロックして写真アプリを開いて、自分の写真を見せるように言われるので、セルフィーなど一枚残しておくと良いです。

その時、別のiPhone持ちながらiPhone失くしたって伝えたので、「持ってるじゃない」言われたりしました。

ホテルの差し込み型のカードキーでドアが開かなくなる

Fairmontホテルは、差し込み型のカードキーなんですが、滞在2日目の夜くらいから開けにくくなったのでフロントにいって交換してもらいました。 その時、ID(旅行客の場合パスポート)を見せるように言われたため、パスポートは肌身離さず持っておいた方が良いと思いました。

ホテルのWi-Fi/ポケットWi-Fiが繋がりにくくなる

WWDCの会場にいる場合は良いのですが、ネットに繋がらないと色々辛くなります。なのでプリペイドSIMを出発前か現地到着後に購入しておくと良いと思いました。 現地調達する場合、T-MobileストアとかSIMを購入できる場所がどこかにあるはずなので見つけて購入すると良いでしょう。

下のような感じで色々と辛くなります。

  • Labの予約ができなくなる
  • 宿泊先が遠いのに、Uber/Lyftが呼べない
  • はぐれる

まとめ

滞在中は、サンノゼ空港から宿泊先のホテルまで、$26と吹っかけられたり、(スルーしてLyft使いました$15.5)

下記のイベントに参加したり

www.meetup.com

スポーツバーで、偶然NBAの試合見たりしました。 Warriorsが逆転勝利して盛り上がってました! NBA | Games: Warriors at Cavaliers

色々ありましたが、WWDCに参加できて本当によかったと思います。 まだいったことがない人がいれば是非参加することをオススメします。