Fugu Projesi bitti mi?

Project Fugu ekibinin hedeflerinden biri geliştiricilerin web'de platforma özel uygulamalarda yapabileceklerini yapabilmelerini sağlamak olduğundan ekip, bu uygulama açığını kapatmak için web geliştiricilerine ihtiyaç duydukları eksik özellikleri eklemekle meşguldü. Bana inanmıyorsanız Fugu API takip aracının "Gönderildi" bölümüne bakın. Yayınlanan 55 API'yi, en az yayınlanandan en son yayınlanana göre sırayla aşağıda bulabilirsiniz:

API adı Gönderim şekli
Web Bluetooth APIChrome 56
WebUSB APIChrome 61
Web Paylaşımı HedefiChrome 71
Web Paylaşımı API'si 2. SeviyeChrome 75
Eşzamansız Pano: Resim Okuma ve YazmaChrome 76
Web Paylaşımı Hedef Düzeyi 2Chrome 76
Anahtar İpucu GirChrome 77
Depolama alanı kotasını genişletmeChrome 78
Get Installed Related Apps APIChrome 80
Düzenli Arka Plan SenkronizasyonuChrome 80
desktop-pwas: "minimal-ui" görüntüleme modunu destekleyinChrome 80
Sıkıştırma codec'leriChrome 80
Contacts APIChrome 80
Badging APIChrome 81
Badging API'nin Push aracılığıyla bir hizmet çalışanından kullanılmasına izin vermeChrome 81
Barcode Detection APIChrome 83
Content Indexing APIChrome 84
WebOTPChrome 84
Screen Wake Lock APIChrome 84
Streams API: aktarılabilir akışlarChrome 85
Uygulama kısayollarıChrome 85
Dosya Sistemi ErişimiChrome 86
async clipboard api için text/html desteğiChrome 86
Kamera için kaydırma/eğme desteğiChrome 87
FUGU Sistem ve uygulama ses çıkışının kulaklıklara ve hoparlörlere kaydedilmesini uygulama Chrome 88
PointerLock unadjustedMovementChrome 88
Android'deki Fotoğraf Seçici'ye benzer bir fotoğraf/video seçici oluşturmaChrome 88
Windows 10 ile Web Paylaşımı (navigator.share) entegrasyonuChrome 88
Web NFCChrome 89
WebHID (Kullanıcı Arayüzü Cihazı)Chrome 89
Web Serial APIChrome 89
Masaüstünde web paylaşımıChrome 89
El Yazısı Tanıma API'siChrome 90
Web uygulamaları için yönetilen yapılandırmaChrome 91
PWA'yı OS girişinde çalıştırmaChrome 91
WebCodecsChrome 93
Boşta Kalma AlgılamaChrome 94
EyeDropper APIChrome 95
macOS ve Linux'ta PWA'lar için uygulama kısayolu menüsüChrome 96
PWA'lar (Progresif Web Uygulaması) için URL Protokol İşleyicisi Kaydı Chrome 96
WebTransportChrome 97
Klavye panosuna yapıştırma: Retina görüntüleri yapıştırıldığında pHYs meta verileri kaybolur.Chrome 98
PWA, "gerçek bir uygulama" gibi kaldırılabilmelidirChrome 99
Web NFC: NDEFReader makeReadOnly()Chrome 100
Çok Ekranlı Pencere YerleşimiChrome 100
HIDDevice forget()Chrome 100
USBDevice forget()Chrome'a Giriş
Web USB sameObject davranışıChrome'a Giriş
Yüklü Masaüstü Web Uygulamaları için Pencere Denetimleri Yer PaylaşımıChrome 102
Dosya İşlemeChrome 102
chrome.management API artık PWA uygulamalarıyla etkileşime geçemezChrome 102
SerialPort forget()Chrome 103
Yerel yazı tipi erişimiChrome 103
Fugu İsteği: Dinamik Uygulama Kısayolları (Kısayollar v2)Chrome 104
Async Clipboard API için web özel biçimleriChrome 104
Şu ana kadar kullanıma sunulan tüm Fugu API'leri.

Bu liste uzun ve yapılacak daha çok iş var. Şu anda geliştirici deneme sürümünde (yani uygulanmış ancak özellik işaretinin arkasında) olan birkaç API ve özellik, üzerinde çalışmaya başladığımız bazı özellikler ve değerlendirme aşamasında olan birçok özellik var. Gördüğünüz gibi, işimiz henüz bitmedi.

Kaynak özel dosya sistemi için eşzamanlı dosya yöntemleri

Tam tersine, çalışmamızı tamamlamış olduğumuzu beyan etmek yerine, aslında daha yeni başlıyoruz. Örneğin, kaynak özel dosya sistemine (OPFS) giriş noktası olarak kullanılan navigator.storage.getDirectory() yönteminin göreceli kullanım oranının hızla arttığını gösteren aşağıdaki grafiği inceleyin. Bu yöntem, örneğin Photoshop'un yüksek performanslı depolama ihtiyaçları için kullanılır ve Web SQL'in desteğinin sonlandırılmasından bu yana, hatta daha öncesinden beri depolama alanı topluluğu tarafından çok ilgi görüyor.

navigator.storage.getDirectory yönteminin göreli kullanımının hızla arttığını gösteren grafik.

OPFS'yi daha fazla kullanıcı kullandığından ek şartlar ortaya çıktı. Örneğin, bir işleyici bağlamında tamamen senkronize bir dosya yöntemleri grubuna ihtiyaç duyulması (arka plan için whatwg/fs#7 bölümüne bakın). Yeni web API'leri genellikle asenkron olsa da senkron yöntemlere sahip olmak, OPFS ile çalışmayı Wasm bağlamında çok daha kolay hale getirecektir. Ayrıca bu işlem bir çalışanda gerçekleştiği için ana iş parçacığı engellenemez.

Donanım API'leri için gizlilik iyileştirmeleri

Bir diğer örnek de HID, seri, USB, Bluetooth ve NFC cihazlarına bağlanmanıza olanak tanıyan donanım API'leridir. Bu API'lerden bazıları bir süredir kullanılsa da yakın zamana kadar daha önce bağlandığınız bir cihazı unutmanın bir yolu yoktu. Bazı API'ler için forget() yöntemleri sayesinde artık bu mümkün. Örneğin, daha önce bağlanmış bir seri cihazı nasıl unutacağınızı aşağıda bulabilirsiniz. Bu işlem, API'nin gizliliğini iyileştirir.

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

Çok Ekranlı Pencere Yerleşimi API'si için hassaslaştırmalar

Son örnek olarak, geliştirici geri bildirimlerine göre "Internal Display 1" gibi daha önce genel olan ekran etiketlerinin "Built-in Retina Display" gibi daha anlamlı etiketlerle değiştirildiği Multi-Screen Window Placement API'yi verebiliriz. Böylece kullanıcılar bu etiketleri çoklu ekran kurulumlarının ekranlarıyla daha kolay ilişkilendirebilir.

Sonuçlar

Yalnızca bu üç örnekten de görebileceğiniz gibi, Fugu projesinin henüz tamamlanmadığını söyleyebiliriz. API'lerimizi kullanmaya devam edin veya kullanmaya başlayın ve geri bildirim gönderin. Tüm Fugu özellikleri GitHub'da açık olarak geliştirildiğinden, ilgili GitHub deposunda özellik sorunu bildirebilir veya mevcut bir soruna düşüncelerinizi ekleyebilirsiniz. Chrome'un uygulamasında bir hata bulursanız veya uygulamanın spesifikasyondan farklı olduğunu fark ederseniz new.crbug.com adresinden hata bildirin. Mümkün olduğunca fazla ayrıntı eklediğinizden ve hatayı yeniden oluşturma ile ilgili basit talimatlar sağladığınızdan emin olun.

Tarayıcı desteğiyle ilgili endişeleriniz varsa birçok Fugu API'si, aşamalı olarak harika iyileştirmeler sunar. İlham almak için SVGcode: raster resimleri SVG vektör grafiklerine dönüştüren bir PWA makaleme göz atın. Ayrıca, bu API'ler birlikte çalışabilir hale gelene kadar işimizin tamamlandığını düşünmüyoruz. Diğer tarayıcılar tarafından daha fazla standartlaştırılması, test edilmesi ve benimsenmesi için çalışmaya devam edeceğiz.