Fugu Projesi bitti mi?

Project Fugu ekibinin hedeflerinden biri de geliştiricilerin, platforma özel uygulamaların web'de her şeyi yapmalarını sağlamak olduğundan, ekip web geliştiricilerin bu uygulama açığını kapatmak için ihtiyaç duyduğu eksik özellikleri eklemekle meşguldü. Bana inanmıyorsanız Fugu API izleyicisinin "Shipped" (Gönderildi) bölümüne bakın. Gönderilen 55 API, en az gönderilenden en son gönderilene doğru sıralanmış şekilde aşağıda verilmiştir:

API adı Gönderim süresi:
Web Bluetooth API'siChrome 56
WebUSB API'siChrome 61
Web Paylaşımı HedefiChrome 71
Web Share API Seviye 2Chrome 75
Eş Zamansız Pano: Resim Okuma ve YazmaChrome 76
Web Paylaşımı Hedef Düzeyi 2Chrome 76
Önemli İpucu GirinChrome 77
Depolama Alanı Kotasını GenişletChrome 78
Get Install Related Apps APIChrome 80
Periyodik 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
Rozet API'siChrome 81
Badging API'nin Push aracılığıyla bir hizmet çalışanından kullanılmasına izin verChrome 81
Barcode Detection APIChrome 83
İçerik Dizine Ekleme API'siChrome 84
WebOTPChrome 84
Ekran Uyandırma Kilidi API'siChrome 84
Streams API: aktarılabilir akışlarChrome 85
Uygulama kısayollarıChrome 85
Dosya Sistemi ErişimiChrome 86
eş zamansız pano API'sı için metin/html desteğiChrome 86
Kamera için Kaydırma/Eğme desteğiChrome 87
FUGU Sistem ve uygulama ses çıkışını kulaklıklara ve hoparlörlere kaydetme özelliğini uygulayın 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 (İnsan 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
OS Login'de PWA'yı çalıştırmaChrome 91
WebCodecsChrome 93
Boşta Kalma AlgılamaChrome 94
EyeDropper APIChrome 95
MacOS ve Linux'ta PWA'lar (Progresif Web Uygulaması) için Uygulama Kısayol menüsüChrome 96
PWA'lar (Progresif Web Uygulaması) için URL Protokol İşleyici Kaydı Chrome 96
WebTransportChrome 97
Pano: Retina resimleri yapıştırıldığında pHYs meta verileri kaybediliyor.Chrome 98
PWA, "gerçek bir uygulama" ile aynı şekilde kaldırılabilmelidir.Chrome 99
Web NFC: NDEFReader makeReadOnly()Chrome 100
Çok Ekranlı Pencere YerleşimiChrome 100
HIDCihaz unut()Chrome 100
USBCihazı unut()Chrome 101
Web USB sameObject davranışıChrome 101
Yüklü Masaüstü Web Uygulamaları İçin Pencere Denetimleri Yer PaylaşımıChrome 102
Dosya İşlemeChrome 102
chrome.management API artık PWA uygulamalarıyla etkileşim kuramıyorChrome 102
SerialPort unutma()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 gönderilen tüm Fugu API'leri.

Uzun bir liste ve daha fazlası da var. Şu anda geliştirici deneme sürümünde halen bazı API ve özellikler (uygulanmış, ancak bir özellik işaretinin arkasında), bazıları üzerinde çalışmaya başladığımız ve birçoğu da değerlendirme aşamasındadır. Gördüğünüz gibi, arkanıza yaslanıp işiniz bitti, dilemenin zamanı gelmedi.

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

Tam aksine, çabalarımızın tamamlandığını söylemek yerine daha yolun başındayız. Örneğin, kaynak özel dosya sistemine (OPFS) giriş noktası olarak kullanılan navigator.storage.getDirectory() yönteminin hiç giderek artan göreli kullanım artışını gösteren aşağıdaki grafiği ele alalım. Bu yöntem, örneğin Photoshop'un yüksek performanslı depolama ihtiyaçları için kullanılır ve Web SQL'in kullanımdan kaldırılmasından bu yana hatta daha da önce depolama topluluğunun en çok ilgilendiği konulardır.

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

OPFS'yi artık daha fazla kişi kullandığından ek koşullar ortaya çıktı. Örneğin, çalışan bağlamında tamamen eşzamanlı bir dosya yöntemleri grubuna ihtiyaç duyulur (arka plan için whatwg/fs#7 bölümüne bakın). Yeni web API'leri genellikle eşzamansız olsa da, eşzamanlı yöntemlere sahip olmak Wasm bağlamında OPFS ile çalışmayı çok daha kolay hale getirir ve 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

Diğer bir örnek de HID, serial, USB, Bluetooth ve NFC cihazlara bağlanmanıza olanak tanıyan donanım API'leridir. Bu API'lerin bazıları bir süredir kullanımdaydı, ancak yakın zamana kadar daha önce bağlandığınız bir cihazı unutmanın yolu yoktu. Şimdi bazı API'lerin forget() yöntemleri sayesinde bunu yapabilirsiniz. Örneğin, önceden bağlanmış bir seri cihazın nasıl unutulacağı aşağıda açıklanmıştır. Bu yöntem, 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();

Multi-Screen Window Placement API için yapılan iyileştirmeler

Son bir örnek ise Multi-Screen Window Placement API'dir. Bu API'de, geliştiricilerin geri bildirimleri doğrultusunda, "Internal Display 1" gibi önceden genel olan ekran etiketleri yerine "Built-in Retina Display" gibi daha anlamlı etiketler eklenmiştir. Böylece, kullanıcılar bu etiketleri çok ekranlı kurulum ekranlarıyla daha kolay bir şekilde ilişkilendirebilir.

Sonuçlar

Yalnızca bu üç örnekten de görebileceğiniz gibi Fugu Projesi’nin henüz tamamlanmamış olması. API'lerimizi kullanmaya devam edin veya kullanmaya başlayın ve geri bildirim gönderin. Tüm Fugu spesifikasyonları GitHub'da açık bir şekilde geliştirildiğinden ilgili GitHub deposunda spesifikasyon sorunu bildirebilir veya mevcut bir soruna düşüncelerinizi ekleyebilirsiniz. Chrome uygulamasında bir hata bulursanız veya uygulamanın spesifikasyondan farklı olduğunu keşfederseniz new.crbug.com adresinden bir hata bildiriminde bulunun. Mümkün olduğunca fazla ayrıntı eklediğinizden ve yeniden oluşturma için basit talimatlar sağladığınızdan emin olun.

Tarayıcı desteği konusunda endişeliyseniz birçok Fugu API'si muhteşem progresif geliştirmeler yapmanızı sağlar. İlham almak için SVGcode: Kafes resimleri SVG vektör grafiklerine dönüştürmek için a PWA başlıklı makalemi inceleyebilirsiniz. Ayrıca, bu API'ler birlikte çalışabilir hale gelene kadar işimizi yapmayız. Ayrıca, daha fazla standartlaştırma, test ve diğer tarayıcılar tarafından benimsenmesi için çaba göstermeye devam edeceğiz.