กลับไปหน้าบทความ

อ่าน 7 นาที

เอ็กซ์ยูแอล

XUL ( / ˈ z uː l / ZOOL ) ซึ่งย่อมาจากXML User Interface Languageเป็นภาษามาร์กอัปสำหรับส่วนติดต่อผู้ใช้ที่พัฒนาโดยMozilla XUL เป็นรูปแบบXML

เอ็กซ์ยูแอล

เอ็กซ์ยูแอล
กระบวนทัศน์เชิงประกาศ ( ภาษามาร์กอัป )
นักพัฒนามูลนิธิโมสโมซซา
ภาษาการใช้งานซี++
แพลตฟอร์มจิ้งจก / กิ้งก่ายักษ์
โอเอสข้ามแพลตฟอร์ม
ใบอนุญาตเอ็มพีแอล
นามสกุลไฟล์.xulประเภท MIME :application/vnd.mozilla.xul+xml
เว็บไซต์https://wiki.mozilla.org/XUL:Home_Page
การนำไปใช้งานหลักๆ
โมซโมซา
ได้รับอิทธิพลจาก
HTML , XML

XUL ( / ˈ z l / ZOOL ) ซึ่งย่อมาจากXML User Interface Languageเป็นภาษามาร์กอัปสำหรับส่วนติดต่อผู้ใช้ที่พัฒนาโดยMozilla XUL เป็นรูปแบบXML สำหรับการเขียนส่วนติดต่อผู้ใช้แบบกราฟิกทำให้ผู้พัฒนาสามารถเขียนองค์ประกอบส่วนติดต่อผู้ใช้ในลักษณะที่คล้ายกับเว็บเพจได้

แอปพลิเคชัน XUL อาศัยโค้ดเบส ของ Mozilla หรือโค้ดที่แยกออกมาจากมัน ตัวอย่างที่โดดเด่นที่สุดคือ เว็บเบราว์เซอร์ Firefoxอย่างไรก็ตาม Mozilla ได้ลดการใช้งาน XUL ใน Firefox ลงอย่างมากหลังจากที่เขียนเอ็นจิ้นเบราว์เซอร์ใหม่ในเวอร์ชัน 57 [ 1 ] [ 2 ]ส่งผลให้ ระบบ ส่วนเสริม แบบเดิม ซึ่งอาศัย XUL และXPCOMซึ่งเป็นเทคโนโลยีข้ามแพลตฟอร์มอีกอย่างหนึ่งที่ Mozilla ตัดสินใจยกเลิกก่อนการเปิดตัว Firefox 57 ไม่นานถูกลบออกไป เดิมที Firefox อนุญาตให้ส่วนเสริมเปลี่ยนแปลงอินเทอร์เฟซผู้ใช้ได้อย่างกว้างขวาง แต่ความสามารถนี้ถูกลบออกในปี 2017 และแทนที่ด้วย WebExtensions API ที่อนุญาตน้อยกว่า[ 3 ] [ 4 ]โค้ดที่แยก ออกมาจาก Firefox หลายตัวยังคงรองรับส่วนเสริมที่ใช้ XUL และ XPCOM Waterfoxยังคงรักษาโค้ดเบสแบบเดิมของ Mozilla ไว้สำหรับเบราว์เซอร์Waterfox Classic [ 5 ]เบราว์เซอร์Pale Moon [ 6 ] เบราว์เซอร์Basilisk [ 7 ]และโครงการขนาดเล็กจำนวนมากใช้และบำรุงรักษาการใช้งาน Unified XUL Platform (UXP) ร่วมกัน

ประวัติศาสตร์

ตารางธาตุของ XUL เป็นส่วนเสริมอ้างอิงที่ออกแบบมาเพื่อแสดงให้เห็นถึงความสามารถของ XUL

XUL ถูกคิดค้นขึ้นที่Netscapeในปี 1997 ซึ่งเป็นส่วนหนึ่งของความพยายามในการพัฒนาที่ในที่สุดก็กลายเป็นโค้ดเบสของ Mozilla [ 8 ] XUL มีลักษณะคล้ายกับเทคโนโลยีเว็บที่ใช้โดย เอนจิ้นการเรนเดอร์ Geckoเมื่อ XUL เปิดตัว มันได้เพิ่มคุณสมบัติที่เหนือกว่าHTML 4 มาตรฐานในขณะนั้น มันถูกออกแบบมาให้เป็นส่วนขยายของ HTML เพื่อใช้กับแอปพลิเคชันมากกว่าเอกสาร[ 9 ]

XUL ถูกใช้โดยโครงการต่างๆ ของ Mozilla โครงการ ที่แยกออกมาจาก Mozilla และโครงการที่เกี่ยวข้องกับ Mozilla อย่างใกล้ชิด โครงการซอฟต์แวร์บางโครงการ เช่นSongbird , Komodo IDEและZoteroเริ่มต้นจากการเป็นแอปพลิเคชันเดสก์ท็อปที่ใช้XULRunnerในการเรนเดอร์และสร้าง UI ในช่วงต้นทศวรรษ 2000 มีความสนใจในการใช้ XUL จากฝ่ายอื่นๆ รวมถึงAmazon [ 10 ]แต่พวกเขาก็เปลี่ยนไปใช้HTML5แทน[ 1 ] [ 2 ] คุณสมบัติหลายอย่างของเทคโนโลยีเว็บสมัยใหม่ เช่น HTML5, CSS3, ECMAScript 5+, WebGL และ WebAssembly ที่ทำให้แอปพลิเคชันเว็บที่ทันสมัยและครบครันเป็นไปได้ โดยไม่จำเป็นต้องใช้เทคโนโลยีปลั๊กอินเบราว์เซอร์NPAPI / PPAPI / ActiveX แบบดั้งเดิม เช่น Adobe Flash , Silverlight , JavaหรือShockwaveทำให้ XUL ส่วนใหญ่ไม่จำเป็นอีกต่อไป[ 9 ]

Mozilla ได้เปิดตัว Firefox 57 หรือที่รู้จักกันในชื่อ Firefox Quantum ในเดือนพฤศจิกายน 2017 ซึ่งเป็นส่วนหนึ่งของการเปลี่ยนแปลงนี้ Firefox ได้เสร็จสิ้นการเปลี่ยนไปใช้สถาปัตยกรรมแบบมัลติโปรเซส แม้ว่าส่วนเสริม XUL จะสามารถทำงานในสถาปัตยกรรมนี้ได้ แต่ก็มักจะสร้างปัญหาด้านประสิทธิภาพอย่างมาก ด้วยเหตุนี้ Mozilla จึงได้ลบการสนับสนุนส่วนเสริม แบบเก่า รวมถึงการใช้โค้ด XUL แบบกำหนดเอง[ 3 ] [ 4 ] Mozilla ได้เปลี่ยนระบบส่วนขยายของเบราว์เซอร์ไปใช้ WebExtensions API แบบข้ามเบราว์เซอร์ ซึ่งส่วนใหญ่มีพื้นฐานมาจาก Chrome extension API ในช่วงปลายปี 2017 Firefox ยังคงมี XUL bindings จำนวน 289 รายการสำหรับส่วนประกอบเบราว์เซอร์ดั้งเดิม ภายในสิ้นปี 2019 Mozilla ได้ลบไฟล์ XUL ทั้งหมดออกจากmozilla-centralrepository ของพวกเขา [ 11 ] [ 1 ] [ 2 ]

เมื่อ Mozilla ยกเลิกการสนับสนุน XUL จาก Firefox ก็ยังมีแอปพลิเคชันหลายตัวที่ใช้ XUL อยู่ Mozilla เริ่มทยอยยกเลิกการสนับสนุน XUL จากโปรแกรมอีเมลThunderbirdพวกเขาปล่อย Thunderbird 78 ที่ไม่มีการสนับสนุนส่วนขยายที่ใช้ XUL ในปี 2020 [ 12 ] ชุด โปรแกรมอินเทอร์เน็ต SeaMonkeyเลือกที่จะนำ XUL กลับมาใช้ใหม่สำหรับโค้ดเบสของ Firefox Quantum และการพัฒนาชุดโปรแกรมก็ชะลอตัวลงหลังจากนั้น นักพัฒนา Pale Moonได้แยกโค้ดเบส Firefox 52 ESR ทั้งหมดของ Mozilla เพื่อสร้าง Unified XUL Platform (UXP)สำหรับ เอ็นจิ้นการเรนเดอร์ Goanna ของพวกเขา UXP ยังคงรักษาความสามารถของ XUL แบบดั้งเดิมไว้[ 13 ]ด้วยเหตุนี้ Pale Moon และแอปพลิเคชัน UXP อื่นๆ จึงสามารถขยายได้มากกว่าเมื่อเทียบกับ Firefox และ Thunderbird เวอร์ชันใหม่ๆ[ 14 ]

การใช้งาน

XUL สามารถใช้งานได้เฉพาะกับโค้ดเบสของ Mozilla (หรือเวอร์ชันที่แยกออกมา) เท่านั้น เนื่องจากเอ็นจิ้นGecko (หรือGoanna ) ทำหน้าที่เรนเดอร์ XUL [ 15 ]

โปรแกรมเมอร์แอปพลิเคชันจำเป็นต้องกำหนดอินเทอร์เฟซ XUL เป็นชุดส่วนประกอบที่แยกจากกันสามชุด:

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

XUL กำหนดองค์ประกอบที่หลากหลาย ซึ่งโดยคร่าวๆ แล้วจัดอยู่ในประเภทต่อไปนี้:

พฤติกรรมเริ่มต้นของวิดเจ็ต XUL สามารถเปลี่ยนแปลงได้โดยใช้การผูกปุ่ม XBL

เอ็กซ์บีแอล

XML Binding Language ( XBL ) เป็นภาษามาร์กอัปแบบXMLสำหรับเปลี่ยนแปลงพฤติกรรมของวิดเจ็ต XUL เช่นแถบเลื่อน[ 16 ] [ 17 ]ไฟล์ XBL ประกอบด้วยการผูก (bindings ) ซึ่งแต่ละรายการจะอธิบายพฤติกรรมของวิดเจ็ต XUL องค์ประกอบรากของไฟล์ XBL คือองค์ประกอบ <XUL> ซึ่งประกอบด้วยองค์ประกอบ <XUL> หนึ่งรายการขึ้นไปแต่ละองค์ประกอบ <XUL> ประกาศการผูกหนึ่งรายการ ซึ่งสามารถแนบกับองค์ประกอบ XUL ใดก็ได้ นอกจากนี้ยังอาจมีแอตทริบิวต์ <XUL> การผูกจะถูกกำหนดให้กับองค์ประกอบ <XUL> โดยการตั้งค่าคุณสมบัติ CSS เป็นURLของไฟล์การผูก[ 18 ]ตัวอย่างเช่น: <bindings><binding><binding>id-moz-binding

scrollbar { -moz- binding : url ( 'somefile.xml#binding1' ); }

ตัวอย่าง

ตัวอย่างนี้แสดงปุ่มสามปุ่มที่ซ้อนกันอยู่ในกล่องแนวตั้ง: [ 19 ]

<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?><window id= "vbox example" title= "ตัวอย่างที่ 3...." xmlns= "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" > <layout> <button id= "yes1" label= "ใช่" /> <button id= "no1" label= "ไม่" /> <button id= "maybe1" ​​label= "อาจจะ" /> </layout> </window>

อ้างอิงถึงGhostbusters

XUL มีการอ้างอิงถึงภาพยนตร์เรื่อง Ghostbusters ปี 1984 [ 20 ]ตัวร้ายในภาพยนตร์เรื่องนี้คือเทพเจ้าสมมติ Zuul ผู้เฝ้าประตู[ 21 ] Zuul เข้าสิงร่างของตัวละคร Dana Barrett และประกาศว่า "ไม่มี Dana มีแต่ Zuul เท่านั้น" [ 22 ] [ 20 ]ผู้สร้าง XUL ซึ่งออกเสียงเหมือนกับ Zuul [ 23 ]ได้สร้างสโลแกนว่า "ไม่มีข้อมูล มีแต่ XUL เท่านั้น!" [ 24 ]สโลแกนและ Zuul ในฐานะผู้เฝ้าประตูถูกอ้างอิงในURI เนมสเปซ XML ของ XUL และเคยมีอยู่ในส่วนเสริม Firefox ทั้งหมดมาก่อน: [ 20 ]

http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul

— Mozilla [ 20 ]

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=XUL&oldid=1325509274 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เอ็กซ์ยูแอล

XUL ( / ˈ z uː l / ZOOL ) ซึ่งย่อมาจากXML User Interface Languageเป็นภาษามาร์กอัปสำหรับส่วนติดต่อผู้ใช้ที่พัฒนาโดยMozilla XUL เป็นรูปแบบXML

ประวัติศาสตร์

XUL ถูกคิดค้นขึ้นที่ Netscape ในปี 1997 ซึ่งเป็นส่วนหนึ่งของความพยายามในการพัฒนาที่ในที่สุดก็กลายเป็น โค้ดเบส ของ Mozilla [ 8 ] XUL มีลักษณะคล้ายกับเทคโนโลยีเว็บที่ใช้โดย เอนจิ้นการเรนเดอร์ Gecko เมื่อ XUL เปิดตัว มันได้เพิ่มคุณสมบัติที่เหนือกว่า HTML 4...

การใช้งาน

XUL สามารถใช้งานได้เฉพาะกับ โค้ดเบส ของ Mozilla (หรือเวอร์ชัน ที่แยกออก มา) เท่านั้น เนื่องจาก เอ็นจิ้น Gecko (หรือ Goanna ) ทำหน้าที่เรนเดอร์ XUL [ 15 ]

เอ็กซ์บีแอล

XML Binding Language ( XBL ) เป็น ภาษามาร์กอัป แบบ XML สำหรับเปลี่ยนแปลงพฤติกรรมของ วิดเจ็ต XUL เช่นแถบ เลื่อน [ 16 ] [ 17 ] ไฟล์ XBL ประกอบด้วย การผูก (bindings ) ซึ่งแต่ละรายการจะอธิบายพฤติกรรมของวิดเจ็ต XUL องค์ประกอบรากของไฟล์ XBL คือองค์ประกอบ...