094-9977532

สัปดาห์ที่แล้ว Mozilla ออก Firefox ตัวใหม่บน Android โดยใช้โค้ดเนมภายในว่า Fenix (ตัวที่ใช้อยู่ในปัจจุบันคือ Fennec) โดยปรับเปลี่ยนทั้งหน้าตา UI และตัวเอนจินแสดงผลมาเป็น GeckoView

หลายคนอาจสงสัยว่า เอนจินของ Firefox เป็น Gecko อยู่แล้ว แล้ว GeckoView คืออะไรกันแน่ ซึ่ง Mozilla มีคำอธิบายในเรื่องนี้

No Description

เดิมที Firefox ทั้งบนพีซีและบน Android ใช้เอนจิน Gecko อยู่แล้ว แต่เนื่องจาก Gecko ออกแบบมาสำหรับ Firefox เป็นหลัก ตัวมันเองจึงผูกพันกับ Firefox อย่างแนบแน่น และไม่ได้แยกส่วนขาดจากกัน โค้ดทั้งหมดจึงรวมกันเป็นก้อนเดียว ทำให้ซอฟต์แวร์ตัวอื่นๆ เรียกใช้งาน Gecko ได้ยาก เราจึงไม่ค่อยเห็นเบราว์เซอร์ที่พัฒนาต่อจาก Gecko มากนัก

GeckoView เป็นความพยายามแก้ปัญหานี้บน Android โดยมันเป็นการตัดเฉพาะส่วน Gecko ออกมาเป็นไลบรารีเฉพาะของตัวเองเพื่อให้เกิดการต่อยอดได้ง่าย แอพพลิเคชันอื่นสามารถเรียกใช้งานได้ด้วย หรือถ้าอธิบายง่ายๆ GeckoView จะกลายมาเป็นคู่แข่งของ Android WebView นั่นเอง

No Description

จุดเริ่มต้นของ GeckoView มาจาก Firefox Focus เบราว์เซอร์มือถือที่เน้นความเป็นส่วนตัว (มีทั้งบน Android/iOS) โดยช่วงแรก Firefox Focus เน้นพัฒนาเฉพาะฟีเจอร์ด้านความเป็นส่วนตัว (เช่น tracking protection) ส่วนเอนจินแสดงผลก็เรียกใช้ของที่ระบบปฏิบัติการมีให้ (UIWebView และ Android WebView) โดยเวอร์ชัน Android เพิ่งเปลี่ยนมาใช้ GeckoView เมื่อเดือนตุลาคม 2018

No Description

นอกจาก Firefox Focus แล้ว แอพตัวอื่นที่ใช้งาน GeckoView คือ Firefox Reality เบราว์เซอร์สำหรับงาน VR และ Reference Browser เบราว์เซอร์ต้นแบบบน Android ที่ใช้ภายใน Mozilla เอง

Mozilla ระบุว่า GeckoView จะมีฟีเจอร์เยอะกว่า Android WebView ในระยะยาว โดยเปิด API ให้เรียกใช้งานฟีเจอร์ของเบราว์เซอร์เต็มรูปแบบ (WebView ปิด API ระดับสูงบางตัวไม่ให้เรียกใช้) ซึ่งก็น่าจะทำให้เราได้เห็นแอพใหม่ๆ ที่ไม่ใช่ของ Mozilla ทยอยหันมาใช้ GeckoView เพิ่มขึ้นในอนาคต

ส่วน Firefox for Android เวอร์ชันใหม่ (Fenix) กำลังอยู่ในช่วงเปลี่ยนผ่าน โดยทยอยย้ายฟีเจอร์จาก Firefox for Android ตัวเก่า (Fennec) เข้ามา ทาง Mozilla ระบุว่า Fenix จะเร็วกว่าเดิมถึง 2 เท่า และการพัฒนาบน GeckoView จะช่วยให้กระบวนการพัฒนาฟีเจอร์ใหม่ๆ เร็วกว่าเดิมมาก

ที่มา – GeckoView, Mozilla Hacks

Source: Blognone