นักออกแบบอินเทอร์เฟซ Glade
Glade Interface Designerเป็นโปรแกรมสร้างส่วนติดต่อผู้ใช้แบบกราฟิกสำหรับGTKโดยมีส่วนประกอบเพิ่มเติมสำหรับGNOMEในเวอร์ชันที่สาม Glade เป็น อิสระ จากภาษาโปรแกรมและไม่สร้างโค้ดสำหรับเหตุการณ์ แต่จะสร้าง ไฟล์ XMLซึ่งจะถูกนำไปใช้กับส่วนเชื่อมต่อที่เหมาะสม (เช่น GtkAda สำหรับใช้กับ ภาษาโปรแกรม Ada )
Glade เป็นซอฟต์แวร์โอเพนซอร์สฟรีที่เผยแพร่ภายใต้ใบอนุญาตสาธารณะทั่วไปของ GNU การพัฒนาและการ บำรุงรักษา Glade สิ้นสุดลงในปี 2022 โดยมีการเผยแพร่ครั้งสุดท้ายเมื่อวันที่ 10 สิงหาคม 2022 [ 8 ]ผู้สืบทอดคือCambalache
ประวัติและพัฒนาการ
Glade เวอร์ชัน 0.1 วางจำหน่ายครั้งแรกเมื่อวันที่ 18 เมษายน พ.ศ. 2541 [ 6 ]
Glade 3 วางจำหน่ายเมื่อวันที่ 12 สิงหาคม 2549 จากข้อมูลในเว็บไซต์ของ Glade ความแตกต่างที่เห็นได้ชัดที่สุดสำหรับผู้ใช้ทั่วไปมีดังนี้:
- รองรับ การยกเลิกและทำซ้ำในทุกการดำเนินการ
- รองรับโครงการเปิดหลายโครงการพร้อมกัน
- การลบการสร้างโค้ดออก
- ระบบช่วยเหลือตามบริบทพร้อมDevhelp
ความแตกต่างส่วนใหญ่จะอยู่ที่โครงสร้างภายใน Glade-3 เป็นการเขียนโค้ดใหม่ทั้งหมด เพื่อใช้ประโยชน์จากคุณสมบัติใหม่ของ GTK+ 2 และ ระบบ GObject (Glade-3 เริ่มพัฒนาเมื่อ Glade-1 ยังไม่ได้รับการพอร์ตไปยัง GTK+ 2) ดังนั้น โค้ดของ Glade-3 จึงมีขนาดเล็กกว่าและทำให้เกิดสิ่งใหม่ๆ ที่น่าสนใจมากมาย รวมถึง:
- แคตตาล็อกของวิดเจ็ตแบบ "เสียบปลั๊กได้" หมายความว่าไลบรารีภายนอกสามารถจัดเตรียมชุดวิดเจ็ตของตนในระหว่างการทำงาน และ Glade จะตรวจจับวิดเจ็ตเหล่านั้นได้ ที่จริงแล้ว Glade 3 รองรับเฉพาะวิดเจ็ต GTK มาตรฐานเท่านั้น วิดเจ็ต GNOME UI และ DB มีให้แยกต่างหาก
- เครื่องมือต่างๆ ของ Glade (เช่น พาเล็ตต์ ตัวแก้ไข ฯลฯ) ถูกพัฒนาขึ้นในรูปแบบวิดเจ็ต ทำให้สามารถผสานรวมเข้ากับIDE ต่างๆเช่นAnjuta ได้ง่ายขึ้น และทำให้การปรับเปลี่ยน UI ของ Glade ทำได้ง่ายขึ้นด้วย
เมื่อวันที่ 5 เมษายน 2554 มีการเปิดตัว Glade เวอร์ชันเสถียรสองเวอร์ชันที่สามารถติดตั้งได้พร้อมกัน [ 9 ] [ 10 ] [ 11 ]
- Glade 3.8: เวอร์ชันนี้รองรับ GTK+ จนถึงเวอร์ชัน 2.24 โดยมีจุดประสงค์เพื่อเป็นเส้นทางการย้ายระบบที่ดีสำหรับโปรเจกต์เก่าๆ ที่ต้องการย้ายไปใช้ GTK+ 3.0
- Glade 3.10: เวอร์ชันนี้รองรับเฉพาะวิดเจ็ตที่ยังคงมีอยู่ใน GTK+ 3.0 และตัดการสนับสนุน Libglade ออกไป
เมื่อวันที่ 11 มิถุนายน 2558 Glade 3.19.0 ได้รับการเผยแพร่ โดยขึ้นอยู่กับ GTK+ อย่างน้อย 3.16.0 ในบรรดาการแก้ไขข้อบกพร่องมากมาย เวอร์ชันนี้เป็นเวอร์ชันแรกที่รองรับวิดเจ็ต GtkStack, GtkHeaderBar และ GtkSidebar [ 12 ]
GtkBuilder
GtkBuilderเป็น รูปแบบ XMLที่ Glade Interface Designer ใช้ในการบันทึกฟอร์ม เอกสารเหล่านี้สามารถใช้ร่วมกับวัตถุ GtkBuilder เพื่อสร้างอินสแตนซ์ของฟอร์มโดยใช้ GTKได้ GladeXMLเป็น รูปแบบ XMLที่ใช้ร่วมกับ libglade ซึ่งปัจจุบันเลิกใช้แล้ว [ 13 ]
Glade Interface Designer จะสร้างซอร์สโค้ด ทั้งหมด สำหรับองค์ประกอบควบคุมแบบกราฟิก โดย อัตโนมัติ
คลาส "Gtk.Builder" ช่วยให้สามารถออกแบบอินเทอร์เฟซผู้ใช้ได้โดยไม่ต้องเขียนโค้ด[ 14 ]คลาสนี้อธิบายอินเทอร์เฟซใน ไฟล์ Extensible Markup Language (XML) จากนั้นโหลดคำอธิบาย XML ในขณะรันไทม์และสร้างวัตถุโดยอัตโนมัติ Glade Interface Designer ช่วยให้สามารถสร้างอินเทอร์เฟซผู้ใช้ใน ลักษณะ WYSIWYGได้ คำอธิบายของอินเทอร์เฟซผู้ใช้เป็นอิสระจากภาษาโปรแกรมที่ใช้
การร่างโค้ด
โปรแกรมร่างโค้ด (Code sketcher) คือแอปพลิเคชันซอฟต์แวร์ที่ช่วยให้ผู้ใช้สร้างซอร์สโค้ดจากไฟล์ GladeXML โปรแกรมร่างโค้ดส่วนใหญ่จะสร้างซอร์สโค้ดที่ใช้ไลบรารี libglade และไฟล์ GladeXML เพื่อสร้าง GUI แต่บางโปรแกรมก็สามารถสร้างโค้ดดิบที่ไม่จำเป็นต้องใช้ไฟล์ GladeXML ได้ ตารางด้านล่างนี้เปรียบเทียบข้อมูลพื้นฐานเกี่ยวกับแพ็กเกจโปรแกรมร่างโค้ด GladeXML
| ชื่อ | ผู้เขียน | ภาษาโปรแกรม | ใบอนุญาตซอฟต์แวร์ |
|---|---|---|---|
| eglade เก็บถาวรเมื่อวันที่ 13 พฤษภาคม 2018 ที่Wayback Machine | แดเนียล เอลฟิค | หอไอเฟล | ใบอนุญาตฟอรัม Eiffel |
| เกลเดกซ์ | คริสโตเฟอร์ แพ็กซ์ และ ชาร์ลส์ เอ็ดเวิร์ด แพ็กซ์ | เพิร์ล , ไพธอน , รูบี้ | จีพีแอลวี3 |
| จีแอลซี | บิล อัลเลน | ไพธอน | แอลจีพีแอล |
| ruby-glade-create-template ถูกเก็บถาวรเมื่อวันที่ 7 มิถุนายน 2013 ที่Wayback Machine | มาซาโอะ มูโตะ | ทับทิม | |
| เตปาเช่ | ซานดิโน ฟลอเรส โมเรโน | ไพธอน | แอลจีพีแอล |
| เกลดโทแบค | โทมัส ไฟรเฮอร์ | FreeBASIC (รวมถึงเฮดเดอร์สำหรับ GTK-3 และ GTK-2.22.0 / GTKGlExt-1.2.0) | จีพีแอลวี3 |
| Glade2FB | อาร์เนล บอร์ฆา | ฟรีเบสิก | จีพีแอลวี3 |
| ประตู 3 | เอฟเจ ฟาเบียน | อาดา | ใบอนุญาต MIT |
แคมบาลาช
Cambalache ( /kambaˈlat͡ʃe/ ) [ 15 ]เป็นเครื่องมือพัฒนาแอปพลิเคชันอย่างรวดเร็ว (RAD) แบบโอเพนซอร์สและฟรี[ 16 ] [ 17 ] [ 18 ]ที่ออกแบบมาเพื่อสร้างส่วนติดต่อผู้ใช้ด้วยGTK 4โดยได้รับการออกแบบให้เป็นรุ่นต่อจาก Glade [ 19 ] [ 20 ]โดยเน้นที่การสนับสนุน ไลบรารี GTK 4ในขณะที่ยังคงความเข้ากันได้กับGTK 3 Cambalache มุ่งเน้นไปที่นักพัฒนาที่ทำงานภายในระบบนิเวศของ GNOME การออกแบบของ Cambalache เน้น สถาปัตยกรรม แบบโมเดล-วิว-คอนโทรลเลอร์ (MVC)เพื่อให้มั่นใจได้ว่ามีการแยกส่วนระหว่างส่วนประกอบ UI และตรรกะทางธุรกิจของแอปพลิเคชัน
สำหรับการแสดงผลตัวอย่าง UI นั้น Cambalache ใช้Casildaซึ่งเป็นWayland compositor ที่ฝังอยู่ในวิดเจ็ตGTK [ 21 ] ทางเลือก ทางสถาปัตยกรรมนี้ช่วยเพิ่มเสถียรภาพโดยการแยก ตัวอย่าง ส่วนติดต่อผู้ใช้จากแอปพลิเคชันหลัก Casilda ใช้ไลบรารี wlroots และรองรับการแสดงผลแบบเนทีฟผ่าน dmabufs ทำให้แอปพลิเคชันไคลเอ็นต์สามารถใช้กราฟิกที่เร่งความเร็วด้วยฮาร์ดแวร์ได้[ 22 ]การแยกส่วนนี้ทำให้ระบบสามารถจัดการกับGTKเวอร์ชันต่างๆ ได้อย่างมีประสิทธิภาพ ทำให้มั่นใจได้ว่า UI ที่แสดงผลจะสะท้อนลักษณะและพฤติกรรมของแอปพลิเคชันได้อย่างถูกต้อง
ดูเพิ่มเติม
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ
- ไฟล์ไบนารีเก่าสำหรับ Windows บนSourceForge
- ไฟล์ไบนารีเก่าสำหรับ OS X ถูกเก็บถาวรเมื่อวันที่ 1 มีนาคม 2020 ที่Wayback Machine