Chrome Uygulamaları Mimarisi

Chrome Uygulamaları kullanıcının işletim sistemiyle yakından entegre olur. Bu tarayıcılar, çevrimdışı ve zayıf bağlantı senaryolarında sağlam bir şekilde çalışmak ve tipik bir web'de gezinme ortamında olduğundan çok daha güçlü yeteneklere sahip olmak için bir tarayıcı sekmesinin dışında çalışacak şekilde tasarlanmıştır. Uygulama kapsayıcısı, programlama ve güvenlik modelleri bu Chrome uygulaması gereksinimlerini destekler.

Uygulama kapsayıcısı modeli

Uygulama kapsayıcısı, Chrome Uygulamalarının görsel görünümünü ve yükleme davranışını açıklar. Chrome Uygulamaları geleneksel web uygulamalarından farklı görünür. Bunun nedeni, uygulama kapsayıcısının geleneksel web sayfası kullanıcı arayüzü kontrolleri göstermemesi; yalnızca dikdörtgen boş bir alan içermesidir. Bu, bir uygulamanın sistemdeki "yerel" uygulamalarla harmanlanmasına olanak tanır ve kullanıcının URL'yi manuel olarak değiştirerek uygulama mantığını "karıştırmasını" önler.

Chrome uygulamaları web uygulamalarından farklı şekilde yüklenir. Her ikisi de aynı türde içeriği yükler: CSS ve JavaScript içeren HTML dokümanları. Ancak, bir Chrome Uygulaması tarayıcı sekmesinde değil, uygulama kapsayıcısına yüklenir. Ayrıca, uygulama kapsayıcısının Chrome uygulamasının ana dokümanını yerel bir kaynaktan yüklemesi gerekir. Bu da tüm Chrome Uygulamalarının çevrimdışıyken en azından minimum düzeyde işlevsel olmasını sağlar ve daha sıkı güvenlik önlemlerinin uygulanmasını sağlayan bir alan sağlar.

uygulama kapsayıcı modelinin işleyiş şekli

Programlama modeli

Programlama modeli, Chrome Uygulamaları'nın yaşam döngüsü ve pencere davranışını açıklar. Yerel uygulamalara benzer şekilde, bu programlama modelinin amacı kullanıcılara ve sistemlerine, uygulama yaşam döngüsü üzerinde tam kontrol vermektir. Chrome uygulamasının yaşam döngüsü, tarayıcı penceresi davranışından veya ağ bağlantısından bağımsız olmalıdır.

"Etkinlik sayfası", kullanıcı hareketlerine ve sistem etkinliklerine yanıt vererek Chrome Uygulaması yaşam döngüsünü yönetir. Bu sayfa görünmez, yalnızca arka planda bulunur ve sistem çalışma zamanı tarafından otomatik olarak kapatılabilir. Pencerelerin nasıl açılıp kapanacağını ve uygulamanın ne zaman başlatılacağını veya sonlandırılacağını kontrol eder. Bir Chrome Uygulaması için yalnızca bir "etkinlik sayfası" olabilir.

Bir bakışta uygulama yaşam döngüsü

Programlama modelinin nasıl kullanılacağıyla ilgili ayrıntılı talimatlar için Uygulama Yaşam Döngüsünü Yönetme başlıklı makaleyi inceleyin. Başlamanıza yardımcı olmak için Chrome Uygulaması yaşam döngüsünün kısa bir özetini aşağıda bulabilirsiniz:

AşamaÖzet
DöşemeKullanıcı uygulamayı yüklemeyi seçer ve izinleri açık bir şekilde kabul eder.
BaşlangıçEtkinlik sayfası yüklenir, "lansman" etkinliği tetiklenir ve uygulama sayfaları pencerelerde açılır. Uygulamanızın gerektirdiği pencereleri oluşturursunuz, bunların nasıl görüneceğini ve etkinlik sayfası ve diğer pencerelerle nasıl iletişim kurduğunu belirlersiniz.
SonlandırmaKullanıcı uygulamaları istediği zaman sonlandırabilir ve uygulama hızlı bir şekilde önceki durumuna geri yüklenebilir. Verilerin saklanması, veri kaybına karşı koruma sağlar.
GüncelleUygulamalar herhangi bir zamanda güncellenebilir ancak Chrome Uygulamasının çalıştığı kod, başlatma/sonlandırma döngüsü sırasında değiştirilemez.
Yüklemeyi kaldırmaKullanıcı uygulamaları etkin bir şekilde kaldırabilir. Kaldırıldığında, herhangi bir kod yürütme veya gizli veri kalmaz.

Güvenlik modeli

Chrome Uygulamaları güvenlik modeli, kullanıcı bilgilerinin güvenli bir şekilde yönetilmesini sağlayarak kullanıcıları korur. CSP'ye uygunluk bölümünde, içerik güvenliği politikasına uyum sağlama hakkında ayrıntılı bilgiler yer alır. Bu politika, tehlikeli komut dosyaları oluşturmayı engelleyerek siteler arası komut dosyası oluşturma hatalarını azaltır ve kullanıcıları ortadaki adam saldırılarına karşı korur.

Chrome Uygulaması ana sayfasının yerel olarak yüklenmesi, web'den daha katı güvenliği zorunlu kılma imkanı sağlar. Chrome uzantılarında olduğu gibi, kullanıcıların yükleme sırasında Chrome Uygulaması'na güveneceğini açıkça kabul etmesi gerekir. Bu kullanıcılar, uygulamaya verilerine erişme ve verilerini kullanma izni verirler. Uygulamanızın kullandığı her API'nin kendi izni vardır. Chrome Uygulamaları güvenlik modeli, her pencere için ayrıcalık ayırma özelliğini ayarlama olanağı da sağlar. Böylece, uygulamanızda tehlikeli API'lere erişimi olan kodu en aza indirirken bunları kullanmaya devam edebilirsiniz.

Chrome Uygulamaları, Chrome uzantısı işlem izolasyonunu yeniden kullanır ve depolama alanı ile harici içeriği ayırarak bunu daha da ileri taşır. Her uygulama kendi özel depolama alanına sahiptir ve başka bir uygulamanın depolama alanına veya tarayıcınızda kullandığınız web sitelerine ait kişisel verilere (çerezler gibi) erişemez. Tüm harici işlemler uygulamadan izole edilir. iframe'ler çevreleyen sayfayla aynı işlemde çalıştığından yalnızca diğer uygulama sayfalarını yüklemek amacıyla kullanılabilir. Harici içerik yerleştirmek için object etiketini kullanabilirsiniz. Bu içerik, uygulamadan ayrı bir işlemde işlenir.