開発者の観点からiOS 14ウィジェットを表示する

アップルは、今年のWWDCでiOS 14に新しいウィジェットソリューションをリリースしました。これは、iOSデスクトップの主要な操作であり、ユーザーが感じる大きな変化の一つです。

iOS 8から、iOS向けのさまざまなウィジェットを作成してきた開発者として、この記事を使用して、iOS 14ウィジェットの違うところと私の独自のアイデアを紹介します。

注:この記事の執筆時点では、iOS 14の最新ベータ版はBeta 2であり、以降のバージョンは変更される可能性があります。
iOS 14 小组件iOS14ウィジェット

心理的ギャップ

今年のWWDCでKeynoteをじっくり見て、ユーザーレベルや技術レベルなどを初めて新しいウィジェットを試しました。 私の個人的な観点からはAppleが私に大きな心理的なギャップを引き起こしたと思います。
WWDCを見るときの気分は次のとおりです。将来的には、ウィジェットをデスクトップに直接ドラッグできるようになり、とても便利です。
しかし、iOS 14をアップグレードした後、既存のサードパーティのウィジェットを直接デスクトップにドラッグできないことがわかりました。 関連する技術文書を読んだ後、今年のウィジェットと以前に通知センターに配置されたウィジェットは完全に2つであることがわかりました。つまり、開発者はiOS 14用のウィジェットを個別に開発する必要があります。

その後、新しいウィジェットはSwiftUIを使用して制作しかできないです。これは良い面と悪い面の両方であり、Appleがこれを行ったのは初めてです。
数日間の研究と体験した結果、私は1つのことを確定しました:iOS 14ウィジェットは本質的にwatchOSのcomplicationsです。このように理解することで多くの問題を説明することができます。

良い面

新しいウィジェットは、以前のウィジェットに比べてとても楽しいことが多いです。

デスクトップに表示

以前のドロップダウン通知センターと比較して、またはデスクトップの左端にスライドして、新しいウィジェットをデスクトップに直接配置できます。

デスクトップにドラッグ&ドロップする

デスクトップに配置されたウィジェットは、アプリケーションアイコンとうまく統合できるため、ウィジェットが使用される確率は大きく増加します。

複数回追加可能

iOS 14より前のバージョンでは、アプリケーションで複数のウィジェットを作成できます。または、複数のウィジェット間にわずかな違いしかない場合があります。iOS 14の方が明らかに便利です。
iOS 14では、同じウィジェットをデスクトップに複数回追加できます。

さらに、デスクトップ上で各ウィジェットインスタンスの配置を直接完了することができます。これにより、複数のウィジェットが同じスタイルを使用できますが、データは異なります。 さらに、デスクトップで配置を完了すると、配置プロセスが大幅に簡略化されます。

JSBoxアプリケーションの開発者として、ウィジェットの個数を増やしてほしいという多くの依頼を受けました。iOS 14には存在しません。なぜなら、ウィジェットは無限に追加できるからです。

さまざまなサイズ

iOS 13のウィジェットの幅は固定されており、高さは開発者が制御でき、「展開」と「折りたたみ」を切り替えることができます。
iOS 14では、同じアプリケーションが2 * 2、2 * 4、4 * 4アイコンサイズの異なるサイズいくつかのウィジェットを提供できます。

各種仕様

アプリケーションのニーズに応じて、さまざまなサイズのウィジェットを使用して、さまざまなレベル複雑さの情報を表示できます。また、アプリケーションがすべてのサイズのウィジェットを提供するとは限らない。

スタッキング

システムは、複数のウィジェットを一緒にスタックできる「スマートスタック」ウィジェットを提供し、ユーザーは上下にスライドして現在表示されているコンテンツを切り替えることができます。 さらに、iOSはユーザーに適切な現在のコンテンツを表示するために最善を尽くします。

スマートスタッキング

さらに、同じサイズであれば、2つのコンポーネントを手動でスタックすることもできます。

ウィジェットを手動でスタックする

SwiftUI

新しいウィジェットフレームワークはSwiftUIのみであるため、SwiftUI以外のインターフェイステクノロジーを使用してビルドすることはできません。これは史上初めてです。
いい面として、SwiftUIには、インターフェース構築コストの削減に加えて、追加の利点があります。クロスプラットフォーム、もちろんこれはAppleのプラットフォームを指します。
SwiftUIでビルドされたウィジェットは、iOSとmacOSをネイティブにサポートでき、iOS 14とmacOS Big Surは同じ設計言語を持っています。これは、iOSとmacOSを統合するアプリケーションを構築する上で非常に重要な部分です。
macOSで動作するiOSアプリケーションのプロモーションに関しては、Appleが多大な労力を費やしていることがわかりますが、これは別の大きなトピックであり、ここでは詳細説明しないとします。

悪い面

ことわざにあるように、無料のランチはありません。Appleは非常に多くの面白い機能を提供しています。新しいウィジェットに何か問題があるのでしょうか。 あなたは正しいと推測しました。

より弱い相互作用能力です

iOS 14以前は、Appleはウィジェットでの複雑な相互作用を推奨していませんでした。リストのスクロールやテキスト入力など、多くの操作は禁止されています。 iOS 14ウィジェットでは、Appleはこの制限を限界まで引き上げました。相互性することはほとんど不可能です。
理解するのが難しすぎる技術的な議論に巻き込まれないようにするために、この問題をできるだけ簡単に説明します。
•これまで、ウィジェットは、AutoSleepの「ライトオフ」機能を使用してアプリにスリープ状態を開始するように指示するなど、ウィジェットは「インプレース」でいくつかのタスクを処理できます。
•その後、ウィジェットをクリックすると、対応するメインアプリケーションが確実に開き、アプリケーション内のあるページへのナビゲーションなど、主アプリケーションに情報を伝えることができます。

このような変更なウィジェットの相互作用に依存する応用に対して壊滅的な打撃です。たとえば、有名なPCalcは、ボタンをクリックした後にアプリケーションを開くため、iOS 14でウィジェット計算器を実装できません。 ランチャーなど、URLジャンプを処理するときに2回ジャンプする必要のあるアプリケーションもありますが、これは期待どおりの動作ですか?

PCalcウィジェット計算器

そのため、実際には、iOS 14ウィジェットは情報表示といくつかのリンクナビゲーションであり、このように理解すると期待を高すぎるしないです。
また、iOS 13いくつかのバージョンでは、デスクトップウィジェットがクリックイベントに応答できないという問題がありましたが、当時の開発者は一般的にバグだと考えていましたが、今は振り返ってみるとわざとそうしたかもしれません。

データをアクティブに更新できません

iOS 13ウィジェットが表示されている場合、ウィジェットは最新のデータをアクティブに取得できますが、iOS 14ウィジェットはこのように機能しません。
iOS 14では、システムはウィジェットに一連のデータを要求し、現在の時刻に基づいて取得したデータを表示します。
コードはアクティブに実行されていないため、ウィジェットは「静的な」情報を表示する傾向があります(アニメーションやビデオでさえ禁止されています)。ただし、情報は何らかの方法で更新できます。 簡単な例として、ウィジェットを介してクリップボードを記録することもできません。クリップボードツールはボタンを提供し、アプリケーションをクリックして記録を完了するには、アプリケーションにジャンプする必要があります。

iOS 13のPinのクリップボードウィジェット

弱いページ動的性

これは、SwiftUI両刃の剣のは対面です。従来のインターフェース構築方法は使用できないため、iOS 14ウィジェットのインターフェースを事前定義し、データを使用してコンテンツを埋めます。
これは多くのアプリケーションにとって大きな問題ではありませんが、動的性があるウィジェットのJSBoxにとっては弱点です。

スクリプトで作成されたJSBoxウィジェット

JSBoxの新しいバージョンでは、ビルディングブロックのようにウィジェットを構築する方が簡単になると想像できます。 ただし、作成されたページには、iOS 13のような柔軟性がないですが、テンプレート化されたスタイルになります。

ちょっとした考え

「Widgets are not mini-apps」(ウィジェットはミニアプリではありません)。これは、関連するコースでAppleが繰り返し言及した概念です。これは、開発者向けのApple設計ガイドラインでもあります。ウィジェットを小さなアプルケーションにしないでください。それら自身のアプリケーションシナリオを持っています。

ウィジェットはミニアプリではありません

Appleがこれらの制限を考慮することは、ある程度の抑制を反映しています。 ただし、開発者として、ユーザーから既存の習慣を直接奪うことに同意することは困難です。
恥ずかしいのは、ショートカットコマンドが例外であり、上記のいずれにも制限されておらず、Apple自体が提供する設計ガイドラインに従っていないことです。 もちろん、これは決して新しいものではなく、iOS 14に付属するウィジェットでさえSwiftUIで書かれていません。開発者は、組み込みウィジェットを参照してインスピレーションを得ることができますが、ファーストパーティのウィジェットと同じ効果を達成できないことに対してはおかしいとは思わないでください。

古いウィジェットはどう処理されますか

上記からはアプリケーションはiOS 13とiOS 14両方のウィジェットを同時に持てることがわかりました。それでは 新しいウィジェットの導入するときに、古いウィジェットはどこに行くのですか?
答えは破棄されるかもしれませんが、3つの理由があります。

ユーザーエクスペリエンスがダウングレードされる

iOS 14の通知センターに古いウィジェットを追加するのは非常に困難です(コンポーネントを使用するためにデスクトップアイコンを長押しすると削除されます)。デスクトップ編集モードに入り、左端にスライドして、下部の編集ボタンをクリックする必要があります。表示については古いウィジェットは新しいウィジェットによって一番下に押し込まれ、完全に「人権」がないと言えます。 また、Beta 2では、古いウィジェットの幅が新しいウィジェットの幅と同じになるように調整されているため、非常にひどく違和感があります。

ウィジェットの幅が狭すぎます

開発インターフェースは廃止としてマークされています

iOS 14開発キットでは、古いコンポーネントの開発方法が古いものとしてマークされています。つまり、推奨されないコンテンツであり、いつでも破棄されます。
過去の経験によれば、時代遅れとしてマークされたメソッドは移行プログラムとして使用され、最終的には削除されます。

Deprecated

アップルが開示する情報

開発者の友人はAppleのWWDC実験室からiOS 14以降のバージョンでは、アプリケーションが新しいウィジェットを提供たら古いウィジェットが表示されないことを了解しました。
この証拠が十分でない場合はmacOS Big Surには古いウィジェットがありません。これは最も直接的な証拠です。

追記

iOS 8で導入され、iOS 14で完全に改訂された機能として、コンポーネントがiOS開発ルートの非常に重要な部分に付随しています。 しかし、ウィジェットを開発者として見ると、いつも2つの言葉が頭に浮かびます:「鸡肋」ニワトリの肋骨.大して役に立たないが捨てるには惜しいもののたとえ。
ウィジェットを見ると、魂が足りずを感じられます。本当に実用的ではないと感じています。 iOS 14での変更点も同じです。これは、いくつかの単純なウィジェットにとっては良いことかもしれませんが、開発者別のバッチ既存の成果を直接殺し、ユーザーに既存のエクスペリエンスを奪います。
もちろん、この発言は、iOS 14にペイントされたサードパーティのグループウェアに顔を打たれることが望ましいです。開発者の作成を楽しみにしています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です