สถาปัตยกรรมแอป Chrome

แอป Chrome ผสานการทำงานอย่างใกล้ชิดกับระบบปฏิบัติการของผู้ใช้ เบราว์เซอร์ได้รับการออกแบบมาให้ทำงานภายนอกแท็บเบราว์เซอร์ เพื่อให้สามารถทำงานแบบออฟไลน์หรือการเชื่อมต่อที่ไม่มีประสิทธิภาพได้อย่างมีประสิทธิภาพ และมีความสามารถที่ทรงพลังมากกว่าที่มีในสภาพแวดล้อมในการท่องเว็บทั่วไป โมเดลคอนเทนเนอร์ การเขียนโปรแกรม และโมเดลความปลอดภัยของแอปรองรับข้อกำหนดของแอป Chrome เหล่านี้

โมเดลคอนเทนเนอร์ของแอป

คอนเทนเนอร์แอปจะอธิบายถึงรูปลักษณ์และพฤติกรรมการโหลดของแอป Chrome แอป Chrome ดูแตกต่างจากเว็บแอปแบบเดิมเพราะคอนเทนเนอร์แอปไม่แสดงการควบคุม UI หน้าเว็บแบบดั้งเดิมเลย แต่มีเพียงรูปสี่เหลี่ยมผืนผ้าที่ว่างเปล่า วิธีนี้จะช่วยให้แอปผสานรวมกับแอป "เนทีฟ" ในระบบได้ และป้องกันไม่ให้ผู้ใช้ "สับสน" กับตรรกะของแอปโดยการเปลี่ยน URL ด้วยตนเอง

แอป Chrome มีการโหลดแตกต่างจากเว็บแอป ทั้งสองไฟล์โหลดเนื้อหาประเภทเดียวกัน ได้แก่ เอกสาร HTML ด้วย CSS และ JavaScript แต่แอป Chrome จะโหลดในคอนเทนเนอร์ของแอป ไม่ใช่ในแท็บเบราว์เซอร์ นอกจากนี้ คอนเทนเนอร์แอปต้องโหลดเอกสารหลักของแอป Chrome จากแหล่งที่มาในเครื่อง ซึ่งจะบังคับให้แอป Chrome ทั้งหมดต้องทำงานแบบออฟไลน์ได้น้อยที่สุด และทำให้แอปมีที่สำหรับบังคับใช้มาตรการด้านความปลอดภัยที่เข้มงวดยิ่งขึ้น

วิธีการทำงานของโมเดลคอนเทนเนอร์ของแอป

โมเดลการเขียนโปรแกรม

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

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

ข้อมูลโดยย่อเกี่ยวกับวงจรของแอป

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

ระยะทำงานสรุป
การติดตั้งผู้ใช้เลือกที่จะติดตั้งแอปและยอมรับสิทธิ์อย่างชัดแจ้ง
เริ่มต้นทำงานหน้าเหตุการณ์จะโหลด เหตุการณ์ "การเปิดใช้" เริ่มทํางาน และหน้าแอปจะเปิดขึ้นในหน้าต่าง คุณสร้างหน้าต่างที่แอปต้องการ รูปลักษณ์ และวิธีที่แอปสื่อสารกับหน้ากิจกรรมและหน้าต่างอื่นๆ
การสิ้นสุดผู้ใช้จะสิ้นสุดแอปได้ทุกเมื่อและระบบจะคืนค่าแอปให้กลับสู่สถานะก่อนหน้าได้อย่างรวดเร็ว การแยกข้อมูลช่วยป้องกันข้อมูลสูญหาย
อัปเดตคุณสามารถอัปเดตแอปได้ทุกเมื่อ แต่รหัสที่แอป Chrome ทำงานอยู่จะไม่สามารถเปลี่ยนแปลงในระหว่างรอบการเริ่มต้น/การสิ้นสุดได้
การถอนการติดตั้งผู้ใช้ถอนการติดตั้งแอปได้ เมื่อถอนการติดตั้งแล้ว จะไม่มีโค้ดปฏิบัติการหรือข้อมูลส่วนตัวเหลืออยู่

โมเดลการรักษาความปลอดภัย

โมเดลความปลอดภัยของแอป Chrome จะปกป้องผู้ใช้ด้วยการตรวจสอบว่าข้อมูลของผู้ใช้ได้รับการจัดการอย่างปลอดภัย การปฏิบัติตามข้อกำหนดของ CSP ประกอบด้วยข้อมูลโดยละเอียดเกี่ยวกับวิธีปฏิบัติตามนโยบายความปลอดภัยของเนื้อหา นโยบายนี้บล็อกการเขียนสคริปต์ที่เป็นอันตรายซึ่งช่วยลดข้อบกพร่องของการเขียนสคริปต์ข้ามไซต์และปกป้องผู้ใช้จากการโจมตีแบบแทรกกลางการสื่อสาร

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

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