- Swift เหมาะกับการสร้างส่วนติดต่อผู้ใช้ด้วยไวยากรณ์ที่สะอาด การพิมพ์แบบสแตติก และฟีเจอร์พิเศษที่ช่วยให้เขียนโค้ดได้ง่าย
- Adwaita for Swift ใช้ประโยชน์จากความสามารถเหล่านี้ของ Swift เพื่อมอบอินเทอร์เฟซที่ใช้งานเข้าใจง่ายสำหรับการพัฒนาแอปพลิเคชันบนแพลตฟอร์ม GNOME
- GNOME เป็นเดสก์ท็อปโอเพนซอร์สยอดนิยมสำหรับลินุกซ์ โดยเน้นความเรียบง่ายและการเข้าถึง
ตัวอย่างโค้ด
- ในตัวอย่างโค้ดที่ใช้ Adwaita for Swift มีการกำหนดวิวชื่อ
Counter เพื่อแสดงส่วนติดต่อผู้ใช้ภายในหน้าต่าง
- วิวสามารถซ้อนอยู่ภายในวิวอื่น หรือถูกเพิ่มเป็นลูกของหน้าต่างได้ และสามารถแก้ไขเนื้อหาจากภายนอกได้ตามตำแหน่งของมันในลำดับชั้นของวิว
- สิ่งนี้ทำให้การนำวิวต่าง ๆ มาประกอบกันเพื่อสร้างผลลัพธ์ที่หลากหลายทำได้ง่ายขึ้น
แรงจูงใจ
- เพื่อให้สามารถเขียนแอป GNOME ด้วย Swift ได้
- binding ของ libadwaita และ GTK แบบเดิมใช้รูปแบบการเขียนโค้ดเชิงคำสั่งที่สร้างส่วนติดต่อผู้ใช้ด้วยชุดคำสั่ง
- Adwaita for Swift สร้างขึ้นโดยยึดข้อมูลเป็นศูนย์กลาง ดังนั้นเมื่อกดปุ่มแล้วเปลี่ยนตัวแปร
count ส่วนติดต่อผู้ใช้จะอัปเดตโดยอัตโนมัติ
ความง่ายในการใช้งาน
- binding แบบดั้งเดิมต้องเรียกฟังก์ชันบนออบเจ็กต์เพื่อให้วิดเจ็ตอัปเดตเนื้อหา ทุกครั้งที่ค่ามีการเปลี่ยนแปลง
- Adwaita for Swift เพียงแค่เพิ่มตัวระบุเฉพาะให้กับตัวแปรที่ต้องการเก็บไว้ ที่เหลือระบบจะจัดการให้
ความสามารถในการอ่าน
- แนวทางที่ยึดข้อมูลเป็นศูนย์กลางส่งผลดีต่อความสามารถในการอ่านโค้ด
- ด้วยการกำหนดส่วนติดต่อผู้ใช้แบบประกาศตัวเอง ทำให้สามารถโฟกัสที่รูปลักษณ์และพฤติกรรมของแอปได้มากกว่าวิธีการที่ใช้เพื่อให้ได้ผลลัพธ์
การพัฒนาแอปข้ามแพลตฟอร์ม
- Adwaita for Swift ช่วยให้เขียนแอปที่ทำงานได้บน Linux, macOS และ Windows จาก codebase เดียว
- สามารถแชร์โค้ด Swift ฝั่งแบ็กเอนด์ระหว่างแอป SwiftUI และแอป GNOME ได้
- คุณสามารถสร้างแอป GNOME ใหม่ด้วย Swift พร้อมทั้งได้ความสามารถในการอ่านโค้ดที่ยอดเยี่ยมและความปลอดภัยด้านหน่วยความจำ
การเปิดตัวแอป
- Adwaita for Swift ทำงานร่วมกับ Flathub ได้ดี ช่วยให้การติดตั้งและการเผยแพร่แอปสำหรับเดสก์ท็อปลินุกซ์ง่ายขึ้น
- มีส่วนขยาย Freedesktop SDK สำหรับ Swift 5 และมีเครื่องมือสำหรับแปลง dependency ของ Swift Package Manager ให้เป็นแหล่งที่มาของ Flatpak
ความเห็นของ GN⁺
- การผสาน Swift กับ GNOME เปิดโอกาสให้นักพัฒนาสร้างแอปบนแพลตฟอร์มใหม่ โดยเฉพาะเมื่อความสามารถอันแข็งแกร่งของภาษา Swift มารวมกับสภาพแวดล้อมที่เป็นมิตรต่อผู้ใช้ของ GNOME จึงเอื้อต่อประสบการณ์การพัฒนาที่มีประสิทธิภาพ
- บทความนี้นำเสนอแนวทางใหม่ต่อสภาพแวดล้อมเดสก์ท็อปลินุกซ์ และเน้นย้ำความสะดวกและความสามารถในการอ่านที่ได้จากการพัฒนาในสไตล์เชิงประกาศเมื่อเทียบกับวิธีเดิม
- เน้นข้อดีของการพัฒนาข้ามแพลตฟอร์ม และชี้ให้เห็นความสำคัญของการมอบประสบการณ์ผู้ใช้แบบเดียวกันบนระบบปฏิบัติการที่หลากหลาย
- ในแง่พื้นฐานทางเทคนิค การพิมพ์แบบสแตติกและความปลอดภัยด้านหน่วยความจำของ Swift สามารถช่วยยกระดับประสิทธิภาพและความเสถียรของแอปได้
- ในมุมมองเชิงวิพากษ์ ควรคำนึงถึงความเป็นไปได้ของปัญหาความเข้ากันได้หรือประเด็นด้านประสิทธิภาพในเดสก์ท็อปสภาพแวดล้อมอื่นที่ไม่ใช่ GNOME
3 ความคิดเห็น
https://stuff.mit.edu/afs/athena/…
การออกเสียงอย่างเป็นทางการของ GNOME ไม่ใช่ โนม แต่เป็น กะนอม
ยอดเยี่ยมมากครับ
ความคิดเห็นจาก Hacker News
การพูดคุยเกี่ยวกับแรปเปอร์ที่คล้าย SwiftUI
การกล่าวถึงโปรเจกต์และเครื่องมืออื่น ๆ
การแบ่งปันประสบการณ์โปรเจกต์ส่วนตัว
การเปรียบเทียบกับประสบการณ์ในอดีต
ปัญหาในการรันบน Mac
ความเห็นเกี่ยวกับ "เฟรมเวิร์กในฝัน" ส่วนตัว
คำถามเกี่ยวกับการรองรับ 3D ใน gtk4
ความเห็นเกี่ยวกับการใช้คีย์ในพารามิเตอร์ของฟังก์ชัน
การพูดคุยเกี่ยวกับการทดสอบโค้ดเบส Swift
พบว่า Swift กำลังกลายเป็นตัวเลือกที่น่าสนใจสำหรับการพัฒนาเดสก์ท็อป