Bir web siteniz var ve insanların telefonlarında uygulama olarak yer almasını istiyorsunuz. Bunun nasıl yapılacağını aradığınızda üç terimle tekrar tekrar karşılaşırsınız: PWA, TWA ve WebView. Kulağa benzer gelirler, hepsi web sayfaları gösterir ve çoğu zaman kötü açıklanırlar.
Aslında birbirlerinden oldukça farklılar ve doğru olanı seçmek sizi çok fazla yeniden çalışmadan kurtarır. İşte her birinin ne olduğu, neyi yapıp neyi yapamadığı ve ne zaman mantıklı olduğu.
Seçenek 1: Progressive Web App (PWA)
PWA, daha çok bir uygulama gibi davranan bir web sitesidir. Bir web uygulaması manifesti (ad, simge ve renkleri içeren küçük bir JSON dosyası) ve genellikle bir service worker, yani site bağlantı olmadan da yüklensin diye dosyaları önbelleğe alabilen bir betik içerir. Biri destekleyen bir tarayıcıda bir PWA'yı ziyaret ettiğinde onu ana ekrana yükleyebilir. Ardından PWA, adres çubuğu olmadan kendi penceresinde açılır.
İyi olan: derlenecek ayrı bir uygulama yoktur. Web sitenizi güncellersiniz ve her kullanıcı yeni sürümü anında alır. Bir service worker ile çevrimdışı çalışmasını sağlayabilirsiniz.
Sınırlı olan: insanların önce sitenizi bulması, sonra yükle'ye dokunması gerekir ve çoğu bunu hiç yapmaz. Düz bir PWA, Google Play'e yükleyebileceğiniz bir dosya değildir ve birine verebileceğiniz bir APK da değildir. Telefon özelliklerine erişim, tarayıcının web API'leri aracılığıyla sunduklarına bağlıdır.
Uygun olduğu durumlar: insanların zaten sık ziyaret ettiği, yüklemenin ana hedef değil bir artı olduğu siteler.
Seçenek 2: Trusted Web Activity (TWA)
Trusted Web Activity, PWA'nızı kullanıcının Chrome gibi tarayıcısını kullanarak tam ekran açan küçük bir Android uygulamasıdır. Custom Tabs protokolü üzerine kuruludur, bu yüzden sayfa uygulama tarafından değil, tarayıcının kendisi tarafından işlenir.
İki şart vardır. Birincisi, sitenizin ve uygulamanızın aynı sahibe ait olduğu kanıtlanmalıdır. Bu, Digital Asset Links ile yapılır: alan adınızda /.well-known/assetlinks.json konumuna uygulamanızın paket adını ve imzalama sertifikası parmak izini listeleyen bir dosya koyarsınız. İkincisi, Google'ın belgelerine göre siteniz ana ekrana ekleme ölçütlerini karşılamalıdır; bu pratikte manifesti olan düzgün bir PWA demektir. Google'ın TWA derlemek için aracı, Node.js için bir komut satırı aracı olan Bubblewrap'tir.
Google'a göre doğrulama başarısız olursa veya tarayıcı TWA'ları desteklemiyorsa, tam ekran yerine basit bir tarayıcı araç çubuğuna sahip bir Custom Tab'e geri dönülür. İnsanların en sık karşılaştığı sürpriz budur.
İyi olan: Google Play'e çıkabilecek gerçek bir Android uygulaması elde edersiniz ve içerik canlı PWA'nızdır, bu yüzden web güncellemeleri anında görünür.
Sınırlı olan: çalışan bir PWA'ya ve asset links dosyasını barındırmak için alan adının kontrolüne ihtiyacınız var. O dosyadaki parmak izinin, kullanıcıların gerçekten yüklediği uygulamayı imzalayan anahtarla eşleşmesi gerekir; Play Uygulama İmzalama ile Google Play'den gelen kopya Google'ın uygulama imzalama anahtarıyla imzalandığından Google, hem bu anahtarın hem de yükleme anahtarınızın parmak izlerini listelemenizi önerir. Telefon özellikleri yine yalnızca tarayıcının web API'leri aracılığıyla sunduklarıdır. Ayrıca uygulama, destekleyen bir tarayıcının yüklü olmasına bağlıdır.
Uygun olduğu durumlar: kendi alan adında sağlam bir PWA'sı olan ve bunu en az ek kodla Play Store'a koymak isteyen ekipler.
Seçenek 3: WebView uygulaması
WebView uygulaması, web içeriğini Android'in WebView bileşenini kullanarak kendi penceresinde gösteren yerel bir Android uygulamasıdır. WebView, etrafında tarayıcı olmayan bir tarayıcı motorudur: adres çubuğu yok, sekme yok, yalnızca sizin sayfanız. Google'ın belgeleri bunu, arayüzde esneklik istediğiniz durumlarda kendi web içeriğinizi göstermek için doğru seçim olarak tanımlar.
TWA'dan en büyük fark kontroldür. Geri düğmesinde ne olacağına, açılış ekranının nasıl görüneceğine, yerel menüler olup olmayacağına, ağ kesildiğinde ne gösterileceğine ve hangi bağlantıların uygulamanın içinde açılacağına uygulama karar verir. Android ayrıca bir WebView uygulamasının addJavascriptInterface ile JavaScript'i yerel koda bağlamasına izin verir; böylece sayfanız web'de bulunmayan gerçek telefon özelliklerini çağırabilir. Google'ın belgeleri önemli bir uyarı ekler: bu köprüyü yalnızca kendi yazdığınız HTML ve JavaScript'e açın.
İyi olan: PWA, manifest veya asset links dosyası gerekmeden herhangi bir web sitesiyle ya da HTML dosyalarından oluşan bir klasörle çalışır. Sayfalar uygulamanın içine gömülebilir, böylece çevrimdışıyken anında açılır. Yerel özellikler bir köprü aracılığıyla kullanılabilir.
Sınırlı olan: uygulamanın kendi depolama alanı vardır, bu yüzden bir kullanıcının Chrome'da web sitenize yaptığı giriş uygulamaya taşınmaz. Canlı bir siteyi sarmalarsanız, yerel bir şeyin değişmesi gerektiğinde uygulamayı güncel tutmak sizin sorumluluğunuzdadır.
Uygun olduğu durumlar: HTML uygulamaları, oyunlar, araçlar, küçük işletme siteleri, şirket içi uygulamalar ve yerel eklerden fayda sağlayan her şey.
Yan yana
Telefon özellikleri
- PWA: tarayıcının desteklediği web API'leri ne ise o.
- TWA: aynısı, çünkü sayfayı tarayıcı işler.
- WebView uygulaması: web API'leri artı uygulamanın JavaScript köprüsü aracılığıyla sunduğu her şey.
Çevrimdışı
- PWA ve TWA: service worker'ınız gerekenleri önbelleğe alırsa çevrimdışı çalışır.
- WebView uygulaması: uygulamaya gömülü sayfalar service worker olmadan çevrimdışı çalışır; web sitesi uygulamaları kendi çevrimdışı ekranlarını gösterebilir.
Google Play
- PWA: tek başına hayır. Genellikle TWA olarak paketlemeniz gerekir.
- TWA ve WebView uygulaması: ikisi de normal Android uygulamalarıdır ve AAB olarak yayınlanabilir.
Tek bir Play kuralı hem TWA'lar hem de WebView uygulamaları için geçerlidir. Google Play'in spam politikası, asıl amacı bir web sitesini site sahibinin izni olmadan webview olarak göstermek olan uygulamalara izin vermez. Kendi sitenizi veya izniniz olan bir siteyi sarmalayın. Play ayrıca işlevselliği çok sınırlı uygulamalara da izin vermez; bu yüzden insanlara uygulamayı yer imi yerine yüklemeleri için bir neden verin.
Hangisini seçmelisiniz?
- Sitenizde yalnızca bir yükle düğmesi istiyorsanız: PWA.
- Kendi alan adınızda olgun bir PWA'nız var ve onu canlı web içeriğiyle Play'de istiyorsanız: TWA.
- Yerel özellikler, çevrimdışı HTML, menüler ve tam kontrol istiyorsanız veya bir PWA'nız yoksa: WebView uygulaması.
Free HTML to APK bunu nasıl yapıyor
Free HTML to APK, WebView uygulamaları derler. Bir web sitesi URL'si, HTML dosyaları, bir ZIP veya bir klasörle başlayabilir ve imzalı bir APK ile Google Play için bir AAB alabilirsiniz. freehtmltoapk.com'daki web sitesi derleyicisi ücretsizdir, hesap gerektirmez ve filigran eklemez; "HTML to APK: Website to App" Android uygulaması da aynısını telefonunuzda yapar.
Sayfalarınız titreşim, bildirimler, kamera, QR ve barkod tarama, konum ve dosya paylaşma gibi telefon özellikleri için yerleşik FreeApp JavaScript köprüsünü kullanabilir. Bir çağrı şu kadar basittir:
<button onclick="FreeApp.vibrate(30)">Tap</button>
Uygulamaya gömülü HTML uygulamaları tamamen çevrimdışı çalışır; web sitesi uygulamaları ise kullanıcı dostu bir çevrimdışı sayfa gösterir ve bağlantı geri geldiğinde yeniden bağlanır. Bir WebView uygulaması olduğu için kurulacak bir Digital Asset Links dosyası yoktur. Zaten bir PWA'nız varsa, uygulama onu URL ile yüklediğinde service worker'ı çalışmaya devam eder.
PWA'dan APK'ya veya web sitesinden uygulamaya sayfalarında daha fazlasını okuyun ve projenize uyan yolu seçin.