Libadwaita เวอร์ชัน 1.0 เปิดตัวแล้ว ไลบรารีสำหรับสร้างอินเทอร์เฟซสไตล์ Gnome

นักพัฒนา GNOME เปิดตัว ไลบรารี libadwaite เวอร์ชันเสถียรรุ่นแรก ซึ่งรวมถึงชุดของส่วนประกอบสำหรับการออกแบบส่วนต่อประสานผู้ใช้ที่เป็นไปตามแนวทางของ GNOME HIG (Human Interface Guidelines)

ไลบรารีนี้ประกอบด้วยวิดเจ็ตและอ็อบเจ็กต์ที่พร้อมใช้งานสำหรับการสร้างแอปพลิเคชันที่สอดคล้องกับสไตล์ GNOME ทั่วไป ซึ่งอินเทอร์เฟซนี้สามารถปรับให้เข้ากับหน้าจอขนาดใดก็ได้

ห้องสมุด Libadwaite คือ ใช้ร่วมกับ GTK4 และรวมส่วนประกอบธีม GNOME Adwaita ถูกย้ายจาก GTK ไปยังห้องสมุดแยกต่างหาก

รหัส libadwaita ขึ้นอยู่กับไลบรารี libhandy และอยู่ในตำแหน่งที่จะแทนที่ไลบรารีนี้ซึ่งเดิมสร้างขึ้นเพื่อสร้างอินเทอร์เฟซที่ตอบสนองบนแพลตฟอร์มมือถือที่ใช้เทคโนโลยี GNOME และได้รับการปรับปรุงในสภาพแวดล้อม Phosh GNOME สำหรับสมาร์ทโฟน Librem 5

ห้องสมุด iรวมวิดเจ็ตมาตรฐานที่ครอบคลุมองค์ประกอบอินเทอร์เฟซต่างๆ เช่น รายการ แผง แก้ไขบล็อก ปุ่ม แท็บ แบบฟอร์มการค้นหา กล่องโต้ตอบ ฯลฯ วิดเจ็ตที่เสนอนี้ช่วยให้สามารถสร้างอินเทอร์เฟซสากลที่ทำงานได้ทั้งบนหน้าจอพีซีและแล็ปท็อปขนาดใหญ่ และบนหน้าจอสัมผัสขนาดเล็กของสมาร์ทโฟน

อินเทอร์เฟซของแอปพลิเคชัน เปลี่ยนแปลงแบบไดนามิกตามขนาดหน้าจอและอุปกรณ์ อินพุตที่มีอยู่ ไลบรารียังมีชุดค่าที่ตั้งล่วงหน้าของ Adwaita ที่ปรับรูปลักษณ์ให้สอดคล้องกับแนวทางของ GNOME โดยไม่ต้องปรับแต่งเอง

การย้ายรูปภาพ GNOME ไปยังไลบรารีแยกต่างหากช่วยให้การเปลี่ยนแปลงที่จำเป็นสำหรับ GNOME ได้รับการพัฒนาแยกจาก GTK ทำให้นักพัฒนา GTK สามารถมุ่งเน้นไปที่พื้นฐาน และนักพัฒนา GNOME ผลักดันการเปลี่ยนแปลงรูปแบบที่พวกเขาต้องการมากขึ้น รวดเร็วและยืดหยุ่นโดยไม่กระทบต่อ GTK เอง

อย่างไรก็ตาม แนวทางนี้สร้างความท้าทายให้กับนักพัฒนา ของสภาพแวดล้อมผู้ใช้ตาม GTK ของบุคคลที่สามที่ ต้องใช้ libadwaita และปรับให้เข้ากับข้อกำหนดของ GNOME และสร้างใหม่หรือพัฒนาเวอร์ชันของคุณเองของไลบรารีสไตล์ GTK ยอมจำนนต่อแอปพลิเคชัน GNOME ที่จะมีลักษณะต่างกันในสภาพแวดล้อมตามไลบรารีสไตล์ของบุคคลที่สาม

ความผิดหวังหลักของนักพัฒนาสภาพแวดล้อมภายนอกเกี่ยวข้องกับปัญหาการแทนที่สีขององค์ประกอบอินเทอร์เฟซ แต่นักพัฒนา libadwaita กำลังทำงานเพื่อจัดหา API สำหรับการจัดการสีที่ยืดหยุ่น ซึ่งจะเป็นส่วนหนึ่งของเวอร์ชันในอนาคต

ในบรรดาปัญหาที่ยังไม่ได้แก้ไขนั้นเรียกการทำงานที่ถูกต้องของวิดเจ็ตควบคุมท่าทางสัมผัสบนหน้าจอสัมผัสเท่านั้น สำหรับแผงสัมผัส การทำงานที่ถูกต้องของวิดเจ็ตเหล่านี้จะมีให้ในภายหลัง เนื่องจากต้องมีการเปลี่ยนแปลง GTK

การเปลี่ยนแปลงที่สำคัญใน libadwaita เมื่อเทียบกับ libhandy:

  • ชุดสไตล์ที่ออกแบบใหม่ทั้งหมด
  • กลไกสำหรับการผูกสีกับองค์ประกอบและการเปลี่ยนสีระหว่างการใช้งานแอปพลิเคชันมีการเปลี่ยนแปลง (ปัญหาเกี่ยวข้องกับข้อเท็จจริงที่ว่า libadwaita เปลี่ยนไปใช้ SCSS ซึ่งต้องมีการประกอบใหม่เพื่อเปลี่ยนสี)
  • ปรับปรุงคุณภาพการแสดงผลเมื่อใช้ธีมสีเข้มเนื่องจากการเลือกรายการที่ตัดกันมากขึ้น
  • ลิภันดี กลายเป็น ลิพัทธะ
  • เพิ่มคลาสสไตล์ใหม่ส่วนใหญ่เพื่อใช้ในแอปพลิเคชัน
  • ไฟล์ SCSS แบบเสาหินขนาดใหญ่แบ่งออกเป็นชุดไฟล์สไตล์ขนาดเล็ก
    เพิ่ม API เพื่อตั้งค่าสไตล์มืดและโหมดคอนทราสต์สูง
  • เอกสารประกอบได้รับการแก้ไขใหม่ และขณะนี้ถูกสร้างขึ้นโดยใช้ชุดเครื่องมือ gi-docgen
  • เพิ่ม API แอนิเมชั่นที่สามารถใช้เพื่อสร้างเอฟเฟกต์การเปลี่ยนภาพเมื่อแทนที่สถานะหนึ่งด้วยสถานะอื่น เช่นเดียวกับการสร้างแอนิเมชั่นสปริง
  • สำหรับแท็บที่ใช้ AdwViewSwitcher ความสามารถในการแสดงป้ายกำกับที่มีจำนวนการแจ้งเตือนที่มองไม่เห็นถูกเพิ่มเข้ามา
  • เพิ่มคลาส AdwApplication (คลาสย่อยของ GtkApplication) สำหรับการเริ่มต้น Libadwaita และรูปแบบการโหลดอัตโนมัติ
    เพิ่มวิดเจ็ตที่เลือกเพื่อลดความซับซ้อนของการดำเนินการทั่วไป:
  • AdwWindowTitle สำหรับตั้งชื่อหน้าต่าง, AdwBin สำหรับลดความซับซ้อนของคลาสย่อยย่อย, AdwSplitButton สำหรับปุ่มคอมโบ, AdwButtonContent สำหรับปุ่มที่มีไอคอนและป้ายกำกับ
  • ล้าง API เสร็จแล้ว

ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ คุณสามารถตรวจสอบรายละเอียด ในลิงค์ต่อไปนี้.


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา