iOSDC 1日目に参加してきたよ
今日がiOSDC 1日目でした。
例年は早稲田大学のキャンパスで開催されるんですが、今年はオンラインで開催されました。動画はYouTubeライブだと思っていたんですが、ニコ生とDiscordでの配信でした。正直、普段Discordを使わないので操作の方法が分からずにトーク部屋に入った時に音声が聞こえてきた時は結構テンパったりしました。
見ていたトークとその感想
かっくんさんのLTでした。Catalystは全くリサーチできていませんので、Catalyst対応ってどれくらい大変なんだろうというのが見るキッカケでした。
ライブコーディングを動画に納めて編集されていたので高速感が伝わってきました。そろそろmacOSもできるようになりたいのがiOSエンジニアの本音ですが、見ていてやっぱり難しそう。動画のクオリティがとても高くあとで復習しないといけないなぁと思いました。
trackAと迷っていたんですが、ツイッターでの盛り上がりを確認してちょっと見てみたい感が出てきましたので後半はこちらに移動しました。
トークセッションも非常に勉強になったのですが、特にask the speakerでの質問と回答が非常に参考になりました。やっぱり、CombineがAppleの後発でまだ不安定な部分もあるらしいのでわざわざこのタイミングでCombineに移行する必要があるのかというのが内容でした。RxSwiftのまま使っても良いかどうかなどの質問が挙げられていました。
今使っているプロジェクトもRxSwiftなので非常に当事者意識になる質問でしたが、僕の意見は短期的にしばらくはRxSwiftでいいかもしれませんが、早めにCombineに移行したほうが良さそうという回答になります。確かにこれだけRxSwiftが浸透した中でさらにCombineの方がまだ情報量もそれに合った設計も不透明な中で導入するのは非常にリスキーなんですが、Appleの今までの唯我独尊ぷりを考えるとおそらくあと2,3年もすればCombineでないと色々不都合なAPIが出てきたり、使ってることを前提にした新機能を出してくる可能性があるんですよね。
ちなみに僕は早くCombineに移行したい派で、既に今年3月に別件でUIWebViewからWKWebViewにしたときにRxSwiftに痛い目を見ました。RxSwiftとWKWebViewなんて関係ないじゃんと思うはずなんですが、3月までRxSwiftは脱UIWebViewができておらず、ギリギリまでRxSwiftに対応したバージョンをリリースしてこなかった前例があったので今後もそういうリスクがはらんでるだろうなと思うわけですね。
さらにそこから何かしらでWKWebViewとRxSwiftの相性が悪くなった時はどうすべきなのかも現地点での心配事なので、そんな心配をしなくていいCombineに移行したいなぁと思いました。
あとはRxSwiftが今後もコミュニティで継続的にメンテナンスされるのかという心配もありますよね。
いいですね。Flutterのトークセッションでした。ただランチ中だったので前半部分を見逃しましたので後半だけ視聴しました。じゃらんの中の人のトークでした。
よくある事例のiOS/Android同時並行のプロジェクトではなく、Android先行のプロジェクトだったみたいで自動的にマテリアルデザインを前提にした開発になった模様でした。業界では数少ないFlutterモジュールをXcodeに移植させると行ったadd-to-appの技術を使った開発ですね。途中から視聴しましたのでiOSの方は新規からだったのか既存からの移植だったのか知りませんが、非常に知見の貯まったトークセッションのイメージです。
いやまあ、話を聞いてて最新の技術であるadd-to-appを導入するのでなかなかのリスクを背負っているなぁという印象でした。いろんなバグがありそうなので。
ですが、今後はadd-to-appでどんどんFlutterに移植されていくような気がします。それに対抗する意味でApple側はSwiftUIでiOS独自の新機能を提供していくんではないか?というのが僕の予想です。
あとはまあFlutterの学習コストについて質問がありましたが、まともなiOSアプリエンジニアだったら寧ろFlutterの方が楽できるのではないかという印象です。学習コストは1ヶ月ぐらいで本1冊熟読したらできるようになるようなコスト感ではないかなと。
あとFlutterの動画コンテンツが非常に充実していて、(海外ですが、)YouTubeの無料動画を見ているだけでも十分できるようになる気がします。なんと言っても、UIKitでも難しいDelegateやDataSourceの考え方を理解していなくても本の10数行程度のコードでUICollectionViewのようなレイアウトができたりデザイン崩れが起きたりしないのは優秀かなと思います。
あとは普通の開発ではAdnroid Studioでの開発になる気がしてて、毎年重くなるXcodeのアーカイブに時間を取られることがなくなるので開発上のストレスも減りそうです。
まだこれで前半のパートなんですけど、この時点で集中力が切れてしまって午後のパートの動画の感想が薄くなってしまいましたのであんまり覚えていません。
ということで次はざっくりiOSDCがオンラインになってくれてよかった点について紹介しようと思います。
これは移動の時間がないのが大きいです。
カンファレンスが終わったらすぐ家にいる状態なので、ブログを書く時間を確保できます。今、黙々と文章書いています。
オフラインだと、「大学キャンパスまでの移動時間」「実際のトークセッションを聞く時間」「帰り道の時間」で肉体的疲労が溜まって、家に帰宅する頃には体力が残っていません。そこから夜遅くまでブログを書くのは毎年ツラミを感じていました。今年はこの疲れがないので書くネタもじっくり考えられます。良きですね。
また、ニコ生でのトーク配信なので好きな時にトイレ休憩したり他の事もできるので変に集中力が偏ったりすることもありませんでした。それでも最後まで集中力は持ちませんでしたけど。
あとはトイレの時間も自由なので、これも地味に良かったです。適度なタイミングでDiscordで雑談をリラックスしながら聞けたりしますね。
ということでスタッフの皆様は明日もあって大変だと思います。明日まで応援しています。
最後に自分の個人ブログのリンクを張って終わりにしたいと思います。