
Cambalache (โปรแกรมสร้าง GUI สำหรับ GTK 4 และ GTK 3) : โปรแกรม Cambalache (อ่านว่า "คัม-บา-ลา-เช") เป็นเครื่องมือออกแบบ ส่วนติดต่อผู้ใช้งานแบบกราฟิก (GUI) หรือ ส่วนต่อประสานกับผู้ใช้ (UI) ในรูปแบบที่เรียกว่า "WYSIWYG (What You See Is What You Get)" หากแปลตามตัวตรง ๆ เลยก็คือ "สิ่งที่คุณเห็นคือสิ่งที่คุณได้รับ" นั่นหมายความว่าคุณสามารถมองเห็นหน้าตาของโปรแกรมได้ทันที ในขณะที่กำลังออกแบบ โดยไม่ต้องเขียนโค้ดเพื่อรันดูผลลัพธ์ก่อน
โปรแกรมนี้ถูกสร้างขึ้นมาเพื่อใช้สำหรับพัฒนาโปรแกรมที่ทำงานบน ไลบรารี (Library) GTK เวอร์ชัน 3 และ 4 ซึ่งเป็นมาตรฐานหลักในการสร้างโปรแกรมบน ระบบปฏิบัติการ (OS) ลีนุกซ์ (Linux) และ GNOME
GTK คืออะไร?
GTK คือชุดเครื่องมือสำหรับสร้าง GUI โดย GTK มีวิดเจ็ต (Widgets) ให้เลือกใช้อย่างครบถ้วน จึงเหมาะสำหรับโครงการพัฒนาซอฟต์แวร์ทุกรูปแบบ ตั้งแต่เครื่องมือขนาดเล็ก ไปจนถึงชุดโปรแกรมที่สมบูรณ์ และซับซ้อน
แม้ว่า GTK จะเป็นหัวใจหลักของแพลตฟอร์มการพัฒนา GNOME แต่ก็สามารถนำไปใช้เขียนโปรแกรมสำหรับสภาพแวดล้อมอื่นๆ บน Linux ได้เช่นกัน รวมถึงยังรองรับการสร้างโปรแกรมที่ใช้งานบน วินโดวส์ (Windows) และ แมคโอเอส (macOS) ได้อีกด้วย
เป้าหมายหลักของ โปรแกรม Cambalache คือ การช่วยให้เหล่านักพัฒนาไม่ต้องนั่งเขียนไฟล์ XML หรือ GtkBuilder ด้วยตัวเองซึ่งมีความซับซ้อน และผิดพลาดได้ง่าย โดยโปรแกรมจะให้ผู้ใช้ลากวางส่วนประกอบต่าง ๆ ไม่ว่าจะเป็นปุ่มกด, ช่องกรอกข้อความ, แถบเมนู หรือหน้าต่างโต้ตอบ แล้วปรับแต่งคุณสมบัติต่าง ๆ ผ่านหน้าจอโปรแกรมได้โดยตรง จุดเด่นที่สำคัญคือ การใช้สถาปัตยกรรมแบบแยกส่วน โดยส่วนที่แสดงผลหน้าจอที่ผู้ใช้กำลังออกแบบจะทำงานแยกเป็นอีกหนึ่งกระบวนการ (Process) ต่างหาก เพื่อป้องกันไม่ให้โปรแกรมหลักค้าง หรือปิดตัวลงหากเกิดข้อผิดพลาดในการตั้งค่าส่วนประกอบบางอย่าง
นอกจากความสามารถในการออกแบบแล้ว โปรแกรม Cambalache ยังรองรับมาตรฐานใหม่ ๆ อย่าง Blueprint ซึ่งเป็นภาษาที่อ่านง่ายกว่า XML รวมถึงการจัดการไฟล์ทรัพยากรต่าง ๆ เช่น ไอคอน และ สไตล์ซีท (CSS) เพื่อให้หน้าตาโปรแกรมมีความสวยงามตามต้องการ
ชื่อของโปรแกรมนี้มีที่มาจากภาษาสเปน ที่หมายถึงร้านขายของเก่า หรือสิ่งที่ดูยุ่งเหยิง ซึ่งผู้พัฒนาตั้งใจสื่อถึงรากเหง้าของตนเองในอเมริกาใต้ และต้องการสนับสนุนให้ชุมชนนักพัฒนาในภูมิภาคนั้นเข้ามามีส่วนร่วมในโลกของโอเพนซอร์สมากขึ้น
เป็นโปรแกรมช่วยออกแบบหน้าจอส่วนติดต่อผู้ใช้ที่เห็นผลลัพธ์ทันที (What You See Is What You Get) สำหรับแอปพลิเคชันที่ใช้ GTK 3 และ GTK 4
สร้างมาเพื่อช่วยให้นักพัฒนาไม่ต้องเขียนไฟล์ XML (GtkBuilder) ด้วยมือ ลดความซับซ้อน และโอกาสเกิดข้อผิดพลาดในการเขียนโค้ดโครงสร้างหน้าจอ
เขียนด้วย ภาษา Python ทั้งหมด ประมาณ 20,000 บรรทัด และใช้เวลาพัฒนามากกว่า 5 ปี
ใช้รูปแบบการออกแบบ MVC โดยมีฐานข้อมูล SQLite เป็น Data Model ในการเก็บข้อมูลประเภท GObject และประวัติการแก้ไข (Undo / Redo)
ส่วนของการแสดงผลหน้าจอที่กำลังออกแบบ (Workspace) จะรันแยกกระบวนการออกจากตัวโปรแกรมหลัก เพื่อความเสถียร หากวิดเจ็ตที่ออกแบบมีปัญหา โปรแกรมหลักจะไม่ค้างตามไปด้วย
ใช้เทคโนโลยี Wayland ในการฝังหน้าจอตัวอย่างเข้าไปในตัวโปรแกรมหลัก ทำให้การแสดงผลลื่นไหล และรองรับทั้ง GTK 3 และ 4 พร้อมกัน
ดึงข้อมูลคุณสมบัติของวิดเจ็ตต่าง ๆ มาจากไฟล์ Gir โดยตรง ทำให้รองรับวิดเจ็ตมาตรฐานได้อย่างแม่นยำ
นอกจากไฟล์ XML มาตรฐานแล้ว ยังรองรับภาษา
การทำงานจะทำเป็นรูปแบบโปรเจกต์ ซึ่งสามารถรวมไฟล์ UI หลาย ๆ ไฟล์เข้าด้วยกันได้ เหมาะสำหรับการสร้างโปรแกรมที่มีความซับซ้อน
โปรแกรม Cambalache เป็นซอฟต์แวร์ ฟรี (Free) ที่พัฒนาแบบ โอเพ่นซอร์ส (Open-Source) ที่อยู่ภายใต้เงื่อนไขการใช้งานแบบ GNU LGPLv2.1 ซึ่งหมายความว่าผู้ใช้สามารถใช้งาน, ดัดแปลง, แจกจ่าย และเข้าถึง โค้ดต้นฉบับ (Source Code) ได้อย่างเสรี ภายใต้เงื่อนไขที่กำหนด
หากต้องการค้นหาข้อมูลเพิ่มเติม สามารถติดต่อกับทางผู้พัฒนาโปรแกรมนี้ได้ผ่านทางช่องทางเว็บไซต์ (Website) : https://gitlab.gnome.org/jpu/cambalache (ภาษาอังกฤษ) ได้เลย
Cambalache (pronounced /kamba'latʃe/) is a WYSIWYG (What You See Is What You Get) Graphical User Interface (GUI) or User Interface (UI) design tool. This means you can immediately see the application's appearance while designing without having to write code to run and preview the results. The program was created for developing applications that run on GTK versions 3 and 4, which are the primary standards for building software on Linux operating systems and the GNOME desktop environment.
คำสำคัญ