マガジンのカバー画像

WWDC 20

46
WWDC 20に関するnoteを発見次第まとめます。 有志で手伝ってくれる方募集。
運営しているクリエイター

#WWDC20

忙しい人向けの App essentials in SwiftUI - #WWDC20

忙しい人向けシリーズの第16弾。

冒頭今年の SwiftUI では Scene と App が追加され、SwiftUI だけで完全なアプリを開発できるようになった。

今日のアジェンダ。

Views, scenes, and appsまずは View について。

アプリ上で目に見えるものはすべて View であり、画面上のピクセルは何らかの View によって提供されたもの。

しかし、iP

もっとみる

忙しい人向けの Embrace Swift type inference - #WWDC20



冒頭以下の構成で見ていく。

Leveraging type inference型推論とは、明示的な型指定を省略できる仕組み。ここでは x の型を指定していないが、コンパイラによって右辺の文字列リテラルから推論される。

型を明示的に指定するには「: (コロン)」のあとに指定するか・・・

as キーワードで指定する。

スムージーの一覧に検索機能を追加する例を見ていく。

現状のコードはこう

もっとみる

忙しい人向けの Data Essentials in SwiftUI: Part 1 #WWDC20

データ設計SwiftUI で View を作るときに3つの質問が役立つ。

・必要としているデータは何か?
・どのようにデータを操作するか?
・データはどこから来るのか(Source of Truth)

データモデルの設計において、最後の質問がもっとも重要。

データを操作しない View は状態を let プロパティで宣言でき、Source of Truth は親ビューが BookCard を

もっとみる

忙しい人向けの Design great widgets: Part 1 - #WWDC20



・Part 1(この記事)
・Part 2

冒頭iOS 14 でウィジェットは完全に再設計された。これまで以上に最新かつ文脈(コンテキスト)に基づいた情報が表示されるようになった。

ホーム画面に直接追加できるようになった。

スマートスタックは複数のウィジェットを1つにまとめて表示でき、フリック操作でローテーションできる。

さらにスマートスタックは、ユーザの行動とコンテキストに基づいて、

もっとみる

忙しい人向けの Design great widgets: Part 2 - #WWDC20

Part 1 からの続き。

次に、作成について見ていく。

Sizes and Interactions

ウィジェットは、Small / Medium / Large の3つのサイズをサポートする。

Small は、アプリで最も役立つコンテンツが、実際にどれくらいで収まるかという制限でデザインした。

Small はシングルタップをサポートしており、アプリへの Deep Link が行える。

もっとみる

忙しい人向けの Distribute binary frameworks as Swift packages - #WWDC20

冒頭
Xcode 11 ではソースコードベースのライブラリを配布するために Swift Package がサポートされた。また、バイナリベースのライブラリを配布する良い手段として XCFramework を導入した。

Swift Package でバイナリベースのライブラリを配布できるようになった。

利用する

バイナリのライブラリでも、ソースコードのライブラリと同様に Xcode プロジェク

もっとみる

忙しい人向けの Build document-based apps in SwiftUI - #WWDC20



ドキュメントベースのアプリとは人々は Mac の Finder や iOS の File アプリを利用してファイルを管理してきた。

これらは、その場でシームレスにアプリを開いて表示・編集できることを期待する。

Pixelmator など一度に複数のファイルを開くことができるものもある。このようなドキュメントの管理を行うアプリのことを『ドキュメントベースのアプリ(document-based

もっとみる
忙しい人向けの #WWDC20 まとめ

忙しい人向けの #WWDC20 まとめ

WWDC20 のセッションについて、忙しい人が短時間でキャッチアップできるように要約(意訳)した記事をまとめたものです。セッションの流れをそのまま追うような構成にしています。

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

忙しい人向けの Embrace Swift type inference

忙しい人向けの Explore logging in Swift

忙しい人向

もっとみる

忙しい人向けの XCTSkip your tests - #WWDC20



冒頭とくにインテグレーションテストにおいて、簡単にはモックできない要件や依存関係がある。例えば、iPad 特有の機能は iPhone ではテストできないし、メンテナンスのために定期的にオフラインになるサーバのテストも難しい。これらはいずれも実行時にしか判断できない。

テストの実行条件を満たさない時に、早期 Return または失敗させる方法が考えられる。どちらも欠点があり、前者はテストしてい

もっとみる

忙しい人向けの Design with iOS pickers, menus and actions: Part 2 - #WWDC20

パート1からの続き。

日付ピッカー

これまでの日付ピッカーは以下のようなデザインだったが、

iOS 14 では以下のような新しいデザインになった。

リマインダーは新しい日付ピッカーの利用例としてよい。水平方向にスワイプして月を変更したり、

年月を選択できる。

時刻はテンキーで入力するようになった。

インラインで表示する例を見てきたが、コンパクトモードではボタンタップ時にモーダル表示す

もっとみる

忙しい人向けの Design with iOS pickers, menus and actions: Part 1 - #WWDC20



・パート1(この記事)
・パート2

冒頭iOS / iPad で利用可能な新しいコンポーネントを紹介する。

メニュー

どのボタンからでもメニューが利用できるようになった。iOS 13 以前におけるコンテキストメニューのようなもの。

アクションシートは iOS の初期からあったが、画面が大きくなるにつれて欠点も見えてきた。

・背景が暗くなるため、大画面では遷移が重くなる
・ラベルが短く

もっとみる

忙しい人向けの Handle interruptions and alerts in UI tests - #WWDC20



UI割り込みとは?UI割り込みとは、UIテストにおいてアクセスしようとしている要素を予期せずブロックする要素のこと。この例では、バナーは TableView の行を隠さないため詳細画面へは遷移できるが・・・

戻るボタンが隠れてしまうので、詳細画面から一覧へ戻ることはできない。このケースではバナーはUI割り込みとみなされる。

UI割り込みの例としては、バナー・ダイアログ・他のウィンドウ、など

もっとみる

忙しい人向けの Explore logging in Swift - #WWDC20



冒頭・ユーザは高品質で安定したアプリを求めている。
・再現が難しいバグは修正が難しい。
・ログは再現できないバグを修正するのに役立つ。

例として、稀にしか発生しない読み込みエラーなど。

新しいロギングAPIXcode 12 では統一された新しいロギング API が追加された。OSによってアーカイブされ後で端末から取得できる。パフォーマンスも良い。

サブシステムとカテゴリを指定して Log

もっとみる

忙しい人向けの Formatters: Make data human-friendly - #WWDC20



冒頭私たちは様々なデータを表示するアプリを利用しているが、単位・形式が正しく表示されることは非常に重要。

フォーマッタは日々改善されており、より地域に適したフォーマットが行われるようになっている。このケースでは UAE の例だが、汎用的なアルゴリズムとして何百もの言語・地域に渡ってフォーマットが改善される。

今日はこれらのセクションに分けて解説していく。

Date and timesDa

もっとみる