忙しい人向けの What's new in Swift - #WWDC20

画像27

パフォーマンス関連

バイナリサイズ減ったよ。画像1

ランタイムが使用するメモリ減ったよ。画像2

Swiftの標準ライブラリをFoundationより下の層に移動したよ。(であってる?)画像3

改善点

より親切な修正提案・エラーメッセージになったよ。画像4

コード補完がさらに賢くなって、画像5

高速にもなったんだよ。画像6

Xcodeでのインデント改善されたよ(guard-let とか)。画像7

デバッグ時の型情報がより取得できて、変数ビューの信頼性が上がったよ。画像8

プラットフォームサポート

5.3 で Windows が公式サポートされるよ。
画像9

AWS Lambda の公式ランタイムできたよ。
画像10

言語機能

SE-0279:Trailing Closure を末尾以外でも書けるようになったよ。
画像11

SE-0249:KeyPath を関数として渡せるようになったよ。
画像12

SE-0281:ライブリ提供者は static な main 関数を実装することで、
画像13

@main でエントリポイントを用意できるようになったよ。画像14

SE-0269:Lifecycle的に問題ない場合、クロージャで self を省略できるようになったよ。
画像15

SE-0276:catch で複数のパターンにマッチできるようになったよ。
画像16

SE-0266:enum で Comparable も自動実装できるようになったよ。
画像17

SE-0280:Protocol 上の static な var / func について、enum の case でも実装できるようになったよ。
画像18

SwiftUI の Function Builders で if / if-else に加え、if-let / switch も利用できるようになったよ。画像19

Protocol から推論できる場合、Builder 用の属性(ここでは@SceneBuilder)を省略可能になったよ。画像20

Float16 がサポートされたよ。画像21

Frameworks

System は OS の低レベルAPIをラップしたものだよ。画像22

OSLog は高速になって、API も改善されたよ。 
画像23

Swift Numerics は算術計算用のライブラリだよ。
画像24

ArgumentParser は CLI を作る時に便利だよ。
画像25

StandardLibraryPreview は公式リリースされてない Swift の機能を利用できる仕組みで、SE-0270 から対応してるよ。
画像26

免責

・本記事は公開情報のみに基づいて作成されています。
・要約(意訳)のみなので、詳細はセッション動画をご確認ください。

役に立った記事などありましたらサポート頂けると嬉しいです。