Toprakların İnşası

Peter Conn
Peter Conn

Güvenilir Web Etkinlikleri etrafında çok sayıda ekosistem vardır ve her şeyin birbiriyle nasıl ilişkili olduğunu ve ne kullanmanız gerektiğini görmek oldukça zor olabilir. Bu makalede bu sorunun ele alınması amaçlanmaktadır.

Güvenilir Web Etkinlikleri'ni kullanmaya yeni başladıysanız veya bugün kullanmanız gereken önerilen araç setlerini arıyorsanız şunları bilmeniz gerekir:

  • Bubblewrap: Geliştiricilerin mevcut bir PWA'yı sarmalayan Android APK'sı oluşturup derlemesine olanak tanıyan bir NodeJS aracı. Oluşturulan uygulama, Güvenilir Web Etkinlikleri tarafından desteklenir ancak bu, geliştirici için şeffaftır. Android geliştirme deneyimi gerekmez. Başlamak için Baloncuk Sarmalama dokümanlarını inceleyin.
  • android-browser-helper: Güvenilir Web Etkinlikleri protokolünü içeren bir Android Kitaplığı. Android geliştirme konusunda bilgi sahibi olan ve Güvenilir Web Etkinlikleri'ni Android Uygulamalarındaki Etkinliklerden biri olarak kullanmak veya Bubblewrap tarafından desteklenmeyen özelleştirmeler yapmak isteyen geliştiriciler için önerilir. android-browser-helper özelliğini kullanmaya başlamak için dokümanlara ve demolarımıza göz atın.

Sonraki bölümde birbiriyle ilişkili tüm projelerin kısa bir özeti verilmektedir. 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 tarih bölümü var.

Kitaplıklara genel bakış

Kullanabileceğiniz her kitaplık hakkında tek cümlelik kısa bir özet aşağıda verilmiştir:

  • androidx.browser, kullanıcının cihazında yüklü tarayıcıyla etkileşim kurmak için kullanılan bir Android kitaplığıdır.
  • Güvenilir Web Etkinliği istemcileri için androidx.browser üzerinde oluşturulan bir kitaplık olan Android Tarayıcı Yardımcısı, kolaylıklar ve makul varsayılanlar sağlar.
  • Bubblewrap, herhangi bir Java koduna dokunmadan PWA'lardan Güvenilir Web Etkinlikleri oluşturmayı sağlayan bir araçtır.

Ayrıca, bu kitaplıklardan/araçlardan her biri daha eski bir kitaplığın/araçların yerini alır:

İzledikleriniz

Android Destek Kitaplığı

Android Destek Kitaplığı, Android platformunu yeni API'ler ve uyumluluk özellikleriyle genişletir. Kullanıcının sistemindeki tarayıcılarla etkileşim işlevini içeren Özel Sekmeler Destek Kitaplığı ile birden çok pakete bölünmüştür. Özel Sekmeler Destek Kitaplığı'nın geliştirilmesi temel olarak özel-sekmeler-istemcisi GitHub deposunda yürütülmüş ve değişiklikler Android Destek Kitaplığı'na geri aktarılmıştır.

Özel Sekme, bir web sayfasını görüntülemek için tarayıcı kullanan bir Android etkinliğidir. Geliştiricinin birincil avantajı, temalı olabilmesi ve bir kapatma düğmesine sahip olmasıdır. Böylece kullanıcı, uygulamadan ayrılıp tam göz atma deneyimine gitmek yerine hâlâ geliştiricinin uygulamasında kalır. Bir Android API'si olan Özel Sekmeler, herhangi bir tarayıcı tarafından desteklenebilir ve kullanıcının varsayılan tarayıcısını kullanır (ancak geliştiriciler tarafından geçersiz kılınabilir).

Güvenilir Web Etkinlikleri, Özel Sekmeler üzerine inşa edildiğinden, hayatına bu özel-sekmeler-istemci kitaplığında başladı. Güvenilir Web Etkinlikleri, kullanıcı uygulamanın geliştiricisine ait bir siteye göz atarken Özel Sekmeler üst çubuğunu kaldırır. Bu özellik, web sitenizin yerel bir Android uygulamasıyla sorunsuz bir şekilde entegre edilmesini sağlar ve tüm işlevlerin web tarafından sağlandığı uygulamalar oluşturmak için kullanılabilir.

AndroidX

Android Destek Kitaplığı daha sonra AndroidX olarak yeniden markalandı. Bu da JetPack adlı geliştirici deneyimini iyileştirmeye yönelik büyük çabanın bir parçası oldu. Bu nedenle, Özel Sekmeler ve Güvenilir Web Etkinlikleri'nin Özel Sekmeler Destek Kitaplığı'ndan yeni androidx.browser'a taşınması gerekti.

Custom-tabs-client alanına yazdığımız kodların bir kısmı, Güvenilir Web Etkinliği yardımcı sınıflarından oluşan bir kitaplık için uygundu, ancak Android API için uygun değildi. Güncel olmayan Chrome sürümlerini kontrol eden ve kullanıcıdan güncelleme yapmasını isteyen veya verilerin nasıl depolanacağına karar veren kod AndroidX'e taşınamıyordu. Bu nedenle, androidx.browser'a giremeyen bu custom-tabs-client bölümlerini içeren alternatif bir kitaplık oluşturduk ve böylece Android Tarayıcı Yardımcısı ortaya çıktı.

Android Tarayıcı Yardımcısı, tarayıcılara özgü olabilecek kod içerecek şekilde tasarlanmıştır (sadece Chrome'a değil, diğer tarayıcılar için özel olarak kodlamaya açığız) ve kitaplıkların yapmaması gereken somut kararlar verebilir. Bu fırsatı değerlendirerek, aşağıdaki iki kitaplığın rollerini genel olarak birbirinden ayırdık:

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

Önyükleme

Geliştiriciler meşgul insanlardır, yapmaları gereken pek çok iş ve yetiştirilmesi gereken son tarihler vardır. Bu konuda yardımcı olmak için, kullanıcıların Güvenilir Web Etkinliği'ni önyüklemesine olanak tanıyan iki araç oluşturduk.

Bunlardan ilki ve en eskisi olan svgomg-twa, GitHub tarafından barındırılan ve Güvenilir Web Etkinliği başlatan bir Android Projesi'dir. Başlangıçta bir demo proje olarak tasarlanan bu proje, daha çok bir şablona dönüştü. Kullanıcılar bu depoyu klonlayıp build.gradle dosyasını kendi web sitelerine yönlendirecek şekilde değiştirebilir, oluşturabilir ve herhangi bir Java koduna dokunmadan Güvenilir Web Etkinliği oluşturabilir. (Digital Asset Links'in doğrulanması daha fazla çaba gerektirir. Buradan daha fazla bilgi edinebilirsiniz.)

svgomg-twa, özel-sekmeler istemcisine bağlı olarak başladı, ancak daha sonra Android Tarayıcı Yardımcısı'na (ve geçişli olarak androidx.browser) geçti.

En yeni ve en gösterişli araç, Web Uygulaması Manifest dosyanızı alıp sizin için Güvenilir Web Etkinliği oluşturacak bir Node.js aracı olan Bubblewrap'tır. Bu, mevcut bir PWA'dan Güvenilir Web Etkinliği oluşturmanın en kolay yoludur ve Android geliştirme bilgisi gerektirmez.

Yakın Gelecek

svgomg-twa'yı iki nedenden dolayı kullanımdan kaldıracağız:

  • Bubblewrap temel olarak geliştirici için doldurulmuş bir svgomg-twa oluşturur. Bunu etkileşimli olarak yapar ve yapılandırmayı bir Web Uygulaması manifestinden (PWA'nın muhtemelen zaten sahip olacağını) alabilir.
  • Geliştiriciler kendi Güvenilir Web Etkinliği projelerini sıfırdan nasıl başlatacaklarına dair bir referans isterse Android Tarayıcı Yardımcıları demolar dizinine bakabilirler.

Yeni geliştiriciler, projelerini oluşturmak için bunun yerine Bubble wrap'u kullanmalıdır. Halihazırda svgomg-twa kullanıyorsanız ve bazı önemli değişiklikler yaptıysanız bunu yapmaya devam edebilirsiniz ancak güncelleme almazsınız.

Bonna Sarma'yı mümkün olduğunca yetenekli hale getirmeyi planlıyoruz. Bu yüzden bariz bir özellik eksikse veya bir hatayla karşılaşırsanız sorun oluşturmaktan çekinmeyin.