Project Fugu は「完了」しているか

Project Fugu チームの目標の一つはデベロッパーが ウェブ上にはあるもののプラットフォーム固有のアプリで使用できる機能はすべて、不足している機能の追加に ウェブ開発者はこのアプリのギャップを埋める必要がありました私を信じない場合は [Shipped](発送しました)セクションをご覧ください。ここが 55 出荷された API を、出荷されたものから新しいものの順に並べます。

で確認できます。 <ph type="x-smartling-placeholder">
API 名 発送日
Web Bluetooth APIChrome 56
WebUSB APIChrome 61
ウェブ共有ターゲットChrome 71
Web Share API レベル 2Chrome 75
非同期クリップボード: 画像の読み取りと書き込みChrome 76
ウェブ共有目標レベル 2Chrome 76
キーヒントを入力Chrome 77
保存容量を増やすChrome 78
Get Installed Related Apps APIChrome 80
定期的なバックグラウンド同期Chrome 80
desktop-pwas: 「minimal-ui」をサポートディスプレイ モードChrome 80
圧縮コーデックChrome 80
Contacts APIChrome 80
Badging APIChrome 81
Service Worker から push による Badging API の使用を許可するChrome 81
Barcode Detection APIChrome 83
Content Indexing APIChrome 84
WebOTPChrome 84
Screen Wake Lock APIChrome 84
Streams API: 転送可能なストリームChrome 85
アプリのショートカットChrome 85
ファイル システム アクセスChrome 86
非同期クリップボード API の text/html サポートChrome 86
カメラのパン/チルトのサポートChrome 87
FUGU は、ヘッドフォンとスピーカーへのシステムとアプリケーションのオーディオ出力のキャプチャを実装します。 Chrome 88
PointerLock unadjustedMovementChrome 88
Android の写真選択ツールと同様の写真/動画選択ツールを作成するChrome 88
Web Share(navigator.share)と Windows 10 の統合Chrome 88
ウェブ NFCChrome 89
WebHID(ヒューマン インターフェース デバイス)Chrome 89
Web Serial APIChrome 89
パソコンでのウェブ共有Chrome 89
手書き入力認識 APIChrome 90
ウェブ アプリケーションの構成の管理Chrome 91
OS Login で PWA を実行するChrome 91
WebCodecsChrome 93
アイドル状態の検出Chrome 94
EyeDropper APIChrome 95
macOS と Linux の PWA 用アプリのショートカット メニューChrome 96
PWA の URL プロトコル ハンドラ登録 Chrome 96
WebTransportChrome 97
クリップボード: 網膜画像を貼り付けると pHY メタデータが失われる。Chrome 98
PWA は「実際のアプリ」と同じ方法でアンインストールできる必要があるできるChrome 99
ウェブ NFC: NDEFReader makeReadOnly()Chrome 100
マルチスクリーン対応ウィンドウの配置Chrome 100
HIDDeviceWorkforce()Chrome 100
USBDeviceging()Chrome 101
ウェブ USB sameObject の動作Chrome 101
インストール済みのデスクトップ ウェブアプリのウィンドウ コントロール オーバーレイChrome 102
ファイル処理Chrome 102
chrome.management API で PWA アプリを操作できなくなるChrome 102
SerialPortging()Chrome 103
ローカル フォントへのアクセスChrome 103
Fugu リクエスト: 動的アプリ ショートカット(ショートカット v2)Chrome 104
Async Clipboard API 向けウェブカスタム フォーマットChrome 104
</ph> これまでに出荷されたすべての Fugu API を使用します。

リストにはたくさんの種類がありますが、私たちの取り組みは他にもたくさんあります。API と機能は引き続きいくつか デベロッパー トライアル中(つまり、実装済み、または 機能フラグの背後にある)、その一部は開始 多くが検討中になっています。皆さんが もう完了したとは言えません

送信元のプライベート ファイル システムの同期ファイル メソッド

その逆です。Google の取り組みは完了と宣言されるのではなく、 開始しました。たとえば、次のグラフで 相対的に使用量が急増 navigator.storage.getDirectory() 送信元のプライベート ファイル システム(OPFS)へのエントリ ポイントとして使用されます。この方法は、 たとえば、 Photoshop の高性能ストレージ どのストレージ コミュニティが 非常に関心がある これは Web SQL のサポート終了以降も それ以前でも可能です

navigator.storage.getDirectory メソッドの使用率が相対的に急増していることを示すグラフ

OPFS を使用する人が増えるにつれ、新たな要件が生じています。たとえば、 ワーカー コンテキストで完全に同期されたファイル メソッドのセット(参照: whatwg/fs#7)をご覧ください。新しいウェブ API は 通常は非同期です。同期メソッドを使用すると、OPFS の操作が Wasm コンテキストです。これはワーカーで発生するため、メインスレッドをブロックできません。

ハードウェア API のプライバシーを改善

もう 1 つの例として、ハードウェア API があります。この API を使用すると、 HIDシリアルUSB BluetoothNFC デバイスGoogle Cloud の一部の これらの API は以前から存在していますが、最近まで、指定したデバイスを消去する方法はありませんでした 接続されていたためです現在は 一部の API 用の forget() メソッド。対象 以前に接続したシリアル デバイスを消去する方法をご説明します。これにより、デバイスのプライバシーが向上します。 できます。

// Request a serial port.
const port = await navigator.serial.requestPort();
// Then later revoke permission to the serial port.
await port.forget();

Multi-Screen Window Placement API の改良

最後の例は Multi-Screen Window Placement API。 デベロッパーからのフィードバック: "Internal Display 1" などの一般的な画面ラベルが置き換えられました 意味のあるラベル("Built-in Retina Display" など)を付けると、ユーザーが簡単に それらのラベルをマルチスクリーン設定の画面で表示したりできます

まとめ

この 3 つの例からわかるように、Project Fugu はまだ完了していません。維持または開始 フィードバックをお送りいただけますFugu 仕様はすべて GitHub でオープンソースとして開発されているため 対応する GitHub リポジトリで仕様に関する問題を報告するか、既存の問題にご意見をお寄せください。もし Chrome の実装のバグを見つけるか、実装が new.crbug.com でバグを報告してください。できるだけ詳細に説明する 再現するための簡単な手順を示します。

ブラウザのサポートについて懸念がある場合は、Fugu API の多くが優れたプログレッシブ 強化できます。記事を見る SVGcode: ラスター画像を SVG ベクター グラフィックに変換する PWA インスピレーションを与えてくれます。また、これらの API の相互運用性が確保されるまでは、作業が完了したとは見なされません。 他のブラウザでの標準化、テスト、導入をさらに推進します。