เวลาเราเขียน Client Application ด้วย Java Swing หรือ AWT เคยอยากที่จะให้มันสามารถรันอยู่บน browser กันบ้างไหมครับ วันนี้มี Software ตัวนึงที่ทำให้สิ่งที่กำลังคิดอยู่นี้เป็นจริงขึ้นมา Software ตัวนั้นมีชื่อว่า WebCream
WebCream คือเป็นตัวแปลง Java Swing หรือ AWT application ของเราให้เป็นภาษา HTML โดยใช้เทคนิคของ Ajax เข้ามาช่วยทำให้ดูแล้วเหมือน Client Application ที่เราเขียนถูกรันอยู่บน browser โดยที่ไม่คิดว่ามันคือ web application เลย ซึ่งเจ้า WebCream จะแปลง gui ทุกตัวที่สร้างโดยใช้ Java Swing หรือ AWT ให้เป็นภาษา HTML ทั้งหมด และ business logic ทั้งหมดที่เราเขียนไว้ก็ จะถูกแปลงให้สามารถทำงานอยู่บนเว็บได้ด้วยเช่นกัน ซึ่งคุณสมบัติเด่นๆของ WebCream มีดังนี้ครับ
- เราไม่ต้องมีความรู้ HTML/CSS/DHTML/JavaScript ก็สามารถใช้ WebCream ได้
- สนับสนุน HTML4.0, Cascading Style Sheets 2, DHTML, JavaScript1.2
- ทำงานร่วมกันได้กับหลาย browsers
- ไม่ต้อง install Java Plugin หรือ Java WebStart และเครื่อง client ที่จะรันก็ไม่ต้อง support Java ด้วย
- แสดงผล Java, Swing, Applet ในรูปแบบภาษา HTML
- ยอมให้มีการปรับปรุงแต่งเติมเมื่อเราแปลงเป็น HTML แล้ว เช่น สี, ตัวอักษร
- การใช้งานทรัพยากร thread และ memory ถูกปรับปรุงให้ดีขึ้น
- มีการรองรับ JDK1.2, 1.3 และ 1.4
- มีการรองรับ dynamic events และ listeners เช่น ActionListener, ItemListener
- สามารถทำ Dynamic cluster ให้ JVM เพื่อประสิทธิภาพที่ดีขึ้น
ถ้าอยากลองเล่นเข้าไป download ได้ที่นี่ WebCream Download เลยครับแต่ต้องทำการลงทะเบียนก่อนนะครับ
4 comments:
สุดเจ๋งจริงๆ
ไม่เจ๋งอย่างเดียว ก็คือมันไม่ฟรีต้องเสีย license
ดูจาก architecture แล้วไม่น่าจะ scale ได้ดีนะครับ นอกจากตัว emulator มันจะเขียนมาได้ดีมากๆ
การเอา Swing แปลงเป็น AJAX โดยตรงจะได้ข้อดีตรงที่ไม่ต้องเรียนรู้ toolkit ตัวใหม่
แต่ Swing เองถูกออกแบบมาให้รองรับความซับซ้อนมากกว่า แล้วการที่ใช้ WebCream อยู่บนพื้นฐาน Swing ทำให้มันสืบทอดความซับซ้อนนั้นมาอย่างไม่จำเป็นหรือเปล่า?
โอเคถ้ามี Swing app อยู่แล้วต้องการ Port ไปเป็น AJAX ก็ดีไป อาจจะไม่ต้องคอนฟิกมาก แต่ถ้าต้องเขียน Swing app ใหม่เพื่อแปลง ดูไม่คุ้มค่าเลยนะครับ เสียความ richness ของ UI ไปอีกต่างหาก
ส่วนตัวคิดว่าวิธีของ GWT เรียบง่ายกว่า ออกแบบเพื่อแปลงเป็น AJAX โดยตรงกว่า แม้จะต้องเสียเวลาเรียนรู้ Toolkit มันก็เถอะ
เห็นด้วยกับคุณ dean4j
ถึงแม้ว่าว่า webcream จะคุยว่าสามารถ migrate จาก swing มาเป็น ajax ได้ทั้งหมดก็ตาม แต่ผมก็ยังมีข้อกังขาคือ
1. ประเด็นเรื่องการเข้าถึง file รวมถึงการใช้งาน FileDialogBox จะย้ายมาบน Web อีท่าไหน ?
2. ประเด็นเรื่อง security ที่ธรรมชาติของ web app ถูกตัดความสามารถหลาย ๆ อย่างออกไป เมื่อเปลี่ยนเป็น ajax จะมายังไง หรือว่า generate security policy ตามมาด้วย ?
3. หนีไม่พ้นที่เราต้องตามมาแก้ไข code บน ajax อีกรอบ, แล้วสิ่งที่ webcream convert มาให้ ง่ายต่อการ customized ต่ออีกรอบ ?
ส่วน GWT น่าสนใจครับ
Google ทำ POC ให้ดูทั้ง gmail และ google reader และที่จะตามมาอีกหลายตัว
ถึงแม้ยังไม่เคยเอามาใช้ทำงานจริง แต่ความอุ่นใจต่างกันลิบ
Post a Comment