#WWDC20 Meet WidgetKit

#WWDC20 Meet WidgetKit

⚠️この記事には、WWDC20の非公開情報を極力含めない形で記載をしていますが、
Apple Developer Programの登録/NDAを契約していない方は、
そちらの登録を完了した後、こちらの記事を閲覧してください。


前置き

今年も #WWDC20 が開催され、様々なアップデートが発表されました。

今年の発表は、会社のiOSチームメンバー総員でオンラインで開催されるWWDCをウォッチし、新しい情報のキャッチアップに各メンバーが主体的に動いています。

ぜひこちらの記事もご覧ください😃


Widgetsについて

今回の #WWDC20 の発表で、個人的にとても興味をもったものが、
 #AppClip と #Widgets です。

ほかにもエンジニア視点ではIDFAの変更など、開発やアプリ運営に関わる大きなアップデートもありましたが、ユーザエクスペリエンスに大きく影響を与えそうなのがこの二つではないかと思います。

Widgets は Android を使用している方にはお馴染みのUIかと思いますが、iOS13まではホーム画面からは隠れたメニュー内にのみ表示されていました。


※iPad Proではウィジェットの一覧をホーム画面に反映できていましたが、ウィジェットがフロントで見える機会は総じて局所的だったと思います。

しかし、今回の #WWDC20 で App の Widgets をホームスクリーンに設定できるようになります。

※WWDC20 Keynoteより

ドキュメント


Widgetsの種類

ホーム画面に設定できる Widgetsの種類は3種類となります

- Small

- Medium

- Large



Widgetsでできること

1. 各種大きさの WidgetsをAppで実装でき、ユーザはホームスクリーンから Widgetを新規追加可能。(画面編集モードでヘッダー左部に `+`アイコンが表示される模様)

2. スタイルはナイトモードにも対応

3. Smallサイズの Widgetsではシングルタップのみ。Medium, Largeの Widgetsでは、各種タップアクションが指定可能。

4. Widgetをロングタップすることで、Widgetの編集や削除が可能。

5. Mac OSでは通知センターにも活用可能。


Widgets実装時に留意しないといけないこと

1. 実装はSwiftUIで実装する。

2. 基本extensionの実装を行えば実装自体はそこまでハードル高くなさそう。

3. タイムライン表示時用に Placeholderの設定が必要(Viewにアイコンやテキストなどが設定されていない空の状態のUI定義)

4. TimelineReloadPolicy を活用して Widgetsの更新スケジュールを設定する。

5. Widgets自体のコンセプトを持って実装しないとApple Reviewで弾かれる可能性がある。

(公式ドキュメントより)Avoid creating a widget that does nothing but launch your app. People appreciate widgets because they provide instant access to meaningful content, not because they provide another way to open your app.

6. 通信処理など基本的な処理はサポートされているが、秒単位での変更などフレキシブルな変更処理には向かない(ここは実装しながら肌カンを得たいところ。)

(公式ドキュメントより)Widgets are not mini-apps

まとめ

Betaとして発表されたばかりのWidget。他のiOSエンジニアの方々もWidgets の活かし方を今後模索していくものと思います。

まずは自社の note で良いWidget体験をユーザへ提供できるよう、いろいろチーム内で模索していきたいと思います。

直近の note iOS Appでは アクセス状況 のリリースしました。

こちらを Widgetsを使って表示できると面白そうだな!と個人的に感じています。ぜひ今後の note iOS appのアップデートをお楽しみに♪


この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
kazyam

読んでいただき感謝です!

ありがとうございます!
Smartphoneのアプリ作ったり、ロードバイク乗ったり、本読んだりする人。 By understanding the word we can open up a new world without barriers.