JavaScript Hizmet Çalışanlarına Giriş

JavaScript Hizmet Çalışanlarına Giriş

Bazı web sitelerinin siz çevrimdışıyken bile nasıl çalışmaya devam ettiğini hiç merak ettiniz mi? İşin sırrı basit: Bu web sitelerinin hizmet çalışanları var.





Hizmet çalışanları, modern web uygulamalarının yerel uygulama benzeri özelliklerinin çoğunun arkasındaki kilit teknolojidir.





ps4 ne zamandır çıkıyor

Hizmet Çalışanları Nelerdir?

Hizmet çalışanları uzmanlaşmış bir türdür. JavaScript web çalışanları . Servis çalışanı, biraz proxy sunucusu gibi çalışan bir JavaScript dosyasıdır. Uygulamanızdan giden ağ isteklerini yakalayarak özel yanıtlar oluşturmanıza olanak tanır. Örneğin, çevrimdışı olduklarında kullanıcıya önbelleğe alınmış dosyaları sunabilirsiniz.





Servis çalışanları, web uygulamalarınıza arka plan senkronizasyonu gibi özellikler eklemenize de izin verir.

Neden Hizmet Çalışanları?

Web geliştiricileri, uzun süredir uygulamalarının yeteneklerini genişletmeye çalışıyor. Servis çalışanları gelmeden önce, bunu mümkün kılmak için çeşitli çözümler kullanabilirsiniz. Özellikle dikkate değer bir tanesi, kaynakları önbelleğe almayı kolaylaştıran AppCache idi. Ne yazık ki, çoğu uygulama için pratik olmayan bir çözüm haline getiren sorunları vardı.



AppCache iyi bir fikir gibi görünüyordu çünkü gerçekten kolayca önbelleğe alınacak varlıkları belirlemenize izin veriyordu. Ancak, yapmaya çalıştığınız şey hakkında birçok varsayımda bulundu ve ardından uygulamanız bu varsayımları tam olarak takip etmediğinde korkunç bir şekilde bozuldu. Jake Archibald'ın kitabını okuyun (maalesef başlıklı ama iyi yazılmış) Uygulama Önbelleği Bir Douchebag daha fazla ayrıntı için. (Kaynak: MDN )

Servis çalışanları, AppCache gibi teknolojilerin dezavantajları olmadan, web uygulamalarının sınırlamalarını azaltmaya yönelik mevcut girişimdir.





Servis Çalışanları için Kullanım Örnekleri

Peki servis çalışanları tam olarak ne yapmanıza izin veriyor? Hizmet çalışanları, yerel uygulamaların özelliği olan özellikleri web uygulamanıza eklemenize olanak tanır. Servis çalışanlarını desteklemeyen cihazlarda da normal bir deneyim sağlayabilirler. Bunun gibi uygulamalara bazen denir Aşamalı Web Uygulamaları (PWA'lar) .

Hizmet çalışanlarının mümkün kıldığı bazı özellikler şunlardır:





  • Kullanıcının artık internete bağlı olmadığında uygulamayı (veya en azından bir kısmını) kullanmaya devam etmesine izin verme. Hizmet çalışanları, isteklere yanıt olarak önbelleğe alınmış varlıklar sunarak bunu başarır.
  • Chromium tabanlı tarayıcılarda, bir web uygulamasının yüklenebilir olması için gereksinimlerden biri bir hizmet çalışanıdır.
  • Web uygulamanızın anında iletme bildirimlerini uygulayabilmesi için hizmet çalışanları gereklidir.

Hizmet Çalışanının Yaşam Döngüsü

Hizmet çalışanları, bir sitenin tamamına veya site sayfalarının yalnızca bir kısmına yönelik istekleri kontrol edebilir. Belirli bir web sayfasında yalnızca bir etkin hizmet çalışanı olabilir ve tüm hizmet çalışanlarının olay tabanlı bir yaşam döngüsü vardır. Bir hizmet çalışanının yaşam döngüsü genellikle şöyle görünür:

  1. İşçinin kaydı ve indirilmesi. Bir servis çalışanının ömrü, bir JavaScript dosyası onu kaydettiğinde başlar. Kayıt başarılı olursa, hizmet çalışanı indirir ve ardından özel bir iş parçacığı içinde çalışmaya başlar.
  2. Servis çalışanı tarafından kontrol edilen bir sayfa yüklendiğinde, servis çalışanı bir 'kurulum' olayı alır. Bu her zaman bir hizmet çalışanının aldığı ilk olaydır ve bu olay için çalışanın içinde bir dinleyici ayarlayabilirsiniz. 'install' olayı genellikle hizmet çalışanının ihtiyaç duyduğu kaynakları almak ve/veya önbelleğe almak için kullanılır.
  3. Servis çalışanı yüklemeyi bitirdikten sonra bir 'etkinleştirme' olayı alır. Bu olay, çalışanın önceki hizmet çalışanları tarafından kullanılan gereksiz kaynakları temizlemesine olanak tanır. Bir servis çalışanını güncelliyorsanız, activate olayı yalnızca bunu yapmak güvenli olduğunda tetiklenir. Bu, hizmet çalışanının eski sürümünü kullanan yüklü sayfaların olmamasıdır.
  4. Bundan sonra, hizmet çalışanı, başarıyla kaydedildikten sonra yüklenen tüm sayfalar üzerinde tam denetime sahip olur.
  5. Yaşam döngüsünün son aşaması, hizmet çalışanı kaldırıldığında veya daha yeni bir sürümle değiştirildiğinde oluşan artıklıktır.

JavaScript'te Service Workers Nasıl Kullanılır?

Hizmet Çalışanı API'si ( MDN ), JavaScript'te hizmet çalışanları oluşturmanıza ve bunlarla etkileşime geçmenize olanak tanıyan arabirimi sağlar.