บทนำสู่พนักงานบริการ JavaScript

บทนำสู่พนักงานบริการ JavaScript

คุณเคยสงสัยหรือไม่ว่าบางเว็บไซต์ดูเหมือนจะทำงานต่อไปแม้ในขณะที่คุณออฟไลน์ ความลับนั้นง่ายมาก: เว็บไซต์เหล่านี้มีพนักงานบริการ





พนักงานบริการเป็นเทคโนโลยีหลักที่อยู่เบื้องหลังคุณสมบัติที่คล้ายกับแอปดั้งเดิมของเว็บแอปพลิเคชันสมัยใหม่





พนักงานบริการคืออะไร?

พนักงานบริการเป็นประเภทเฉพาะของ คนงานเว็บ JavaScript . พนักงานบริการคือไฟล์ JavaScript ที่ทำงานเหมือนกับพร็อกซีเซิร์ฟเวอร์ ตรวจจับคำขอเครือข่ายขาออกจากแอปพลิเคชันของคุณ ช่วยให้คุณสร้างการตอบกลับที่กำหนดเองได้ ตัวอย่างเช่น คุณอาจให้บริการไฟล์แคชแก่ผู้ใช้เมื่อออฟไลน์





แรมแท่งต่างกันได้ไหม

พนักงานบริการยังให้คุณเพิ่มคุณสมบัติต่างๆ เช่น การซิงค์พื้นหลังกับเว็บแอปพลิเคชันของคุณ

แอพ Google Play บน amazon fire

ทำไมต้องเป็นพนักงานบริการ?

นักพัฒนาเว็บพยายามขยายขีดความสามารถของแอพมาเป็นเวลานาน ก่อนที่พนักงานบริการจะเข้ามา คุณสามารถใช้โซลูชันต่างๆ เพื่อทำให้สิ่งนี้เป็นไปได้ สิ่งที่น่าสังเกตเป็นพิเศษคือ AppCache ซึ่งทำให้ทรัพยากรแคชสะดวก น่าเสียดายที่มันมีปัญหาที่ทำให้เป็นวิธีแก้ปัญหาที่ทำไม่ได้สำหรับแอพส่วนใหญ่



AppCache ดูเหมือนจะเป็นความคิดที่ดีเพราะช่วยให้คุณสามารถระบุเนื้อหาเพื่อแคชได้อย่างง่ายดาย อย่างไรก็ตาม มันทำให้เกิดสมมติฐานมากมายเกี่ยวกับสิ่งที่คุณพยายามจะทำ และจากนั้นก็พังอย่างน่ากลัวเมื่อแอปของคุณไม่ปฏิบัติตามสมมติฐานเหล่านั้นอย่างแน่นอน อ่านของ Jake Archibald (น่าเสียดายที่มีชื่อ แต่เขียนได้ดี) Application Cache เป็น Douchebag สำหรับรายละเอียดเพิ่มเติม (แหล่งที่มา: MDN )

พนักงานบริการคือความพยายามในปัจจุบันที่จะลดข้อจำกัดของเว็บแอป โดยไม่มีข้อเสียของเทคโนโลยีอย่าง AppCache





เว็บไซต์หาคู่ออนไลน์ฟรีสำหรับวัยรุ่น

กรณีการใช้งานสำหรับพนักงานบริการ

แล้วพนักงานบริการให้คุณทำอะไรกันแน่? เจ้าหน้าที่บริการอนุญาตให้คุณเพิ่มคุณลักษณะที่เป็นคุณลักษณะของแอปที่มาพร้อมเครื่องในเว็บแอปพลิเคชันของคุณ นอกจากนี้ยังสามารถมอบประสบการณ์การใช้งานปกติในอุปกรณ์ที่ไม่รองรับผู้ปฏิบัติงานบริการ แอพแบบนี้บางครั้งเรียกว่า เว็บแอปโปรเกรสซีฟ (PWA) .

ต่อไปนี้คือคุณลักษณะบางอย่างที่พนักงานบริการทำขึ้นได้:





  • อนุญาตให้ผู้ใช้ใช้แอปต่อไป (หรืออย่างน้อยบางส่วน) เมื่อไม่ได้เชื่อมต่อกับอินเทอร์เน็ตอีกต่อไป พนักงานบริการบรรลุเป้าหมายนี้โดยให้บริการเนื้อหาที่แคชไว้เพื่อตอบสนองต่อคำขอ
  • ในเบราว์เซอร์ที่ใช้ Chromium พนักงานบริการเป็นหนึ่งในข้อกำหนดสำหรับเว็บแอปที่จะติดตั้งได้
  • พนักงานบริการจำเป็นสำหรับเว็บแอปพลิเคชันของคุณจึงจะสามารถใช้การแจ้งเตือนแบบพุชได้

วงจรชีวิตของพนักงานบริการ

เจ้าหน้าที่บริการอาจควบคุมคำขอสำหรับทั้งไซต์หรือเพียงบางส่วนของหน้าของไซต์ หน้าเว็บหนึ่งๆ สามารถมีพนักงานบริการที่ใช้งานอยู่ได้เพียงคนเดียว และพนักงานบริการทั้งหมดมีวงจรชีวิตตามเหตุการณ์ วงจรชีวิตของพนักงานบริการโดยทั่วไปมีลักษณะดังนี้:

  1. การลงทะเบียนและการดาวน์โหลดของผู้ปฏิบัติงาน อายุของพนักงานบริการเริ่มต้นเมื่อไฟล์ JavaScript ลงทะเบียน หากการลงทะเบียนสำเร็จ พนักงานบริการจะดาวน์โหลด และจากนั้นเริ่มทำงานในเธรดพิเศษ
  2. เมื่อมีการโหลดหน้าที่ควบคุมโดยพนักงานบริการ พนักงานบริการจะได้รับเหตุการณ์ 'การติดตั้ง' นี่เป็นเหตุการณ์แรกที่พนักงานบริการได้รับเสมอ และคุณสามารถตั้งค่าผู้ฟังสำหรับเหตุการณ์นี้ภายในผู้ปฏิบัติงานได้ โดยทั่วไป เหตุการณ์ 'การติดตั้ง' จะใช้เพื่อดึงข้อมูลและ/หรือแคชทรัพยากรใดๆ ที่พนักงานบริการต้องการ
  3. หลังจากที่พนักงานบริการเสร็จสิ้นการติดตั้ง พนักงานบริการจะได้รับเหตุการณ์ 'เปิดใช้งาน' เหตุการณ์นี้อนุญาตให้ผู้ปฏิบัติงานล้างทรัพยากรที่ซ้ำซ้อนที่ใช้โดยพนักงานบริการก่อนหน้านี้ หากคุณกำลังอัปเดตพนักงานบริการ กิจกรรมการเปิดใช้งานจะเริ่มทำงานก็ต่อเมื่อทำสิ่งนี้ได้อย่างปลอดภัย นี่เป็นครั้งเดียวที่ไม่มีหน้าที่โหลดซึ่งยังคงใช้เวอร์ชันเก่าของผู้ปฏิบัติงานบริการ
  4. หลังจากนั้น พนักงานบริการจะควบคุมทุกหน้าซึ่งโหลดหลังจากลงทะเบียนสำเร็จอย่างสมบูรณ์
  5. ขั้นตอนสุดท้ายของวงจรชีวิตคือความซ้ำซ้อน ซึ่งเกิดขึ้นเมื่อพนักงานบริการถูกเอาออกหรือแทนที่ด้วยเวอร์ชันที่ใหม่กว่า

วิธีใช้บริการคนงานใน JavaScript

API พนักงานบริการ ( MDN ) จัดเตรียมอินเทอร์เฟซที่ช่วยให้คุณสามารถสร้างและโต้ตอบกับพนักงานบริการใน JavaScript