見出し画像

【座談会】noteのiOSエンジニアはWWDC24をどう見たか

Appleは今年もWWDCを開催し、多くの新機能を発表しました。

先日、noteのiOSチーム内でWWDC24をふりかえる座談会を行いました!
こちらの記事ではその座談会の模様をお伝えします。

※ この記事はnote株式会社のアプリチーム1weekアドベントカレンダーの5日目の記事です

iOSチームのプロフィール紹介

金子
サーバーサイドエンジニアからキャリアをスタートし、2015年頃からiOS/Androidアプリの開発をメインにしつつ、ここ数年は並行してマネージメント業務も行うことが多い。2024年2月にnoteに入社。

西本
新卒で株式会社 Zaim にiOSエンジニアとして入社。2022年4月にnoteに入社。iOSDC 2024にて「ノートアプリにUndo機能を実装! UndoManager導入ポイント」というタイトルで登壇予定

中島 (この記事の編集担当)
新卒で金融系SIerにシステムエンジニアとして入社し、2019年にiOSエンジニアへキャリアチェンジ。2021年11月にnoteへ入社。iOSDC 2024にて「StoreKit 2によるモダンなアプリ内課金」というタイトルで登壇予定

全体的な印象

中島:
それではよろしくお願いします。まずは今年のWWDC全体の印象について話しましょうか。全体的にはマイナーアップデートの年だったかなという印象です。ただSwift Testingなどの嬉しい改善点もいくつかありましたね。

金子:
確かに大きな変更は少なかったですね。iOSとAndroidの差が縮まってきているという印象がありました。あとはAI系の機能を強く推してたのと、言語的にはSwift 6は久々に大きなメジャーアップデートだなと感じました。

西本:
Apple Intelligenceは新しいですが、それ以外はWWDC前に情報が出ていたものが多かったですね。あとはApp Intentsが拡充されたというのもありますね。

中島:
App Intentsは開発者間で話題になっていて、将来的にAppleはアプリを開かずに、SiriやShortcuts経由で機能を使える未来を描いているのではないかという解釈があって、なるほどと思いました。

金子:
ただApp Intentsもどういうユースケースで活用すればいいか難しいなと感じました。

西本:
そこが難しいですよね。Intentを雑につくっただけでは誰も使ってくれない。たとえばSpotlight検索でnoteの記事も探せる、みたいなことができれば強いですが、実現性は厳しいだろうな、と。

SwiftUIのアップデートが嬉しい

中島:それではここからは個別に気になったトピックを深掘りする時間にしましょうか。

金子:
SwiftUIは、トランジションの強化やグラデーションの作成が容易になったのが良かったと思います。以前から求められていた改善点が多く取り入れられていた印象です。でも、多くの改善がiOS 18以降でになるのが惜しいですよね。

Swift Testingが良さそう

中島:
評判がいいのはSwift Testingですかね? XCTestでイマイチだった記述がすっきり書けるということで。

西本:Concurrency周りの記述が大幅に改善しましたね。Swift TestingはOSS開発なので、ちゃんとアップデートしてくれそうなのも良いポイントです。

中島:
悩ましいのは、既存をどこまで書き換えるかですね。新規のテストコードはもうSwift Testingで書くとしても、既存全書き換えはしんどいなあと。

西本:段階的にでも書き換えていくのがいいと思います。書き換えるとだいぶシンプルになるので、元のテストコードの漏れが発見できたりするかもしれません。

Xcodeの改善

西本:
XCTestからSwift Testingの書き換えって、Xcodeのリファクタリング機能でやってくれないんですかね?

金子:
まあテストはAIがテストコード書いてくれるようになるようになるんだと思いますが。

中島:
そうなって欲しいですね。

金子:
そういえばXcode 16のAIによるコード補完機能って試せてないんですが、かなり期待してるんですよね。どれだけ賢いかはやってみないとわからないんですが、Appleがコードを機械学習に使わないという明言をしているので、iOS開発者としてはプロダクトコードに対して心置きなくAI活用できるありがたさがあるのかと思います。

SwiftDataが大きくアップデートされなかったのが意外

金子:
SwiftDataって去年発表されて、何か大きなアップデートあるかと予想してたんですが、あまりなかったんですよね。

中島:
セッションには『SwiftDataの新機能』というタイトルがありますが、アップデートないんですね。ちょっと中身見てませんが。

金子:
一応アップデートはあるんですけどね。なんか思ったほどでもないなと感じました。

中島:
あんまり話題になってないですね。

金子:
SwiftDataをプロダクトで使えてるとこがあまりないのかもしれませんね。

iOSの機械学習で何かできないか

西本:
Core MLの進化についてはどうですか? アプリに埋め込みやすくなった印象なので、何かできないかと考えてるんですが。読んだ記事を学習してリコメンドする、みたいなことができればいいんですが、リコメンドする記事データをどう端末まで持ってくんの?という問題になりそうです。記事を書くときの方がまだ使えそうですかね?

中島:
現状、noteのAIアシスタントはAPI叩いてますが、iOSネイティブの何かで置き換えられるかもしれませんね。

Swift 6への移行方針を公式が示してくれた

中島:
あとSwift 6への移行で1セッション丁寧にやってくれたのは良かったですね。『Swift 6へのアプリの移行(※)』というセッションです。Swift Concurrencyの対応はみんな迷える子羊状態だったと思うので、何気に一番良かったかもしれません。

金子:
内容は一度見ただけだと厳しいですね。じっくりキャッチアップしないといけない内容でした。

中島:
そうですね。ワーニングがたくさん出てもパニックになるなと忠告してるシーンは面白かったです。

金子:
人によっては、Swift 2から3のときぐらいのインパクトがあると言ってる人もいますね。あのときはもっとひどかったような気がしますけど。

西本:
変更の過激さはそこまでではないんでしょうけど、開発者の扱ってるコードベースがそのときより圧倒的に大きくなっているので、その差は大きいのではないでしょうか。

金子:
つらいところですが、丁寧にやっていくしかないですね。

visionOSの可能性と課題

金子:
visionOSはどこかで試してみたいですね。

中島:
今のnoteアプリだとiPadアプリがそのまま表示されるだけです。

金子:
visionOS上で最適化された体験の実現が課題になりそうですね。

中島:
AppleがやってるVision ProのDeveloper Labに行ったときに感じたんですが、個人で持ってるMeta Quest 2の画質と比較して、めちゃくちゃきれいだったので、Vision Proなら文字読めるかなという感覚でした。

金子:
たとえば、音声やビジュアル、BGMなどを活用することで、没入感のあるコンテンツ体験が提供できそうです。ただ開発の難易度が上がることも予想されます。

中島:
確かに、visionOS上でのアプリ体験を最適化するのは簡単ではなさそうですね。UI/UXの正解もまだよくわからないですし。アプリ開発者にも、ゲーム開発に近いスキルが求められそうです。

西本:
でも、visionOSならではの新しい体験を生み出せる可能性もありますから、挑戦してみる価値はありそうです。

UITextViewの新機能

中島:
note的に大きいのは、UITextViewのWriting Toolsとか、リッチテキストのサポートですかね。

西本:
noteアプリへの導入には課題がありそうです。

中島:
アプリ上のエディタで編集して、はい終わりっていうアプリじゃないと厳しいかもしれませんね。

西本:
あとUITextViewを複数持っている設計のアプリだと、導入しづらいことが予想されます。

まとめ

中島:
WWDCを通じて、iOSの今後の方向性や開発者の関心事が見えてきました。新機能への期待と課題を踏まえつつ、iOSアプリ開発の動向から目が離せませんね。

金子:
そうですね。新しいフレームワークやツールを活用しながら、ユーザーにとって価値のあるアプリを開発していくことが、私たちの使命だと感じます。

西本:
技術の進歩に合わせて、自分たちのスキルもアップデートしていく必要がありますね。WWDCで得た知見を活かして、より良いアプリ開発につなげていきたいです。

編集後記

座談会では、各トピックについて活発な議論が交わされ、iOS開発の未来に思いを馳せる貴重な機会となりました。新しい技術やフレームワークに翻弄されることなく、ユーザー視点に立ったアプリ開発を追求していく姿勢が、3人の話から強く感じられました。WWDCで得られた知見を糧に、iOSアプリ開発のさらなる進化に期待が高まります。

▼noteの技術記事が読みたい方はこちら