Chrome Uzantılarında neler oluyor?

2023 şu ana kadar Chrome uzantıları dünyasında yoğun bir yıl oldu. Değerli geri bildirimleriniz, uzantı platformunu ve dokümanlarımızı iyileştirmemize yardımcı oldu. Ayrıca, uzantı API'lerinin tarayıcılar arasında daha tutarlı bir şekilde çalışması için WebExtensions Topluluk Grubu'ndaki diğer tarayıcı tedarikçi firmalarıyla ortak çalışmaya devam ediyoruz.

Bu yayında, Chrome uzantı ekibinin bu yılın ilk yarısında üzerinde çalıştığı bazı değişiklikleri ve bu üç aylık dönem içinde kullanıma sunulacak olan özellikleri paylaşacağız. Haydi, başlayalım.

Yeni uzantı API'leri ve özellikleri

Bu bölümde önemli API lansmanlarından birkaçını vurgulamak, diğer API iyileştirmelerini kısaca gözden geçirmek ve yeni API sürümlerini paylaşmak istiyoruz.

Öne çıkanlar

Ekran dışındaki dokümanlar

Outscreen API, Chrome 109'da kullanıma sunulmuştur. Manifest V3 uzantılarının, DOM veya pencere ile etkileşim gerektiren kullanım alanlarını ele almasına olanak tanır. Bu işlem, uzantı hizmeti çalışanında gerçekleştirilemez. Ayrıca Chrome 114, ekran dışında iki yeni neden daha sundu: Dokümanınızın bir çalışan üretmesinin gerektiği durumlar için 'WORKERS' ve verilerin window.localStorage ürününden chrome.storage API'ye taşınmasına yardımcı olmak için 'LOCAL_STORAGE'.

Chrome 115 sürümünden itibaren, ekran dışı bir doküman oluştururken birden fazla neden belirtebilirsiniz. Bu, aynı doküman üzerinde birbiriyle ilgili iki görev gerçekleştirmenize olanak tanır.

Yeni Side Panel API 🎉

Geçmişte, uzantılarda kenar çubukları oluşturmanın tek yolu, her sayfaya içerik komut dosyaları içeren yeni bir öğe eklemekti. Chrome 114'te Side Panel API kullanıma sunuldu. Artık kullanıcılar için tamamlayıcı kenar çubuğu deneyimini çok daha basit bir şekilde geliştirebilirsiniz. Side Panel API'nin üstün bir kullanıcı deneyimi tasarlamanıza nasıl olanak sağladığı hakkında daha fazla bilgi edinin.

Seçili kelimenin tanımını gösteren bir sözlük uzantısı
Yan panel sözlük uzantısı. chrome-extensions-samples deposundaki koda bakın.

Daha güçlü Hizmet Çalışanları

Tüm uzantı etkinlikleri artık uzantı hizmeti çalışanının boşta kalma zamanlayıcısını yeniden başlatır. Chrome 110'da uzantı hizmeti çalışanları için beş dakikalık maksimum kullanım ömrü kaldırıldı. Ayrıca, yerel uygulamalara ve uzantı içindeki iletilere gönderilen mesajlar boşta kalma zamanlayıcısını yeniden başlatır. Bu konu hakkında daha fazla bilgi için Uzantı hizmet çalışanı yaşam döngüsü başlıklı makaleyi inceleyin.

Daha fazla API lansmanı

  • Action API: Chrome 110'dan itibaren rozet metnini setBadgeTextColor() ve getBadgeTextColor() ile özelleştirebilirsiniz. Ayrıca isEnabled(), işlemin geçerli sekme için etkinleştirilip etkinleştirilmediğini kontrol etmenize de olanak tanır.
  • Commands API: "commands._execute_action" bölümünde manifest dosyasında belirtilen uzantı kısayollarının MV3'e dönüştürme işlemi sırasında devam etmediği hata, Chrome 111'de düzeltildi.
  • Downloads API: Chrome'daki varsayılan indirmeler kullanıcı arayüzü, çok amaçlı adres çubuğunun sağ alt tarafındaki bir raftan taşındı. Bu davranışı devre dışı bırakmak için setShelfEnabled() yerine geçen downloads.setUiOptions() özelliğini kullanabilirsiniz.
  • History API: chrome.history.getVisits() ve chrome.history.search(), yerel geçmiş veritabanıyla senkronize edilen diğer cihazlardan da veri döndürür. Bu sayede daha fazla geçmiş girişi ve daha yüksek ziyaret sayıları elde edilebilir. Yalnızca yerel ziyaretlere göre filtreleme yapabilmek için Chrome 115'te VisitItem ürününe isLocal eklendi (bu ayın ilerleyen günlerinde kararlı kanalında kullanıma sunulması bekleniyor).
  • Identity API: Kimlik doğrulama penceresi, tüm uygulama penceresini doldurmak yerine artık pop-up olarak gösterilir. JavaScript yönlendirmeleri işlemi sırasında daha fazla kontrol sağlamak için iki yeni seçenek ekledik: abortOnLoadForNonInteractive ve timeoutMsForNonInteractive.
  • Storage API: Chrome 112'de chrome.session depolama alanı boyutu 10 MB'a yükseltildi. Daha sonra chrome.local depolama alanı boyutu, Chrome 114 sürümünde eşleşecek şekilde değiştirildi.

Çok yakında...

Gelecek Chrome sürümlerinde, uzantıların Manifest V3'e taşınmasını kolaylaştıracak birçok özellik sunulacaktır. MV3 taşıma işlemiyle ilgili yakında yapılacak değişikliklerin listesini görmek için bilinen sorunlar sayfamıza göz atın. Ayrıca, aşağıdaki özellikleri de eklemeyi planlıyoruz:

  • DeclarativeNetRequest API: isUrlFilterCaseSensitive özelliğinin varsayılan değeri false olarak değişecek. WECG ileti dizisine bakın.
  • File Process API, ChromeOS uzantılarının belirtilen MIME türlerine ve dosya uzantılarına sahip dosyaları açmasına izin verir. Bu özellik şu anda işaretli değil.
  • Çalışma zamanı API'si: Kullanımdan kaldırılan extension.getViews() yerini değiştirmek için runtime.getContexts()'ı kullanıma sunuyoruz. Bu şekilde uzantılar, yan paneldeki veya ekran dışındaki doküman gibi bir uzantı sayfasının açık olup olmadığını belirleyebilir. WECG teklifini inceleyin.
  • Hizmet çalışanları: Chrome API'lerine kullanıcı istemi gösteren güçlü canlı tutma verileri ekliyoruz: permissions.request(), desktopCapture.chooseDesktopMedia(), identity.launchWebAuthFlow() ve management.uninstall().
  • Side Panel API: Bağlam menüsü tıklaması gibi bir kullanıcı hareketine yanıt olarak uzantı yan panelini programatik olarak açan sidepanel.open() özelliğini kullanıma sunuyoruz.
  • TabCapture API: Uzantı hizmet çalışanından getMediaStreamId() çağrısı yapma ve ekran dışındaki bir dokümandaki akış kimliğinden MediaStream alma özelliğini ekliyoruz. Örnekler için Ses kaydı ve ekran görüntüsü bölümüne bakın.

Chrome Beta sürümünde kullanıma sunulur sunulmaz bu duyurular için Uzantılardaki yenilikler sayfasını takip edin.

Belgelerin yeni sürüme geçirilmesi ve daha fazla Manifest V3 kılavuzu

Ayrıca, geliştiricinin öğrenme deneyimini iyileştirmek için de yoğun bir şekilde çalışıyoruz. chromium-group hakkında soru sormak ve developer.chrome.com adresinden dokümanla ilgili sorunları bildirmek için zaman ayıran herkese teşekkür ederiz.

Öne çıkanlar

  • Yeni MV3 Taşıma bölümünde, Manifest V2 uzantılarını Manifest V3'e dönüştürmeyle ilgili pratik yöntemler sunulmaktadır.
  • Uzantı hizmeti çalışanları kılavuzu, uzantı hizmeti çalışanları konuları hakkında ayrıntılı bilgiler sağlar. Bu özellikler arasında verilerin nasıl kaydedilip güncellendiği, yaşam döngüsünün nasıl göründüğü, içe aktarma işlemlerinin nasıl işlediği ve daha fazlası yer alır.
  • Etkinlikleri Service Worker'larla işleme başlıklı eğiticide, uzantı hizmeti çalışanlarının temel bilgileri öğretilir. Uzantı API'sı başvuru sayfalarına hızlı bir şekilde erişmenizi sağlayan bir çok amaçlı adres çubuğu uzantısı oluşturur.

Diğer güncellemeler

Çok yakında...

  • Uzakta barındırılan kod Manifest V3'e nasıl taşınır?
  • Chrome uzantıları için otomatik testler nasıl çalıştırılır?
  • Bildirim Temelli Net İstek kılavuzu iyileştirildi.
  • İçerik komut dosyası açıklayıcısında iyileştirmeler.

💡 Biliyor muydunuz?

Oturumu tamamlamadan önce, birkaç faydalı araç ve bilgi paylaşmak istedik:

  • Chrome, WebHID'yi desteklemek için çalışmaya başladı. Chrome 115'ten itibaren API'yi kullanarak denemeler yapabilirsiniz (ancak hâlâ devam eden bir çalışma olduğunu unutmayın).
  • Puppeteer, artık --headless=new ile gözetimsiz modda test yapılmasını destekliyor . Chrome'un gözetimsiz modu yükseltme adlı blog yayınında bu konu hakkında daha fazla bilgi edinebilirsiniz.
  • Uzantı Güncelleme Test Aracı'nı kullanarak manifest dosyasındaki izinler değiştiğinde hangi uyarıların tetiklendiğini kontrol edebilirsiniz. Bu şekilde, güncelleme sürecini bir kullanıcının deneyimlediği şekilde deneyimleyebilirsiniz. Bazı izinler, kullanıcı tekrar erişim izni verene kadar uzantıyı devre dışı bırakabileceğinden bu önemlidir.

Bağlantı kuralım. 🙌

Bu yıl uzantı ekibi, Google I/O Connect etkinliklerinde uzantı geliştiricileri ile bizzat tanışmaktan mutluluk duydu. Sizinle bağlantı kurmak için yeni alanlar oluşturmak (ör. odak grupları ve buluşma etkinlikleri) oluşturmak için çalışıyoruz.

Bu süreçte lütfen chromium-groups hakkında soru sormaya devam edebilir, WECG'ye katılabilir ve dokümanla ilgili sorunları developer.chrome.com GitHub deposunda bildirebilirsiniz.

Uzantı geliştirici topluluğunun bir parçası olduğunuz için tekrar teşekkür ederiz!