このサイトは小柳耕平が開発したソフトウェアで自動翻訳されています。正確な内容は元の 英語版 をご確認ください。

Splync v1.10はリフレッシュ可能

「リフレッシュ可能」とはどういう意味か

ほとんどのiPhoneユーザーは、画面を下に引っ張ると多くのアプリで内容が更新されることを直感的に知っています。これが「プル・トゥ・リフレッシュ」と呼ばれる動作で、「リフレッシュ可能」とは正にこれを意味します。以前のSplyncバージョンではこの機能がサポートされていませんでした。画面を更新するにはアプリを閉じて再度開くしかありませんでした。Splync v1.3以降はログイン状態が保持されるため面倒ではありませんでしたが、理想的とは言えませんでした。Splyncは最も簡単な共有家計管理アプリを目指しているので、画面の更新が完全に自然に感じられるべきです。そこで、v1.10でプル・トゥ・リフレッシュを導入し、Splyncを完全にリフレッシュ可能にしました。

Splyncがデータをリフレッシュする2つの方法(フルリロード/ビュー更新)

ホーム画面では、プロフィール写真や友達リスト、プロジェクトリストが表示され、プル・トゥ・リフレッシュでフルリロードが行われます。すべてのアカウント関連データが再取得され、ログアウトして再ログインするような形になります。そのため、読み込みメッセージが表示されている間、リフレッシュには約1秒かかることがあります。プロジェクト画面では、支出リストが表示され、同じ引き下げの動作で軽いビュー更新が行われます。カテゴリの変更や支出の更新など、プロジェクトに特化したデータのみが更新されます。新しい支出が追加されたか確認するのに1秒待つ必要はありません。また、Splyncはプロジェクトデータをバックグラウンドで自動的に取得しません。変更を加えたとき、支出を開いて詳細を表示するとき、またはプロジェクトページを手動で更新するときにのみアプリが更新を確認します。

なぜリアルタイム同期ではないのか

新しい支出を友人が追加したときに、プロジェクトの更新が即座に反映されることを期待するユーザーもいるかもしれません。リアルタイム同期は便利に聞こえますが、重要なトレードオフがあります。常にバックグラウンドでの更新は、より多くのバッテリー、より多くのモバイルデータ、そして誰にとってもアプリを遅くする可能性のある複雑なサーバー接続が必要です。Splyncのオンデマンドアプローチは、軽量かつ応答性が高い体験を提供し、家計管理を見直している最中に画面が突然変わるのを防ぎます。また、セキュリティの観点もあります。サーバーとの常時接続は、不正アクセスのリスクを高め、バックグラウンドで追加の認証ロジックを動かす必要があります。Splyncは、操作を行ったときだけリフレッシュすることで、不要なネットワーク活動を最小限にし、データアクセスをより予測可能かつ制御可能にします。

.refreshableのコードの裏側

最初、このアップデートは簡単だと思いました。iOS開発に使用される言語であるSwiftでは、ScrollViewやListに.refreshableモディファイアを付けるだけでプル・トゥ・リフレッシュを有効にできます。しかし、期待通りには動作しませんでした。問題の根本原因を突き止めたところ、フレンドリストとプロジェクトリストを含むトップ画面全体にプル・トゥ・リフレッシュを追加したいと考えていました。しかし、元々の設計では、これらのコンポーネントもスクロール可能でした。そのため、.refreshableがどのスクロール可能なエリアに属しているのかわからず、一貫してジェスチャーが検出されませんでした。この問題を解決するために、フレンドリストとプロジェクトリストを再構築し、それ自体ではスクロールできないようにしました。これは、コンテンツが画面の高さを超えたときにトップレベルビュー自体がスクロールするため安全です。構造を簡素化し、スクロール可能なコンテナが1つだけであることを確認すると、.refreshableはようやく期待通りに動作しました。また、ユーザーがタップして更新できる一般的なリフレッシュボタンも追加しました。

引っ張っても反応しない?もう少し引っ張ってみて

ほとんどのiOSアプリでは、ドラッグを始めた瞬間にプル・トゥ・リフレッシュが作動するわけではありません。SwiftUIにはジェスチャーのしきい値が内蔵されており、一定の距離を引っ張るまではリフレッシュがトリガーされません。これにより、画面のトップから単にスクロールを始めただけでの偶発的な更新が防止されます。Splyncはこの標準動作に従います。短めに引っ張るだけでは内容が更新されないかもしれませんが、リフレッシュインジケーターが現れるまで少し長めに引っ張ると更新が始まります。このデザインは、意図的な操作を確保します。特に長いリストを頻繁にスクロールする画面では、意図しないリフレッシュを避けます。トップ境界を少し「オーバープル」してインジケーターが現れれば、指を離したときにリフレッシュが始まります。些細なことですが、よりスムーズで予測可能な体験に貢献します。念のために言うと、長時間引っ張ったり、強く押したりすることではありません。重要なのは、長い距離を引っ張ることです。

小さな機能、丹念に作り上げました

プル・トゥ・リフレッシュは小さなインタラクションに見えますが、その構築にはデザインの選択、技術的な再構築、そして驚くほど多くの考慮が必要でした。Splync v1.10は、データのリフレッシュが自然で意図的かつ予測可能に感じられるようにします。これが最も簡単な共有家計管理アプリであるべき姿です。このアップデートがよりスムーズな体験を提供し、細部に込められた配慮を垣間見る手助けとなることを願っています。Splyncをご利用いただきありがとうございます。