こんにちは!minneのiOSエンジニア、ジョシュです!今年、AppleのWWDCに当選し、会社から費用を出してもらえたので、参加レポートや印象などを共有します。
まず、WWDCは、Appleが毎年開催しているWorldwide Developers Conferenceで、iOS、macOS、watchOS、tvOSの新機能を披露して、開発者向けの新情報や開発のベストプラクティスを共有するイベントです。最近のWWDCは、カリフォルニア州サンノゼ市で行われ、約6,000人が参加されます。
今回私が応募した目的は、主に下のとおりです。
- 技術面:Appleエンジニアにパフォーマンス最適化や複雑なビューのいい組み方について相談する
- デザイン面:Appleデザイナーからに特定の画面のデザインアドバイスを聞く
- マーケティング面:App Storeでダウンロードを増やすためのアドバイスを聞く
- 上記3面の最新の情報を発表形式で直接聞いて、弊社で共有する
Keynote当日
私は、元々アメリカ出身なので、英語はまあまあできるのですが、サンノゼは初めてでした。まず、アメリカに飛んで、WWDC前日に着きました。午前5時くらいから並んで、iOSやmacOS界隈のエンジニアと話しながら、キーノート(基調講演)を待ちました。
会場まで進んだら、Appleからパンやコーヒーをもらって、朝食が食べられます。また、Apple Storeの店員が大量にWWDCでアテンドしていて、なんといっても元気で、「WELCOME TO WWDC!!!!」と大きな声で迎えてくれました。朝早くから並んでいるので、待ち時間が大変と思いきや、色々な人と話せて、楽しいので、あっと言う間にでした。
Appleは毎年WWDCのKeynoteで全プラットフォームの新機能を披露して、時々ハードウェアも発表するのですが、今年は特別でした。まず、Apple最高経営責任者(CEO)のTim Cookがステージに出て、開発者に感謝の言葉を伝えてくれてから、各OSの新機能が発表されました。それから高スペック(& 高額)なMac Pro、そしてProject Catalystが発表され、最後にSwiftUIが発表されました。
開発者として、SwiftUIが衝撃的で、周りのみんなにも大受けでした。SwiftUIは、宣言的な書き方で、少ないコードを書いて、ハイパフォーマンスなアプリを気軽に作れるGUIフレームワークです。さらに、修正や変更を行って、リアルタイムにプレビューが確認できるので、開発効率の向上やフィードバックサイクルの高速化に大きく貢献します。元々、命令型プログラミングの多いUIKitに慣れていれば、SwiftUIを見て、感動するしかないと思います。Webやモバイル界隈で、React、Flutter、ElmなどのReactiveで宣言的なGUIフレームワークが色々出ている中、Appleが唯一命令型のGUIフレームワークしか出していない会社だったのですが、下の理由で、Appleがこういったフレームワークを出すには、ワクワクする理由があります。
- 今年から全プラットフォームで対応されていて、あまりにも早くで、大胆なこと
- AppleがハードウェアからOSやプログラミング言語まで、技術スタックを完全に握っているので、最適な言語で最適なフレームワークをOSに最適化したアプリが作れること
- 開発者側として、NeXT時代のレガシーな技術にほとんど依存しないこと(ベースは今そうなっている部分はあるが、将来的に廃止しやすくなっている)
- こういった大きなパラダイムシフトは何10年に一度しかやってこないこと
ちなみに、SwiftUIのコードの例は以下のとおりで、チュートリアルはこちらです。
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Hello World")
}
}
最高に面白いキーノートを見終わったら、周りの人と話しながら、ランチを食べて、次の発表を楽しみにしました。また、翌日から、Appleのエンジニアやデザイナーに相談できるラボとエンジニアによるセッション(レクチャー)があったので、とても楽しみでした。
Lab & Session
ラボで質問やサンプルコードを用意して、行列に並びました。並ぶ間、ほかのエンジニアと話したり、スタッフからシールをもらったりしました。そして、やっとAppleのエンジニアやデザイナーと話したら、様々な相談ができて、いい収穫が色々ありました。
また、セッションは後で動画で見られるので、ラボを優先しましたが、参加したセッションは、主にSwiftUIの話でした。SwiftUIとUIKitの共存方法やデータフローなど、様々ないい話があって、帰ってから、また見るものもありました。
WWDCでSwiftUI以外の新APIや変更点も数多くあったので、情報量がとても多くて、今年のテーマがちょうどよかったです→「Write Code. Blow Minds」。Blow Mindを文字通りに訳すと、「頭を爆発させる」という意味になりますが、今年の情報量がまさにそのとおりで、とても迫力がありながら、楽しかったです。
関連イベント
ラボやセッション以外にも、軽い関連イベントもあって、できるだけ多くのに参加しました。ヨガやランニングといったフィットネスイベントから、夜のパーティーまでありました。最後のパーティー(Bash)で世界的なロックバンドWeezerが演奏しました。ビールを飲んだり、プレッツェルを食べたりしながら、世界中のiOSやmacOSエンジニアと話して、ジェンガや卓球で遊びました。
最後に
WWDC 2019から帰って思ったのは、SwiftUIだけでなく、その他にも発表された新技術をどんどん触ってみて、弊社や個人のアプリで活用して、最高にいいものを作っていきたいと思いました。また、イベント終わっても、動画、ドキュメントや自分のメモを使って、SwiftUIのパラダイムに飛び込もうと思いました。
もし、SwiftUIなど、モバイル界隈の最新技術にご興味があれば、ぜひ弊社のペパランチョンに応募して、私たちと話ましょう〜