Taşıma seçenekleri
Chrome uygulamalarından geçiş için iki temel seçenek vardır: web uygulamaları ve Chrome uzantıları:
Çoğu durumda web uygulamaları tercih edilir. Chrome uzantıları, web'in desteklemediği kullanım alanları için bazı senaryolarda kullanılabilir (ör. kullanıcı arayüzü olmadan arka planda çalıştırma).
Web uygulamaları
Chrome uygulamalarından geçiş için tercih edilen alternatif, web uygulaması oluşturmaktır. Böylece web özellikleri projesi gibi gelişmiş özellikleri kullanabilirsiniz. Capabilities projesi kapsamındaki API'ler artık daha önce Chrome Uygulama API'leriyle kullanılabilen kullanım alanlarının çoğunu kapsamaktadır. Ancak bu özelliklerden herhangi birini kullanmak zorunlu değildir: Web'in esnekliği, geliştiricilerin ihtiyaçlarına en uygun karmaşıklık düzeyini seçmelerine olanak tanır.
Web uygulamalarının avantajları
Web uygulamalarının Chrome uygulamalarına göre bazı avantajları vardır:
- Taşınabilirlik: Chrome uygulamaları yalnızca Chrome'da çalışır. Web uygulamaları çoğu tarayıcıda ve işletim sisteminde çalışır ancak farklı API'ler için destek bunlar arasında değişiklik gösterir.
- Geliştirici deneyimi: Chrome uygulamaları, web uygulamalarıyla aynı teknolojileri (HTML, JavaScript ve CSS) kullanır ancak Chrome uygulamalarının gelişmiş özelliklerinden bazıları (ör. arka plan sayfaları) standart değildir ve bu nedenle ek bilgi gerektirir.
- Özellik grubu: Chrome uygulamaları, artık bakımı yapılmayan veya yeni özelliklerle güncellenmeyen API'leri kullanır. Web uygulamaları, sürekli olarak gelişen ve tüm güncel API'lere erişebilen açık web'i kullanır.
- Yükleme ve güncellemeler: Chrome uygulamaları manuel olarak yüklenmeli ve güncellenmelidir. Bazen mağaza incelemeleri de gerekir. Web uygulamalarına doğrudan tarayıcıdan erişilebilir ve isteğe bağlı olarak yüklenebilir. Web uygulamaları için güncellemeler, dağıtım sırasında tarayıcı yeni dosyaları alır almaz anında uygulanır.
- Destek: Hem Chrome uygulamalarının hem de web uygulamalarının büyük toplulukları olsa da web platformu çok daha geniş bir kitleye sahiptir ve geliştiricileri desteklemek için çerçeveler ve kitaplıklar gibi daha geniş bir geliştirme aracı yelpazesi sunar.
Progresif Web Uygulamaları
Progresif Web Uygulamaları (PWA'lar), gelişmiş özellikler, yüklenebilirlik ve güvenilirlik sunmak için modern API'lerle oluşturulan ve optimize edilen web uygulamalarıdır. Bu işlevleri uygulamak, web'de uygulama benzeri deneyimler elde etmenizi sağlar.
Yüklenebilirlik
PWA'lar hem masaüstü hem de mobil platformlarda yüklenebilir. Ancak doğrudan tarayıcıdan erişilebildiği için bu işlem isteğe bağlıdır. PWA yüklemeyi tercih eden kullanıcılar, simgeleri ve kısayolları kullanarak uygulamayı başlatabilir. PWA'nızın web manifest dosyasında, yükleme sonrasında başlatıldığında kendi penceresinde açıldığını belirten meta veriler sağlayabilirsiniz.
Güvenilirlik
PWA'lar, zorlu ağ koşullarında bile tutarlı bir şekilde çalışabilir. Bu, PWA'ların temel bileşenlerinden biri olan hizmet çalışanları sayesinde mümkün olur. Hizmet çalışanları, uygulamanın çevrimdışı veya zayıf bağlantı senaryolarında çalışmasını sağlamak için ağ isteklerini durdurmanıza ve önbelleğe alınmış içerik yayınlamanıza olanak tanır. Workbox gibi kitaplıklar, yaygın çevrimdışı işlevleri uygulamanıza olanak tanıyan hazır stratejiler sunarak geliştirme sürecini büyük ölçüde basitleştirir.
Gelişmiş özellikler
Web Özellikleri projesi, web uygulamalarının Chrome uygulamalarının uygulayabileceği birçok kullanım alanına ulaşmasına yardımcı olur. Ancak web'in güvenlik modeli belirli sınırlamalar getirir. Mevcut Chrome uygulaması API'leri yerine kullanabileceğiniz gelişmiş web özelliklerine örnek olarak şunlar verilebilir:
- Bluetooth ve USB erişimi: Web Bluetooth ve Web USB, sırasıyla
chrome.bluetooth
vechrome.usb
özelliklerine alternatiftir. - Dosya sistemi yönetimi: File System Access API,
chrome.fileSystem
API'nin alternatifidir. - Kısayollar: Web uygulamaları, çeşitli tuş etkinliklerini (ör. keydown) dinleyerek klavye kısayollarını destekleyebilir ancak destekleyebileceğiniz kısayollar sınırlıdır. Web uygulamanız tam ekran modunda kullanıldığında Klavye Kilidi API ile bu sistem kısayollarını engelleyebilirsiniz.
- Kalıcı Depolama: Web uygulamanızda Kalıcı Depolama izni istemek, Chrome uygulamalarındaki
unlimitedStorage
izniyle benzer özellikler sunabilir. - Coğrafi konum: Geolocation API, coğrafi konum iznine alternatif olarak web uygulamalarında kullanıcının konumunu belirlemek için kullanılabilir.
- Arka planda işleme:
background
izninin alternatifleri arasında Arka Plan Senkronizasyonu API'si ve Periyodik Arka Plan Senkronizasyonu API'si yer alır. - Panoya kopyalama: Async Clipboard API, hem metinleri hem de görselleri programatik olarak kopyalayıp yapıştırmanıza olanak tanır.
Chrome uzantıları
Web uygulamaları, Chrome uygulamalarından geçiş için en iyi alternatiftir ancak bazı durumlarda Chrome uzantıları da tercih edilebilir. Uzantılar da web teknolojileri (HTML, CSS ve JavaScript) ile oluşturulur ve tarayıcı özelliklerini eklemek veya değiştirmek ve daha iyi bir kullanıcı deneyimi için diğer web uygulamalarını özelleştirmek için kullanılabilir.
Bağımsız uzantı oluşturma
Sunmak istediğiniz kullanıcı deneyimine bağlı olarak, Chrome uygulamanızı uzantıya dönüştürmek mantıklı olabilir. Örneğin, kullanıcı arayüzünüzde küçük bir pop-up pencere gösteren veya uzantınızın sağladığı bir sayfaya yönlendiren bir tarayıcı işlemi düğmesi sağlayabilirsiniz. Bu kullanıcı arayüzü modeli, çalışmalarının çoğunu arka planda yapan uygulamalar için daha uygun olabilir.
Web uygulamasından Chrome uzantısı bağlama
Chrome uygulamanız web platformunda bulunmayan özellikler sunuyorsa bir Chrome uzantısını bir web uygulamasına bağlayabilir ve uzantı API'lerine erişmesine izin verebilirsiniz.Bu yaklaşımın dezavantajı, kullanıcıların / BT yöneticilerinin iki farklı bölümü (web uygulaması ve tamamlayıcı uzantılar) yönetmesi gerekmesidir. Chrome uzantılarının bazı tarayıcılarda çalışamayacağını unutmayın. Gerekli işlevlerin kullanılamadığını tespit etmeniz ve bu tarayıcılardaki kullanıcılar için açıklayıcı metin sağlamanız gerekir.
Web uygulaması mı yoksa Chrome uzantısı mı oluşturmalıyım?
Chrome uygulamalarından geçiş için tercih edilen teknoloji web uygulamasıdır. Chrome uzantılarının daha iyi bir seçenek olabileceği birkaç kullanım alanı vardır. Karar vermeden önce, farklı faktörlere göre hangi seçeneğin daha iyi olduğunu analiz edin:
- Amaç: Chrome uzantıları öncelikle tarayıcının işlevini genişletmek için kullanılır. Yaygın kullanım alanları arasında verimlilik araçları, web sayfası içeriği zenginleştirme ve bilgi toplama yer alır. Web uygulamalarının, web'in tüm gücünü kullanarak çok daha geniş bir kullanım alanı olabilir.
- Kullanıcı deneyimi: Chrome uzantılarının kullanıcı arayüzü genellikle daha sınırlıdır ve tarayıcı ile entegre olacak şekilde tasarlanmıştır. Web uygulamaları, yerel uygulamaya benzeyen ve son derece özelleştirilebilir zengin bir kullanıcı arayüzüne sahip olabilir.
- Taşınabilirlik: Chrome uzantıları Chrome'a özeldir. Bazı tarayıcılar (ör. Firefox ve Edge), Chrome ile aynı uzantı API'lerini destekler ancak bu destek her yerde geçerli değildir. Web uygulamaları tüm tarayıcılar tarafından desteklenir (API'lerin tümü desteklenmeyebilir).
- Bulunabilirlik: Chrome uzantılarının yüklenmesi (ör. Chrome Web Mağazası'ndan veya kendi kendine barındırma üzerinden) ve tarayıcı araç çubuğu üzerinden erişilebilmesi gerekir. Web uygulamaları, URL üzerinden anında yüklenebilir ve tüm tarayıcılardan erişilebilir. İsteğe bağlı olarak yüklenebilir ancak bu zorunlu değildir.
- Özellik grubu: Chrome uzantıları, Chrome API'leri aracılığıyla Chrome ile derin bir entegrasyona sahiptir. Web uygulamaları, düşük düzey veya sistem düzeyindeki görevlerde daha sınırlı olabilir. Daha önce de belirtildiği gibi, yalnızca uzantıya özel API'lere erişmek için bir web uygulamasından uzantı çağırabilirsiniz.
- Arka planda çalışma: Chrome uzantıları, tarayıcı penceresi kapalıyken bile arka planda çalışma yapabilir ve çalışabilir. Öte yandan web uygulamaları genellikle ön planda çalışacak şekilde tasarlanır ve çoğunlukla performans ve güvenilirlik için kullanılan daha sınırlı arka plan özelliklerine sahiptir.
Taşıma adımları
Chrome uygulamalarınızı taşıma
Chrome uygulamasından web uygulamalarına veya Chrome uzantılarına geçiş yapmak için aşağıdaki adımları uygulayın:
- Uygulamanızın işlevsellik kapsamını belirleyin: Bazı durumlarda, web uygulaması mı yoksa yalnızca Chrome uzantısı mı oluşturmanız gerektiği uygulamanıza bağlıdır. Her iki seçenek de ihtiyaçlarınıza uygunsa seçim yapabilirsiniz. Her bir teknolojinin sunduğu özellikler hakkında daha fazla bilgi edinmek için Web Özellikleri sitesine ve Chrome Extension API referansına göz atın.
- Öğrenin ve geliştirin: Teknolojiler hakkında bilgi edinmek ve uygulamanızı kullanıma sunmak için öğrenme kaynaklarını takip edin. PWA eğitimi ve Chrome Uzantısı ile Başlama kılavuzları, bu teknolojilerin her birini kullanmaya başlamak için mükemmel kaynaklardır.
- Test edin ve dağıtın: Yeni uygulamanızı, iyi çalıştığından emin olmak için daha geniş bir kitlenin kullanımına sunmadan önce daha küçük bir kullanıcı yüzdesine sunun. Web uygulamalarına daha geniş bir kitlenin erişebilmesi için tarayıcıdan erişilebilir ve yüklenebilir. Chrome uzantıları genellikle Chrome Web Mağazası üzerinden veya kendi kendine barındırılan olarak dağıtılır. Her ikisi de yönetilen senaryolarda yöneticiler tarafından zorunlu olarak yüklenebilir.
Kullanıcılarınızı taşıma
Chrome uygulamalarından geçiş için seçtiğiniz teknolojiden bağımsız olarak, kullanıcılarınıza mevcut uygulamayı kaldırmalarını söylemeniz ve onları yeni deneyime yönlendirmeniz gerekir.
Uygulamanızı, desteğinin sonlandırıldığını ve kullanıcıların bundan sonra web sitenizi veya Chrome Web Mağazası'nı ziyaret etmesi gerektiğini belirten bir mesaj içerecek şekilde güncellemenizi öneririz (aşağıdaki örneğe bakın). uninstallSelf()
yöntemini çağıran bir "kaldır" düğmesi de ekleyebilirsiniz.
Chrome 75'ten itibaren, installReplacementWebApp()
yöntemi, bir düğme tıklamasına veya başka bir kullanıcı hareketine yanıt olarak Chrome uygulaması içinde kullanılabilir. Bu yöntem, değişim amaçlı web uygulamanızın yükleme akışını otomatik olarak tetikler.
Chrome Enterprise Tarayıcı ve ChromeOS Enterprise yöneticilerini, kuruluşları için uygulama politikalarını güncellemeleri konusunda bilgilendirmeniz de önemlidir. Enterprise ve Education'da yönetilen kullanıcıların uygulama ve uzantılarının yönetim politikası aracılığıyla zorunlu olarak yüklenmesi yaygın bir durumdur. Geliştiriciler, yöneticileri ExtensionInstallForcelist politikalarını (Chrome uygulamalarını yüklemek için kullanılır) güncellemeleri ve web uygulamanızın URL'sini içeren WebAppInstallForceList politikasıyla değiştirmeleri konusunda bilgilendirmelidir.
Destek
Teknik sorularınız varsa destek almak için kullanabileceğiniz bazı kaynaklar aşağıda verilmiştir:
- Chrome uygulamalarından web uygulamalarına veya Chrome uzantılarına geçişle ilgili sorularınız için Discord'daki ChromeOS geliştirici topluluğuna katılın.
- Eksik web uygulaması özellikleri için Project Fugu olarak da bilinen Özellikler bölümünden yeni bir özellik isteyin.