Apakah Project Fugu "selesai"?

Dengan salah satu tujuan tim Project Fugu adalah memungkinkan developer melakukan apa pun di web yang dapat dilakukan aplikasi khusus platform, tim ini telah sibuk menambahkan fitur yang hilang yang diperlukan developer web untuk menutup kesenjangan aplikasi ini. Jika Anda tidak percaya, lihat saja bagian "Shipped" di pelacak Fugu API. Berikut adalah 55 API yang dikirim, dalam urutan dari yang paling sedikit hingga yang terbaru dikirim:

Nama API Dikirimkan dalam
Web Bluetooth APIChrome 56
WebUSB APIChrome 61
Target Berbagi WebChrome 71
Web Share API Level 2Chrome 75
Papan Klip Asinkron: Membaca dan Menulis GambarChrome 76
Target Pangsa Web Level 2Chrome 76
Masukkan Petunjuk KunciChrome 77
Memperluas Kuota PenyimpananChrome 78
Get Installed Related Apps APIChrome 80
Sinkronisasi Berkala Latar BelakangChrome 80
desktop-pwas: Mendukung mode tampilan "minimal-ui"Chrome 80
Codec kompresiChrome 80
Contacts APIChrome 80
Badging APIChrome 81
Mengizinkan Badging API digunakan dari pekerja layanan melalui PushChrome 81
Barcode Detection APIChrome 83
Content Indexing APIChrome 84
WebOTPChrome 84
Screen Wake Lock APIChrome 84
Streams API: streaming yang dapat ditransferChrome 85
Pintasan aplikasiChrome 85
Akses Sistem FileChrome 86
dukungan text/html untuk async clipboard apiChrome 86
Dukungan Pan/Tilt untuk KameraChrome 87
FUGU Mengimplementasikan pengambilan output audio sistem dan aplikasi ke headphone dan speaker Chrome 88
PointerLock unadjustedMovementChrome 88
Membuat pemilih Foto/Video yang mirip dengan Pemilih Foto di AndroidChrome 88
Integrasi Berbagi Web (navigator.share) dengan Windows 10Chrome 88
NFC WebChrome 89
WebHID (Perangkat Antarmuka Manusia)Chrome 89
Web Serial APIChrome 89
Bagikan Web di DesktopChrome 89
Handwriting Recognition APIChrome 90
Konfigurasi terkelola untuk Aplikasi WebChrome 91
Menjalankan PWA di Login OSChrome 91
WebCodecsChrome 93
Deteksi Tidak Ada AktivitasChrome 94
EyeDropper APIChrome 95
Menu Pintasan Aplikasi untuk PWA di macOS dan LinuxChrome 96
Pendaftaran Pengendali Protokol URL untuk PWA Chrome 96
WebTransportChrome 97
Papan klip: Menempelkan gambar retina akan menghapus metadata pHYs.Chrome 98
PWA harus dapat di-uninstal dengan cara yang sama seperti "aplikasi sungguhan"Chrome 99
NFC Web: NDEFReader makeReadOnly()Chrome 100
Penempatan Jendela Multi-LayarChrome 100
HIDDevice forget()Chrome 100
USBDevice forget()Dasar-Dasar Chrome
Perilaku sameObject USB WebDasar-Dasar Chrome
Overlay Kontrol Jendela untuk Aplikasi Web Desktop yang DiinstalChrome 102
Penanganan FileChrome 102
chrome.management API tidak dapat lagi berinteraksi dengan aplikasi PWAChrome 102
SerialPort forget()Chrome 103
Akses Font LokalChrome 103
Permintaan Fugu: Pintasan Aplikasi Dinamis (Pintasan v2)Chrome 104
Format Kustom Web untuk Async Clipboard APIChrome 104
Semua API Fugu yang dikirim sejauh ini.

Daftarnya panjang, dan masih banyak lagi yang harus kita lakukan. Masih ada beberapa API dan fitur yang saat ini dalam uji coba developer (yaitu, diimplementasikan, tetapi di balik flag fitur), beberapa yang telah kami mulai untuk dikerjakan, dan banyak yang sedang dipertimbangkan. Seperti yang dapat Anda lihat, ini bukan saatnya untuk bersantai dan mengatakan bahwa kita sudah selesai.

Metode file sinkron untuk sistem file pribadi asal

Justru sebaliknya, kita baru saja memulai, bukan menyatakan bahwa upaya kita telah selesai. Misalnya, pertimbangkan diagram di bawah yang menunjukkan peningkatan penggunaan relatif yang meroket metode navigator.storage.getDirectory(), yang digunakan sebagai titik entri ke sistem file pribadi asal (OPFS). Metode ini digunakan, misalnya, untuk kebutuhan penyimpanan berperforma tinggi Photoshop, dan yang sangat diminati komunitas penyimpanan sejak Web SQL mulai tidak digunakan lagi, bahkan sebelum itu.

Diagram yang menunjukkan lonjakan penggunaan relatif metode navigator.storage.getDirectory.

Sekarang, lebih banyak orang menggunakan OPFS, sehingga muncul persyaratan tambahan. Misalnya, kebutuhan akan kumpulan metode file yang sepenuhnya sinkron dalam konteks pekerja (lihat whatwg/fs#7 untuk latar belakang). Meskipun API web baru umumnya asinkron, memiliki metode sinkron akan membuat penggunaan OPFS jauh lebih sederhana dalam konteks Wasm, dan karena hal ini terjadi di pekerja, thread utama tidak dapat diblokir.

Peningkatan privasi untuk API hardware

Contoh lainnya adalah API hardware yang memungkinkan Anda terhubung ke perangkat HID, serial, USB, Bluetooth, dan NFC. Meskipun beberapa API ini sudah ada sejak lama, hingga baru-baru ini tidak ada cara untuk melupakan perangkat yang sebelumnya terhubung dengan Anda. Sekarang ada berkat metode forget() untuk beberapa API. Misalnya, berikut cara melupakan perangkat serial yang terhubung sebelumnya, yang meningkatkan privasi API.

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

Peningkatan untuk Multi-Screen Window Placement API

Contoh terakhir adalah Multi-Screen Window Placement API, yang, berdasarkan masukan developer, label layar generik sebelumnya seperti "Internal Display 1" diganti dengan label yang lebih bermakna seperti "Built-in Retina Display" sehingga pengguna dapat mengaitkan label ini dengan layar penyiapan multilayar mereka dengan lebih mudah.

Kesimpulan

Seperti yang dapat Anda lihat dari ketiga contoh ini, Project Fugu masih jauh dari selesai. Terus atau mulai menggunakan API kami dan kirimkan masukan. Karena semua spesifikasi Fugu dikembangkan secara terbuka di GitHub, Anda dapat melaporkan masalah spesifikasi di repo GitHub yang sesuai atau menambahkan pendapat Anda ke masalah yang ada. Jika Anda menemukan bug pada penerapan Chrome, atau menemukan bahwa penerapannya berbeda dengan spesifikasi, laporkan bug di new.crbug.com. Pastikan untuk menyertakan detail sebanyak mungkin dan berikan petunjuk sederhana untuk mereproduksinya.

Selain itu, jika Anda khawatir dengan dukungan browser, banyak API Fugu yang memberikan peningkatan progresif yang luar biasa. Lihat artikel saya SVGcode: PWA untuk mengonversi gambar raster menjadi grafik vektor SVG untuk inspirasi. Kami juga tidak menganggap tugas kami selesai sampai API ini dapat dioperasikan secara bersama-sama, dan kami akan terus mendorong standarisasi, pengujian, dan adopsi lebih lanjut oleh browser lain.