โจนาส
แกว่ง generalises สถาปัตยกรรมพื้นฐานของคุณเพื่อให้คุณมีประสบการณ์ผู้ใช้แพลตฟอร์มที่เป็นกลาง ส่วนประกอบเฮฟวี่เวทเพียงชิ้นเดียว (ที่จัดทำโดยระบบปฏิบัติการ) คือคอนเทนเนอร์ JFrame และส่วนที่เหลือจะถูกจัดการโดย Swing TAKIT AWT ในอีกด้านหนึ่งขอให้ระบบปฏิบัติการดึงส่วนประกอบ UI ทั้งหมดซึ่งหมายความว่าเร็วขึ้นในหลาย ๆ วิธีเมื่อคุณใช้ส่วนประกอบ UI ดั้งเดิมเฉพาะกับระบบปฏิบัติการ SWT พยายามที่จะบรรลุจุดกึ่งกลางสำหรับส่วนประกอบมาตรฐานต่าง ๆ เช่นปุ่มและฉลาก (ซึ่งมีอยู่ในระบบปฏิบัติการส่วนใหญ่) มันช่วยให้ระบบปฏิบัติการจัดการกับสิ่งเหล่านั้นและสำหรับส่วนประกอบพิเศษอื่น ๆ SWT จะจัดการการสร้างให้คุณ
ที่ได้รับการกล่าวว่าฉันสามารถร่างข้อบกพร่อง
(1) เนื่องจากชุดเครื่องมือสร้างและแสดงส่วนประกอบสำหรับคุณแทนที่จะถามระบบปฏิบัติการคุณจึงไม่ได้รับประโยชน์จากความเร็วของส่วนประกอบที่มีอยู่ภายในที่ให้บริการโดยระบบปฏิบัติการ
(2) UI นั้นไม่ได้ จำกัด เฉพาะเพราะมันดูต่างไปจากแพลตฟอร์มระบบปฏิบัติการส่วนใหญ่เกี่ยวกับสิ่งที่คุณใช้และรูปลักษณ์
(3) ตัวจัดการเลย์เอาต์บางตัวเช่น GridBadLayout และอื่น ๆ สามารถทำให้ง่ายขึ้นได้ ฉันได้สูญเสียการนับจำนวนโปรเจคที่ฉันทำงานในที่ซึ่งผู้คนใส่ GridBagLayout ไว้ในโค้ด bespoke เพื่อให้ใช้งานได้ง่ายขึ้น
ฉันแนะนำให้คุณเขียนแอพง่าย ๆ ใน AWT, Swing และ SWT และเปรียบเทียบแนวทางการพัฒนาผลิตภัณฑ์สุดท้ายระหว่างพวกเขาทั้งหมดจากนั้นตรวจสอบความคิดเห็นต่าง ๆ ที่ทำจากนักพัฒนาคนอื่น ๆ และตัดสินใจว่าอันไหนดีที่สุด ฉันทำงานกับ Swing มาหลายปีแล้วและฉันก็ไม่ชอบ SWT แต่ฉันรู้ว่า Swing มีความซับซ้อนมากกว่าที่จะต้องเปรียบเทียบกับเฟรมเวิร์กอื่น ๆ