หลาย ๆ คนคงได้ข่าวกันมาบ้างแล้วว่า Firefox 57 นี้จะใช้ส่วนขยายแบบเดิมที่เขียนขึ้นด้วย XUL + XPCOM และ Add-on SDK จะใช้ไม่ได้อีกต่อไป และจะรองรับส่วนขยายที่เขียนด้วย WebExtensions แทน ซึ่งวันนี้จะเล่าถึงเหตุผลว่าทำไม Mozilla ถึงยอมทิ้ง XUL + XPCOM แล้วไปใช้ WebExtensions
XUL + XPCOM เป็นเทคโนโลยีที่ใช้มาตั้งแต่ Firefox ได้ถือกำเนิดขึ้นมาใหม่ๆ ซึ่งนับตั้งแต่ตอนนั้นถึงตอนนี้ก็ 10 กว่าปีแล้ว ข้อดีของการใช้เทคโนโลยีตัวนี้คือ เข้าถึงระบบของ Firefox ได้ลึกมาก ๆ และสามารถเชื่อมต่อกับภาษาอื่นได้ด้วย นั้นก็คือจุดแข็งและจุดเริ่มต้นของเบราว์เซอร์ที่สามารถติดตั้งส่วนขยายได้ จนความสามารถของ Firefox นั้นก็กินขาด IE6 ในสมัยนั้นเพราะส่วนขยายที่เพิ่มได้ไม่จำกัด และเป็นมาตรฐานของเบราว์เซอร์ตัวอื่น ๆ ว่าต้องรองรับส่วนขยายในตัว
แต่ด้วยความสามารถที่เยอะเกินไป ทำให้ Firefox นั้นบวม ช้า และถูกเจาะง่ายมาก อย่างที่หลายคนเคยบ่นกัน หนำซ้ำยังไม่พอ XUL + XPCOM เป็นอุปสรรคก้อนโตที่ทำให้การแยกโพรเซส Firefox หรือโปรเจ็ค Electrolysis นั้นล่าช้าไปหลายปีจนถึงขั้นต้องหยุดโปรเจ็คนี้ไป 2 ปีเต็ม (ข้อมูลจาก Ars Technica)
เนื่องจาก Firefox นั้นเสียส่วนผู้ใช้ไปเยอะ โดยส่วนใหญ่ก็หนีไปใช้ Google Chrome กัน โดยเหตุผลหลัก ๆ เลยคือ เร็วกว่าอย่างเห็นได้ใช้ แถมหนำซ้ำ Firefox OS ที่ปั้นมาอย่างดีก็ต้องล้มเลิกไปเพราะสู้เจ้าตลาดอย่าง Android กับ iOS เพราะฉะนั้น Mozilla ก็เลยต้องหวนกลับมาโฟกัสที่ Firefox เหมือนเดิม แต่คราวนี้ต้องคิดใหม่ทำใหม่ให้ Firefox นั้นต้องเร็ว ไฉไล เสถียร และปลอดภัย
และเพื่อการจะไปถึงเป้าหมายนั้นให้ได้ก็ต้องยอมทิ้งสิ่งที่ตัวเองภาคภูมิใจที่สุดอย่างเทคโนโลยี XUL + XPCOM แล้วเปลี่ยนไปใช้ WebExtensions ที่ด้อยกว่า และแน่นอนว่าการทำอย่างนี้ก็ต้องถูกนักพัฒนาและผู้ใช้ก่นด่า แต่ก็แลกกับการใช้ WebExtensions ที่เบราว์เซอร์ในตลาดส่วนใหญ่อย่าง Chrome Opera และ Edge ใช้เทคโนโลยีตัวเดียวกันทำให้การพอร์ทโค้ดไปเบราว์เซอร์ตัวอื่น ๆ นั้นไม่ยากเย็นนัก แถมการถอดเทคโนโลยีตัวเก่าออกไปก็ทำให้ใส่เทคโนโลยีตัวใหม่อย่าง Quantum เข้ามาได้ง่ายขึ้น
สรุปสั้นง่าย ๆ คือ Firefox จำเป็นต้องถอดเทคโนโลยีเก่าอย่าง XUL + XPCOM เพื่อเปิดทางไปสู่การพัฒนาที่เข้ากับยุคสมัยใหม่ เพื่ออัปเกรดตัวเองให้เร็ว เสถียร ทันสมัย และปลอดภัยกว่าเดิม
Pingback from Firefox (57) Quantum ออกแล้ว ก้าวสำคัญของ Firefox ยุคใหม่ | Mozilla Thailand Community on :