-
WWDC Daily:Day 5
さらに強化されたSwift。本日は、Swiftに関する最新アップデートの詳細と、コード作成にもたらされる可能性について、スペシャルゲストを迎えて詳しく説明します。Swiftでのアプリ開発を始めるうえで、今が絶好の機会である理由もご紹介します。
リソース
-
このビデオを検索
さあ 始めましょう Dub Dub Dailyへようこそ 今日はWWDC26最終日です 素晴らしい1週間でした 今朝は さらに2つのグループラボがあります ご存じの通り グループラボは すべてオンデマンドで視聴できます いつでも好きな時にご覧ください WWDCを締めくくる前に ぜひ お聴きいただきたいセッションがあります Swiftは期間中ずっと注目のテーマでしたが Holly Borlaはまさに このテーマの 締めくくりに最適な人物です Hollyが今週初めに私の同僚のJeffと 対談した時の録画を どうぞご覧ください あなたは Swiftチームの エンジニアリングマネージャーです 今年は多くのことがありました ご自身のミー文字と思われるスライドで こう述べていましたね 「今年のSwiftはデベロッパが 最も大事なこと つまり―」 楽しむことに集中できるよう 設計されている」と 詳しく教えてください はい 私にとってそれは 2つのことを意味します 1つ目は 本当に 明快で美しいコードを書けることです Swiftでコードを書く時はいつも 書き終えてから 自分の書いたコードを読んでみて 本当に誇りを感じます もう1つは 正しいコードを書いているという 確信を持てることです これについては コンパイラがミスを見つけてくれるのが 非常に大きいです 明快で美しいコードを書けるようにする上で 私たちの目標とすることの1つは 摩擦が生じる箇所を 日々のコーディングから 取り除くことです Swift 6.4におけるアップデートの多くでは 摩擦が生じる箇所を取り除いて デベロッパの邪魔にならないようにし アイデアを明快に美しく 表現する作業に集中できるように サポートすることを目指しています デベロッパが今年まず気づくのは 何だと思いますか? 実は 多くのアップデートにはデベロッパの 大半が気づかないかもしれません 言われてみて初めて 問題が解消されたと 気づくことはよくあります 例えば Swiftのsome型とany型を optional型と一緒に使う方法が 大幅に簡略化されました 以前は 括弧を使った 少し長めの構文が必要でしたが 今では デベロッパなら当然こう書きたいと 思うようなコードが 問題なく動作します この改良は Swiftコードを書くデベロッパの 体験をスムーズにするものですが 気づかない人もいるかもしれません でも こうした細かい改良の積み重ねが 日々のSwiftコーディングの 生産性を大きく向上させます 同様に 並行コードのdeferブロック内での asyncメソッド呼び出しにも 以前は制約がありました コンパイラがそれを禁止していたのです 今では期待通りに動作します asyncコードを 関数本体の他の部分での場合と 同じように呼び出せます これについても 以前の制約を知らなければ 変化に気づかないかもしれませんが できなかったことが可能になったのです 自然に書いたコードがちゃんと動いて 先に進むことができ いちいち対処する必要がなくなったのです 引き算による足し算ですね ええ 以前の問題に気づかないほど うまくいく それが一番です 素晴らしいですね 今年は目に見える変化がたくさんあります 水面下で起きていたり 表面からは 表からは見えにくかったりするけれど あなたとチームが 誇りに思うことがありますよね コンパイラ開発の中で 私が特に注目している分野の1つは 派手なSwiftの新機能ではなく 診断メッセージの改善です つまり コンパイラが出す エラーメッセージを改善することです これはとても重要な分野だと思っています エラーメッセージは Swiftコードを書く際に 得られる 主なフィードバックだからです 自分が使うSwift機能を深く内面的に理解し 何がうまくいくか いかないかを 体得するのに役立ちます それに エラーメッセージが分かりにくかったり コードをどう修正すればいいか すぐに分からなかったりすると デベロッパには 大きなストレスになりかねません 今年のSwift 6.4では 診断に関する 非常に幅広い種類の改良があります 一部は 現在および今後 診断を向上させていくための 基盤となるような改良です コード内で診断を制御する方法も増えました 私のお気に入りの新機能の1つが @Diagnose属性です コード内の警告の動作を制御できます 例えば 非推奨に関する警告を抑制したり 厳格なメモリ安全性診断や 厳格な並行処理の安全性診断を より細かい粒度で実行したりできます これは Swift 6言語モードへの 移行の際などに役立ちます 全体的にコントロール性が向上し 診断全般も改良されています SOTUで面白い場面がありました あなたは 改善された 特定の問題について触れていましたね その問題について教えてください お話しのエラーメッセージは 「コンパイラが妥当な時間内に この式の 型チェックを実行できません」ですね Swiftをある程度書いたことがある方なら きっとこのメッセージを 見たことがあるはずです これはコンパイラの型チェッカーの フォールバックです 型推論やオーバーロード解決などを 行うサブシステムで 関数を呼び出す時に 利用可能な多くのオーバーロードの中から どの関数を呼び出そうとしているかを 判断します また 実行時間の概算値と システムが使用するメモリの両方に パフォーマンス閾値があります これらの閾値を超えると このフォールバックエラーが出ます これは本当にストレスです コードは正しいけれど コンパイラがタイムアウトしたのか コードにミスがあって より詳細な診断を提供するために タイムアウトしたのか 分からないからです これは 私たちが継続的に 改善に取り組んできた問題です デベロッパ体験を改善するために このエラーメッセージが 実際に表示される機会を 減らそうとしてきました 今年は この問題がよく発生する ネストされたクロージャと SwiftUIのビュー本体での エラーの軽減に注力しました まだ改善の余地はありますが オープンソースのSwiftプロジェクトで 進捗を確認できます 改善のためのすべての作業は そこで行われており ロードマップや最新の進捗状況を 投稿しています この取り組みは デベロッパの体験を 改善する上で非常に重要だと考えています このエラーが出ると 何をすればいいか判断するのが 本当に難しいからです 今年も注目の展開が多数ですね デベロッパに一番試してほしいのは? デベロッパのみなさんに コード内の診断の動作を制御するための 新機能を試してもらえるのが とても楽しみです ワークフローのさらなる改善に つながる可能性があると思います 特に あるタイプの診断 例えば 厳格な並行処理の安全性の診断への 移行の際に有効であり Swift 6言語モードへの 移行戦略に役立ちます デベロッパのみなさんが そうした移行に この機能を活用してくれるのが楽しみです 私の好きなことの1つは 記事やブログ投稿を読んだり カンファレンスの講演を 視聴したりすることです こうした場で デベロッパのみなさんは 移行の様々な戦略や 自分のコードベースでの Swiftの機能の 効果的な使い方を共有しています そうした情報から学ぶことには 本当に価値がありますし みなさんが コミュニティ全体に知識を 共有してくれること自体も嬉しいです HollyとJeff ありがとうございました WWDCの1週間のまとめに ふさわしい内容でした 学びはここで終わりません 世界各地で開催される WWDCを振り返るアクティビティに参加して 新しく発表された内容が ご自身のアプリや ゲームにどう役立つか確認しましょう developer.apple.com/jp/eventsでは オンラインと対面形式の最新のセッション、 ワークショップ、ラボをチェックできます 同イベントはベンガルール、クパティーノ、 上海、シンガポールのデベロッパセンターや 年内にオープンするベルリンの デベロッパセンターでも開催されます 詳細はApple Developerを フォローしてご確認ください さて Xcodeでエージェントが 何を作ってくれたか見にいかないと WWDCにご参加いただき ありがとうございました みなさんの次の作品が楽しみです またお会いしましょう
またお会いしましょう
-