Toprakların İnşası

Peter Conn
Peter Conn

Güvenilir Web Etkinlikleri ile ilgili oldukça fazla ekosistem vardır ve her şeyin birbiriyle nasıl ilişkili olduğunu ve neleri kullanmanız gerektiğini anlamak oldukça zor olabilir. Bu makalenin amacı, bu konuyu ele almaktır.

Güvenilir Web Etkinlikleri'nde yeniyseniz veya şu anda kullanmanız gereken önerilen araç setini arıyorsanız bilmeniz gerekenler şunlardır:

  • Bubblewrap: Geliştiricilerin mevcut bir PWA'yı sarmalayan bir Android APK'sı oluşturmasına ve derlemesine olanak tanıyan bir NodeJS aracıdır. Oluşturulan uygulama, Güvenilir Web Etkinlikleri tarafından desteklenir ancak bu durum geliştirici için şeffaftır. Android geliştirme deneyimi gerekmez. Başlamak için Bubblewrap belgelerini inceleyin.
  • android-browser-helper: Güvenilir Web Etkinlikleri protokolünü kapsayan bir Android kitaplığı. Android geliştirme konusunda bilgi sahibi olan ve Android uygulamalarındaki etkinliklerden biri olarak Güvenilir Web Etkinlikleri'ni kullanmak ya da Bubblewrap tarafından desteklenmeyen özelleştirmeler yapmak isteyen geliştiriciler için önerilir. android-browser-helper'ı kullanmaya başlamak için dokümanları ve demolarımızı inceleyin.

Sonraki bölümde, tüm projelerin birbiriyle ilişkili kısa bir özeti verilmiştir. Son olarak (gerçekten merak edenler için) buraya nasıl geldiğimizi ve yakın gelecekte nereye gitmeyi planladığımızı gösteren bir geçmiş bölümü de mevcuttur.

Kitaplıklara genel bakış

Aşağıda, kullanabileceğiniz kitaplıkların her birinin kısa bir özetini bulabilirsiniz:

  • Kullanıcının cihazında yüklü tarayıcı ile etkileşim kurmak için kullanılan bir Android kitaplığı olan androidx.browser.
  • Güvenilir Web Etkinliği istemcileri için androidx.browser'da oluşturulan ve kolaylık yöntemleri ile makul varsayılan değerler sunan bir kitaplık olan Android Tarayıcı Yardımcısı.
  • Java koduna dokunmadan PWAs'den Güvenilir Web Etkinlikleri oluşturmak için kullanılan Bubblewrap aracı.

Ayrıca bu kitaplıkların/araçların her biri eski bir kitaplığın/aracın yerini alır:

Geçmiş

Android Destek Kitaplığı

Android Destek Kitaplığı, Android platformunu yeni API'ler ve uyumluluk özellikleriyle genişletir. Özel Sekmeler Destek Kitaplığı, kullanıcının sistemindeki tarayıcılarla etkileşim kurma işlevini içerir ve birden fazla pakete ayrılmıştır. Özel Sekmeler Destek Kitaplığı'nın geliştirilmesi, öncelikle custom-tabs-client GitHub deposunda yapıldı ve değişiklikler Android Destek Kitaplığı'na geri aktarıldı.

Özel Sekme, bir web sayfasını görüntülemek için tarayıcı kullanan bir Android etkinliğidir. Geliştirici için birincil avantaj, temalandırılabilmesi ve kapat düğmesi içermesidir. Böylece kullanıcı, uygulamadan ayrılıp tam tarama deneyimine gitmek yerine geliştiricinin uygulamasında kalır. Android API'si olarak Özel Sekmeler herhangi bir tarayıcı tarafından desteklenebilir ve kullanıcının varsayılan tarayıcısını kullanır (ancak bu, geliştiriciler tarafından geçersiz kılınabilir).

Güvenilir Web Etkinlikleri, Özel Sekmeler'in üzerine inşa edildiğinden, bu custom-tabs-client kitaplığında hayatlarına başladılar. Güvenilir Web Etkinlikleri, kullanıcı uygulamanın geliştiricisinin sahip olduğu bir siteye göz atarken Özel Sekmeler üst çubuğunu kaldırır. Bu sayede web sitenizi yerleşik bir Android uygulamasına sorunsuz bir şekilde entegre edebilirsiniz. Ayrıca tüm işlevlerin web tarafından sağlandığı uygulamalar oluşturmak için de kullanılabilir.

AndroidX

Android Destek Kitaplığı daha sonra AndroidX olarak yeniden markalandı. AndroidX, geliştirici deneyimini iyileştirmeye yönelik daha büyük bir çalışma olan JetPack'in bir parçasıdır. Bu nedenle, Özel Sekmeler ve Güvenilir Web Etkinlikleri'nin Özel Sekmeler Destek Kitaplığı'ndan yeni androidx.browser'a taşınması gerekiyordu.

custom-tabs-client'ta yazdığımız kodların bir kısmı Güvenilir Web Etkinliği yardımcı sınıfları kitaplığı için uygundu ancak Android API için uygun değildi. Eski Chrome sürümlerini kontrol etme, kullanıcıdan güncelleme yapmasını isteme veya verilerin nasıl depolanacağıyla ilgili kararlar vermeyle ilgili kodlar AndroidX'e taşınamadı. Bu nedenle, custom-tabs-client'ın androidx.browser'a eklenemeyen bu bölümlerini içerecek alternatif bir kitaplık oluşturduk. Böylece Android Browser Helper doğdu.

Android Tarayıcı Yardımcı Programı, tarayıcılara özel olabilecek kodlar (yalnızca Chrome değil, diğer tarayıcılara özel kodlara da açığız) içerecek ve kitaplıkların vermemesi gereken kesin kararlar verebilecek şekilde tasarlanmıştır. Bu fırsatı değerlendirerek bu iki kitaplığın rollerini genel olarak ayırdık:

  • androidx.browser, kullanıcının sistemindeki tarayıcılarla etkileşime geçmek için temel yapı taşlarını içerir.
  • Android Tarayıcı Yardımcı Programı, kullanımı kolay ve makul varsayılan uygulamalar içerir.

Önyükleme

Geliştiriciler, yapacak çok işi ve uymaları gereken son tarihleri olan yoğun çalışanlardır. Bu konuda yardımcı olmak için kullanıcıların Güvenilir Web Etkinliği'ni başlatmasına olanak tanıyan iki araç oluşturduk.

Bunlardan ilki (ve en eskisi) svgomg-twa. Güvenilir Web Etkinliği'ni başlatan, GitHub tarafından barındırılan bir Android projesidir. Başlangıçta bir demo proje olarak tasarlanan bu proje, daha çok bir şablona dönüştü. Kullanıcılar bu deposu klonlayabilir ve build.gradle dosyasını kendi web sitelerini işaret edecek şekilde değiştirebilir, dosyayı derleyebilir ve Java koduna dokunmadan Güvenilir Web Etkinliği oluşturabilir. (Digital Asset Links'in doğrulanması için daha fazla çaba gerekir. Daha fazla bilgiyi burada bulabilirsiniz.)

svgomg-twa, custom-tabs-client'e bağlı olarak başladı ancak daha sonra Android Browser Helper'a (ve dolaylı olarak androidx.browser'a) geçti.

En yeni ve en parlak araç, Web Uygulama Manifest'inizi alıp sizin için Güvenilir Web Etkinliği oluşturacak bir Node.js aracı olan Bubblewrap'tır. Mevcut bir PWA'dan Güvenilir Web Etkinliği oluşturmanın en kolay yolu budur ve Android geliştirme bilgisi gerektirmez.

Yakın gelecekte

svgomg-twa aracını iki nedenden dolayı kullanımdan kaldıracağız:

  • Bubblewrap, geliştiriciler için doldurulmuş bir svgomg-twa oluşturur. Bu işlemi etkileşimli olarak yapar ve yapılandırmayı bir web uygulaması manifest'inden alabilir (PWA'larda muhtemelen zaten vardır).
  • Geliştiriciler, sıfırdan kendi Güvenilir Web Etkinliği projelerini nasıl başlatacakları konusunda referans almak istiyorsa Android Tarayıcı Yardımcı Araçları demo dizinini inceleyebilir.

Yeni geliştiriciler, proje oluşturmak için Bubblewrap'ı kullanmalıdır. svgomg-twa'yı zaten kullanıyorsanız ve önemli değişiklikler yaptıysanız bu aracı kullanmaya devam edebilirsiniz ancak güncelleme almazsınız.

Bubblewrap'u mümkün olduğunca yetenekli hale getirmeyi planlıyoruz. Eksik bir özellik olduğunu düşünüyorsanız veya bir hatayla karşılaşırsanız sorun kaydı oluşturabilirsiniz.