ผมไม่ได้เขียนจาวาแต่เห็นว่าแถวนี้แฟนจาวาเยอะ เลยเอามาฝาก
IBM developerWorks มีบทความเปรียบเทียบชุด GUI toolkit ทั้งสามตัวของจาวา คือ AWT (Abstract Windows Toolkit), Swing และ SWT (Eclipse's Standard Windows Toolkit) โดยเปรียบเทียบละเอียดขนาดมีตารางบอกว่าอะไรเรียกอะไรในแต่ละชุด
อ่านคร่าวๆ แล้วเค้าแนะนำว่า Swing มีฟีเจอร์เยอะกว่า และได้เปรียบตรงที่รวมมาในจาวาอยู่แล้ว ส่วน SWT ต้องใช้ร่วมกับ JFace ถึงจะมีฟีเจอร์สู้ได้ แต่ก็ได้เปรียบเรื่องประสิทธิภาพที่ออกแบบมาเป็น native ตั้งแต่แรก
ที่มา - IBM developerWorks
Comments
ส่วนตัวผมอาจจะไม่ใช่พวกนักสร้าง GUI จ๋าเท่าไหร่ แต่ผมชอบสถาปัตยกรรมของ Swing มากกว่านะ แม้อาจจะต้องใช้เวลาเรียนรู้มากกว่าก็ตาม
ส่วนเรื่องประสิทธิภาพ SWT อาจจะเร็วกว่าก็จริงแต่ก็พังกฎของจาวาจนซันรับไ่ม่ได้ สรุปแล้วผมแอบเชียร์ Swing อยู่ห่างๆ
เห็นหัวข่าวนึกว่าคุณ deans4j เขียน :)
เคยเขียน swing ตอนนั้นรู้สึกถึงความลำบากในชีวิตน่าดูเลย ... ถ้าเป็น application interface ก็คงใช้ swing อยู่ ... แต่ถ้าเป็น web คงไปลอง Ajax ดีกว่า น่าจะเร็วกว่า (ตอนนั้นทำ realtime monitoring ผ่าน java applet ... ล่มไม่เป็นท่าครับ)
ผมว่าถ้าวัดจากความเร็วระหว่าง Swing กะ SWT ผมว่าน่าจะไล่ๆกันแล้วนะ - -"
แต่เหมือนเคยอ่านบทความฝั่ง SWT ว่า Swing นั้นดี แต่เขียนให้ดียากกว่า SWT ^ ^
คุณ thedesp แซวผมซะงั้น :)
สำหรับผมแล้วเคยคิดอยากจะเปลี่ยนไปพัฒนาด้วย Visual C++ มาทีแล้ว เพราะความอืดอาดของ Swing API นี่แหละ แหละหน้าตาที่ไม่เปลี่ยนไปตาม theme ของ OS เลยดูเหมือนไม่สวยไปเลย มันให้ความรู้สึกไม่ Profressional แบบโปรแกรมที่สร้างจาก VC++
พอมาเจอ SWT เลยรู้สึกชอบเป็นอย่างมาก เพราะแก้ปัญหาที่พบได้หมดทุกข้อเลย ก็เลยยังคงอยู่กับ Java ต่อไป