การ design หน้า view ของ XWT
<Shell xmlns="http://www.eclipse.org/xwt/presentation"
xmlns:x="http://www.eclipse.org/xwt">
<Shell.layout>
<FillLayout/>
</Shell.layout>
<Button text="Hello, world!">
</Button>
</Shell>
* This source code was highlighted with Source Code Highlighter.
แทนที่การ design หน้า view ของ SWT
Shell parent = new Shell();
parent.setLayout(new FillLayout());
Button button = new Button(parent, SWT.NONE);
button.setText("Hello, world!");
* This source code was highlighted with Source Code Highlighter.
จะเห็นว่ามันง่ายมากขึ้นและสามารถ maintain ได้ง่ายขึ้น แต่สำหรับคนที่มองว่าการเขียน xml เป็นเรื่องยุ่งยากให้เราลองมองว่า xml นี้มันเหมือนกับ html ธรรมดา
ซึ่งก่อนที่ eclipse จะทำ XWT ออกมาก็มี plug-in ต่างๆมากมายที่รองรับการเขียนในส่วนของ view ของ SWT ต่างๆในรูปของ xml ไม่ว่าจะเป็น swtxml, CookSwt: XML to SWT GUI, และอื่นๆอีกมากมาย และดูเหมือนในตอนนี้ผมรู้สึกว่า plug-in ของเจ้าอื่นๆยังใช้ง่ายกว่าอีก (หรือเพราะว่ามันเป็นแค่ RT อยู่ทำให้มันขัดใจได้ขนาดนี้) แน่นอนว่า eclipse ทำมาทั้งทีจะแค่นี้ได้อย่างไร โดยผู้ออกแบบนั้นต้องการที่จะให้ XWT นั้นเป็นสื่อกลางของ UI ทั้งหมดที่พร้อมจะ port ไปเป็นอะไรก็แล้วแต่โดยที่ในรูปด้านล่างจะยกตัวอย่างของ SWT และ JFace และดูเหมือนว่าในจะรองรับการ port ออกมาเป็น web ด้วยซึ่งถ้าเป็นเช่นนั้นจริงถือว่าเป็นการเปิดตลาดของ RIA ขึ้นเหมือนกับของ sun ที่เปิดตลาด RIA ด้วย Java FX (มันคล้ายกับ Java มี Swing แต่ Eclipse ออก SWT มาใช้แทน)
ภาพ UI จากที่ port จาก XWT เป็น web

ภาพ UI จากที่ port จาก XWT เป็น swt
โดย vendor ที่เริ่มต้น project นี้คือ soyatec ซึ่งมีหลาย project ซึ่งที่ผมใช้อยู่นั้นคือ euml2 และยังมีอื่นๆอีกเช่น eFace และ eBPMN

โดยแนวคิดนี้ดูเหมือนจะคล้ายกับ XAML ของ M$ มากโดยถ้าหากมันสวยดังรูปที่ demo มาจริงๆหละก็อาจจะมาแทนที่ Java FX เลยก็ได้และเป็นคู่แข่งกับ Flex และ Silverlight ได้อย่างสูสีแต่ ณ ตอนนี้ที่สามารถลองเขียนและ demo ได้จริงนั้นเป็นเพียงแค่ XWT -> SWT เท่านั้นซึ่งผมลองเล่นดูแล้วมันค่อนข้างที่ไม่เหมือนกับภาพด้านบนที่มัน Demo เลยให้ความรู้สึกเหมือน Swing กับ SWT ปกติ ซึ่งอาจเป็นเพราะว่ายังเป็นแค่ RT เท่านั้น
Update :: XWT ที่สามารถ run ทั้งใน desktop application หรือที่ port ออกมาเป็น web application ได้สวยนั้นเพราะว่าใน desktop application นั้นมันจะแปลง XWT เป็น Flex ส่วน web application นั้น XWT จะแปลงเป็นGWT นั้นเอง
RAP ขอโทษครับผิดผลาดอย่างแรง
Update 2 :: ไปลองเล่น demo จริงๆของ XWT ที่ port เป็น RAP ที่นี่
Ref : http://wiki.eclipse.org/E4/XWT, http://dev.eclipse.org/blogs/yvesyang/2008/11/28/xwt-declarative-ui-designed-for-eclipse/, http://wiki.eclipse.org/E4
ปล. http://sourceforge.net/projects/xwt, http://www.xwt.org/ ดูเหมือนว่าจะเป็นคนละ project และไม่เกี่ยวข้องกับ XWT ของ Eclipse เลย
No comments:
Post a Comment