มีอะไรใหม่สำหรับนักพัฒนา
แพลตฟอร์มพัฒนา GNOME 2.12 สร้างฐานที่มั่นคงสำหรับนักพัฒนาซอฟต์แวร์ทั่วไป และสำหรับนักพัฒนา GNOME เองด้วย GNOME 2.12 มีการปรับปรุงเพิ่มเติม ทั้งในส่วนที่ผู้ใช้มองเห็นได้ และในส่วน API โดยยังคงความเข้ากันได้กับรุ่นเก่า และความเสถียรของ API ไว้ ทั้งยังช่วยอำนวยความสะดวกในการพัฒนาโปรแกรมที่ทำงานได้บนยูนิกซ์และวินโดวส์ และใช้มาตรฐานที่สำคัญๆ เพื่อให้ทำงานร่วมกับเดสก์ท็อปอื่นๆ ได้
- 3.1 การปรับปรุงใน GTK+
- 3.2 การทำงานข้ามแพลตฟอร์ม
- 3.3 การทำตามมาตรฐาน
3.1 การปรับปรุงใน GTK+
ใน GNOME 2.12 นี้ GTK+ 2.8 มีความสามารถที่ผู้ใช้มองเห็นได้ที่น่าสนใจบางประการ ตัวอย่างเช่น
- GTK+ รุ่นนี้ ใช้ API วาดรูปของ Cairo ซึ่งพัฒนาโดย freedesktop ทำให้การวาดวิดเจ็ตดัดแปลงทำได้ง่ายขึ้น และยังสามารถใช้เอฟเฟกต์ใหม่ๆ ได้ด้วย ในอนาคตอันใกล้ การใช้ Cairo น่าจะช่วยให้ GNOME สามารถใช้เอฟเฟกต์กราฟิกส์ใหม่ๆ และใช้การเร่งความเร็วด้วยฮาร์ดแวร์ได้ รวมทั้งการปรับปรุง API สำหรับการพิมพ์ด้วย
- การจัดการการลากปล่อยมีการปรับปรุงขึ้นอีก และจะแสดงตัวอย่างข้อความขณะลากด้วย
นอกเหนือจากความเปลี่ยนแปลงดังกล่าว ซึ่งโปรแกรมที่ใช้ GTK+ ทั้งหลายสามารถใช้ได้ทันทีโดยไม่ต้องคอมไพล์ใหม่แล้ว ยังมีการเพิ่ม API ใหม่จำนวนมาก เพื่อช่วยให้การพัฒนาโปรแกรมทำได้ง่ายขึ้นอีก ตัวอย่างเช่น:
- GtkFileChooser สามารถแสดงไดอะล็อกถามการยืนยันการเขียนทับแฟ้มได้ในโหมดบันทึก
- GtkWindow สามารถมี hint เร่งด่วน เพื่อบอกตัวจัดการหน้าต่างให้แจ้งผู้ใช้ เช่น ด้วยการกะพริบหัวหน้าต่าง
- GtkIconView ได้ทำโค้ดสำหรับอินเทอร์เฟซ GtkLayout แล้ว และสามารถวาดรายการต่างๆ ด้วย GtkCellRendererCells ได้
- GtkTextView อนุญาตให้คุณกำหนดสีพื้นหลังของย่อหน้าได้แล้ว และคุณสามารถข้ามข้อความที่มองไม่เห็นเมื่อ iterate ได้ด้วย
- GtkScrollWindow มีฟังก์ชันเพื่ออ้างถึงแถบเลื่อนของหน้าต่าง
- GtkMenu สนับสนุนเมนูที่หมุนตั้งขึ้นแล้ว และสามารถละเลยโฟกัสแป้นพิมพ์ได้ เพื่อประโยชน์ของโปรแกรมเฉพาะบางอย่าง เช่น แป้นพิมพ์บนจอ
- เมนูผุดขึ้นของ GtkEntryCompletion สามารถมีความกว้างมากกว่าช่องเติมข้อความได้แล้ว และสามารถห้ามเมนูผุดถ้ามีรายการที่ตรงแค่รายการเดียวได้ด้วย
- ข้อความสัญญาอนุญาตใน GtkAboutDialog สามารถตัดบรรทัดได้แล้ว
- GtkToolButton สามารถใช้ไอคอนระบุชื่อจากชุดตกแต่งไอคอนได้ และไอคอนเหล่านี้ อาจใช้แสดงผลระหว่างลากได้ด้วย
- GtkSizeGroup สามารถละเลยวิดเจ็ตที่ซ่อนอยู่ได้
กรุณาอ่านรายการทั้งหมดของ API ใหม่ใน GTK+ 2.8 เพิ่มเติม
3.2 การทำงานข้ามแพลตฟอร์ม
ไลบรารี GTK+ ได้เป็นที่รู้จักในหมู่นักพัฒนาที่ต้องการสนับสนุนหลายแพลตฟอร์ม รวมถึงไมโครซอฟท์วินโดวส์และลินุกซ์และยูนิกซ์เป็นที่เรียบร้อยแล้ว ตัวอย่างเช่น ศิลปินอาจแก้ไขรูปภาพด้วย GIMP และ Inkscape บนลินุกซ์หรือวินโดวส์ก็ได้
และขณะนี้ ไลบรารีอีกหลายตัวของ GNOME รวมถึง ORBit2, libbonobo, libgnome, libbonoboui, libgnomeui และ gnome-vfs สามารถคอมไพล์บนไมโครซอฟท์วินโดวส์ได้ ทำให้การสร้างและแจกจ่ายโปรแกรม GNOME ในแพลตฟอร์มดังกล่าวทำได้ง่ายขึ้น ถึงแม้การสนับสนุนที่ว่านี้ ยังไม่สมบูรณ์ดี แต่ก็อาจเพียงพอสำหรับโปรแกรมบางประเภท และคาดว่าจะสมบูรณ์ในรุ่นหน้าของ GTK+ และ GNOME
3.3 การทำตามมาตรฐาน
GNOME ทำงานร่วมกับกลุ่มอย่าง freedesktop.org อย่างใกล้ชิด การสนับสนุนมาตรฐานเป็นประโยชน์อย่างยิ่งต่อผู้ใช้และนักพัฒนา GNOME ความเข้ากันได้ช่วยให้ผู้ใช้ใช้งานสะดวกขึ้น โดยทำให้ GNOME, KDE และโปรแกรมอื่นๆ ทำงานร่วมกันได้ง่ายขึ้น และการทำตามมาตรฐานเปิดยังช่วยทำให้ผู้ใช้มั่นใจได้ ว่าจะไม่ถูกผูกมัดไว้กับรูปแบบข้อมูลเชิงพาณิชย์ต่างๆ
นักพัฒนา GNOME กำลังทำงานอย่างหนักกับสมาชิกอื่นๆ ของชุมชนซอฟต์แวร์เสรีผ่าน Freedesktop.org เพื่อพัฒนามาตรฐานที่จะทำให้เกิดความเข้ากันได้ ตัวอย่างของมาตรฐานเหล่านั้นได้แก่ข้อกำหนด: ฐานข้อมูล MIME, ชุดตกแต่งไอคอน, แฟ้มที่พึ่งใช้, เมนู, รายการเดสก์ท็อป, การจัดการรูปภาพฉบับย่อ, และ ถาดระบบ นอกจากนี้ GNOME ยังสนับสนุน CORBA, XML, Xdnd, EWMH, XEMBED, XSETTINGS, และ XSMP อีกด้วย