การเปลี่ยนแปลงใหญ่ๆ กำลังจะเกิดขึ้นกับเบราว์เซอร์ธงยavascriptของ Mozilla ปีที่แล้วบริษัทได้นำเสนอสิ่งเล็กๆ ที่เรียกว่า WebExtensions ให้กับ Firefox 48 นี่คือ API ใหม่สำหรับส่วนขยายที่ Mozilla ต้องการนำเสนอให้กับเบราว์เซอร์ของตน ซึ่งจะทำให้ API เก่าๆ ที่บริษัทใช้มาจนถึงตอนนี้ ล้าสมัยในที่สุด
สิ่งนี้ทำให้ผู้ใช้ Firefox บางส่วนกังวล เนื่องจากยังไม่ชัดเจนว่าส่วนขยายที่มีอยู่ต้องการอะไรเพื่อให้เข้ากันได้กับ WebExtensions ซึ่งในที่สุดจะเป็นบังคับสำหรับส่วนขยายทุกตัวที่รันบน Firefox นี่คือทุกอย่างที่เรารู้จนถึงตอนนี้และว่ามันจะส่งผลต่อคุณอย่างไร
ทำไม Mozilla ถึงนำเสนอ WebExtensions?
ปัจจุบัน ส่วนใหญ่ของ Firefox add-ons ถูกสร้างโดยใช้ XUL และ XPCOM รวมถึง Add-on SDK ที่ให้คนใช้เทคโนโลยีดั้งเดิมอย่าง JavaScript, HTML และ CSS สร้าง add-ons ระบบการสร้างส่วนขยายนี้ทำงานได้ดีจนถึงตอนนี้ แต Mozilla กล่าวว่า แม้จะทรงพลัง แต่ก็ทิ้งส่วนขยายให้โดนความเสี่ยงด้านความปลอดภัย และร่อนแรกเป็น incompatible (ไม่เข้ากันได้) เมื่อคุณอัปเดตเบราว์เซอร์
จนถึงสิ้นปี 2017 WebExtensions จะกลายเป็น API หนึ่งเดียวสำหรับการพัฒนาส่วนขยายบน Firefox ทำให้วิธีการทั้งหมดข้างต้นล้าสมัย Mozilla อ้างว่าสิ่งนี้จะทำให้ส่วนขยายปลอดภัยและเสถียรกว่าต่อไป และทำให้ง่ายขึ้นมากในการ port (นำไปใช้) ระหว่างเบราว์เซอร์ต่างๆ ที่พัฒนาจาก Chromium เช่น Chrome และ Opera
ทั้งหมดนี้เชื่อมโยงกับ Firefox ที่จะกลายเป็น "Multiprocess" (หลายกระบวนการ)
ปัจจุบัน เมื่อคุณเปิดหน้าต่าง Firefox ทุกอย่าง ตั้งแต่เบราว์เซอร์เอง ส่วนขยาย ไปจนถึงหน้าเว็บ ทำงานเป็นกระบวนการเดียว (single process) บน PC ของคุณ หมายความว่าหากคุณมีแท็บและส่วนขยายเปิดหลายตัว การทำงานจะ intertwined (ผูกมัดกัน) ดังนั้นหากสิ่งหนึ่งมีปัญหา อื่นๆ อาจได้รับผลกระทบ ด้วย Multi-processing คุณลดความไม่เสถียรนี้ ลดทอนด้วย RAM ที่ใช้มากขึ้น (คำบ่นทั่วไปของผู้ใช้ Chrome ที่เป็น multi-process) สุดท้าย การไปสู่ multi-process ควรทำให้ประสบการณ์เล่นเว็บเร็วขึ้นและราบรื่นขึ้นสำหรับทุกคนที่มี PC ที่พอดี และช่วยให้เบราว์เซอร์ตามทันประสิทธิภาพ (และการใช้งาน) กับ Chrome ที่เป็นผู้นำ
ด้านล่างคุณเห็นว่าการทำงานของ Chrome ทั่วไปถูกแบ่งเป็นกระบวนการกี่ตัว เทียบกับ Firefox
Multiprocessing จะถูกนำไปใช้โดยสิ่งที่เรียกว่า Electrolysis (e10s) ใน Firefox builds ล่าสุด คุณสามารถเปิด Electrolysis เองเพื่อเริ่มใช้ Firefox แบบ multiprocess (จำไว้ว่ายังอยู่ในขั้นทดสอบ) ไปที่ about:config ในเบราว์เซอร์ Firefox ของคุณ แล้วค้นหา browser.tabs.remote.autostart คลิกขวาถ้าเป็น "false" และตั้งเป็น "true" ยินดีด้วย คุณกลายเป็นผู้ใช้/ทดสอบ Firefox แบบ multiprocess ต้นแบบแล้ว
ทำไมถึงกังวล?
การเปลี่ยนแปลง地震般的在 Firefox 的底層運作將導致許多當前的 Firefox 擴展失效,WebExtensions API 旨在使擴展功能(比以往更好)與光亮的新 multiprocess Firefox 配合工作。人們擔心是因為許多最大的擴展不再接收更新,可能無法獲得新 WebExtensions API 所需的調整,該 API 將在年底全面生效。
因此可能會有一個艱難的過渡期,您可能會發現您最喜歡的擴展無法工作。然而,Mozilla 已經給出了充分的警告,並且有一套完整的系統已經開始為已通知兼容 WebExtensions API 的擴展啟用它。已有相當多的擴展與其兼容,而且這個數字只會增加。
สรุป
對於那些已經將 Firefox 組織和設置得恰如其分的人來說,這樣的大變化可能看起來不受歡迎,但從長遠來看,這是 Firefox 現代化的過程,已經拖延太久,以使其與競爭對手保持一致。
除了 WebExtensions,Mozilla 還引入了改進的沙箱,這將通過過濾網絡進程對 Firefox 和您的 PC 的訪問級別來提高安全性。
大變化可能會令人害怕,也可能有點粗糙,因為某些擴展可能無法立即兼容,但從長遠來看,這對於一個在近年來落後於競爭對手的瀏覽器來說,可能是最好的。