Uygulama içi tarayıcılar, kullanıcılarınızın uygulamanızdan ayrılmadan tam bir web deneyimi yaşamasını sağlar. Android, uygulama içi tarayıcıları uygulamak için iki temel API sunar: Özel Sekmeler ve WebView'lar. Bir web sayfasına yönlendiren bağlantınız veya reklamınız olduğunda uygulama içi tarayıcı kullanın. Bu sayfayı doğrudan uygulamanızda açabilirsiniz. Şekil 1'de bu durumu görebilirsiniz.
Özel Sekmeler ve WebView'lar arasında seçim yapmak, geliştirme hızınızı, kullanıcı deneyiminizi ve kullanıcı arayüzü üzerindeki kontrolünüzü etkileyen büyük bir mimari karardır.
Hızlı karşılaştırma
İhtiyaçlarınıza uygun aracı seçmek için aşağıdaki tabloyu kullanın:
| Özellik | Web Görünümü | Özel Sekmeler |
|---|---|---|
| Birincil kullanım alanı | Web'i birincil veya destekleyici içerik olarak kullanan, reklamlar, uygulama içi kampanyalar ya da hizmet şartları sayfaları gösteren hibrit uygulamalar oluşturma. | Harici web sitelerinden (ör. haber makaleleri veya ürün sayfaları) içerik gösterme |
| Kullanıcı arayüzü kontrolü | Tam Bu, View bileşenini istediğiniz yere yerleştirebilirsiniz. Çevredeki tüm kullanıcı arayüzünü kontrol edebilirsiniz. |
Sınırlı. Araç çubuğu rengini temalandırabilir ve birkaç özel işlem ekleyebilirsiniz. |
| Veriler ve oturumlar | Korumalı alan. Kullanıcının ana tarayıcısıyla çerez veya giriş bilgisi paylaşmaz. | Paylaşıldı. Çerezler ve kayıtlı şifreler dahil olmak üzere kullanıcının varsayılan tarayıcı oturumunu kullanır. |
| Yerel <-> Web köprüsü | Evet. Web içeriği ile yerel uygulama kodu arasında derin ve çift yönlü iletişim için bir JavaScript köprüsü kullanabilirsiniz. | Sınırlı. Temel dize iletme için window.postMessage() yöntemini kullanabilirsiniz. |
| Geliştiricinin çabası | Yüksek Yaşam döngüsünü, gezinmeyi ve performansı kendiniz yönetmeniz gerekir. | Düşük Yalnızca birkaç satır kodla uygulayabilirsiniz. |
Web Görünümü
WebView, web sayfalarını uygulamanızın düzeninin ayrılmaz bir parçası haline getiren bir görünümdür. Güçlü bir araç olsa da Özel Sekmeler'e kıyasla kullanımı biraz daha karmaşıktır.
WebView; uzak veya yerel web içeriğini yükleyebilir, JavaScript'i çalıştırabilir ve web içeriğiniz ile yerel uygulama kodu arasında çift yönlü iletişimi etkinleştirebilir. Özellikleri hakkında daha fazla bilgi edinmek için WebView ile yapabilecekleriniz başlıklı makaleyi inceleyin.
Ayrıca, bir web uygulaması sunmak veya uygulamanızın bir parçası olarak online bir web sayfası görüntülemek için de WebView'u kullanabilirsiniz. Örneğin, belirli aralıklarla güncellemeniz gereken bir son kullanıcı sözleşmesi. Daha fazla bilgi için WebView'da web uygulamaları oluşturma başlıklı makaleyi inceleyin.
Neden WebView'ı seçmelisiniz?
WebView'ın uygun olduğu bazı senaryolar şunlardır:
- Karma uygulamalar: Web içeriği ve yerel bileşenlerin (ör. gezinme çubuğu veya kayan işlem düğmesi) yan yana bulunduğu bir uygulama geliştiriyorsunuz.
- Birinci taraf içeriği: Web içeriğiniz, uygulama deneyiminin temel ve etkileşimli bir parçasıdır (ör. doküman düzenleyici veya tasarım tuvali).
- Tam kullanıcı arayüzü kontrolü: Web sayfasının içeriğini değiştirmeniz veya üzerine yerel kullanıcı arayüzü öğeleri yerleştirmeniz gerekir.
- Ayrıntılı analizler: Web görünümündeki kullanıcı etkileşimi ve etkinliği hakkında ayrıntılı bilgiye ihtiyacınız vardır.
Önemli avantajlar ve dezavantajlar
WebView kullanırken göz önünde bulundurmanız gereken bazı önemli avantaj ve dezavantajlar aşağıda verilmiştir:
- Performans: WebView, bellek açısından yoğun olabilir. Dikkatli bir şekilde yönetmezseniz performans sorunları veya ANR'ler (Uygulama Yanıt Vermiyor hataları) ile karşılaşabilirsiniz.
- Güvenlik ve bakım: Güvenliği güçlendirmek ve yaşam döngüsünü yönetmek sizin sorumluluğunuzdadır. Ancak WebView güncellemeleri Google Play üzerinden dünya genelinde kullanıma sunulur. Bu nedenle, temel motorun eski sürümde kalması konusunda endişelenmenize gerek yoktur.
Özel Sekmeler
Özel Sekmeler, kullanıcıları harici URL'lere yönlendirmek için mükemmel bir seçimdir. Çünkü uygulamanızın üzerinde kayan hızlı, güvenli ve kullanıcı dostu bir tarayıcı penceresi sunar.
Neden özel sekmeleri seçmelisiniz?
Aşağıda, özel sekmelerin uygun olduğu bazı senaryolar verilmiştir:
- Harici Bağlantılar: Kullanıcılar, sahibi olmadığınız bir web sitesinin bağlantısına dokunduğunda özel sekmeler, tam bir tarayıcı deneyimi sunarken kullanıcının uygulamanızın bağlamında kalmasını sağlar.
- Entegrasyon kolaylığı: Yerleştirilmiş bir web deneyimini kullanmaya başlamanın en basit yoludur.
- Paylaşılan durum: Kullanıcının varsayılan tarayıcısıyla çerezleri paylaştığı için kullanıcıların daha önce ziyaret ettikleri sitelerde tekrar oturum açması gerekmez.
- Üçüncü taraf oturum açma: Tarayıcı, kimlik bilgilerini güvenli bir şekilde işlediğinden "Google ile oturum aç" veya "Facebook ile oturum aç" gibi üçüncü taraf oturum açma akışları için uygundur.
Çoğu tarayıcı özel sekmeleri desteklese de bazıları diğerlerinden daha fazla özelleştirme seçeneği sunar. Daha fazla bilgi için Tarayıcı desteği başlıklı makaleyi inceleyin.
Jetpack Compose'da web içeriği kullanma
Jetpack Compose ile geliştirme yaparken hem Özel Sekmeleri hem de WebView'i kullanabilirsiniz:
- Özel Sekmeler: Özel Sekmeler
Intentkullandığından, bunları Compose işlevlerinizdeki herhangi birContextöğesinden başlatabilirsiniz. Böylece sorunsuz bir entegrasyon sağlanır. - WebView: Compose'da henüz yerel bir WebView composable'ı bulunmuyor. Bu nedenle, düzeninize standart bir WebView yerleştirmek için
AndroidViewkullanmanız gerekir.
Ek kaynaklar
WebView veya Özel Sekmeler API'lerini kullanarak Android destekli cihazlar için web sayfaları geliştirmek istiyorsanız aşağıdaki belgelere bakın:
- Web içeriğini uygulamanıza birincil veya destekleyici içerik olarak yerleştirme
- API Referansı: WebView
- Özel Sekmelere Genel Bakış
- Güvenilir Web Etkinliklerine genel bakış
- Tarayıcı desteği