Thursday, September 9, 2010

[Talk] JavaFx vs Java Swing with Netbeans Tutorials




โอ๊โอ้ ใช้ Java Swing ทำ Client อยู่สักพักก็รู้สึกถึงความถึกในการ Programming เพราะจะ Custom คุณสมบัติอะไรของ Swing Object ก็ Extern Class กันมันไปเลย จึงว่าจะลองดู JavaFx สักหน่อย เนื่องจากยังไม่เคยใช้ขอเขียนไปทำไป ผิดพลาดประการใดขออภัย ณ ที่นี้





Getting Started With JavaFX Composer
- รองรับการแสดงภาษาไทย แต่เจอปัญหาการแสดงข้อความภาษาไทยได้ไม่ครบใน Button Object
- จัดการ Color, Font, Effect ได้ง่ายด้วยแนวคิดที่ต่างจาก Swing โดยทำออกมาในลักษณะของ CSS ที่แยก Profile ของการแสดงผลและสามารถอ้างอิงค่า Profile ได้สะดวกมาก

JavaFX Composer Grid Preview Tutorial NetBeans Platform 6.9 Developer's Guide
- จัดวาง Component ต่างๆ ในรูปแบบของ Form ได้ง่ายกว่า Swing มาก ซึ่งตัวผมก็เจอปัญหาเรื่องของการวางตำแหน่งของ Object ที่เป็น Swing ใน Netbeans มันเลื่อนย้ายตำแหน่งเองได้ง่าย

Data Binding With JavaFX Composer
- สะดวกในการผูกข้อมูลเข้ากับส่วนแสดงผลได้ง่าย

Application States in JavaFX Composer
Parallel Application States and State Variables
- ลักษณะการจัดการส่วนแสดงผลจะนำเอา State มาใช้ในการทำ GUI ซึ่งจะทำให้นักพัฒนาไม่ต้องมองถึงรายละเอียดใน Code มากเหมือนที่เกิดใน Swing ทำให้ JavaFx มีส่วนคล้ายกับ Flash และทำให้นักพัฒนา Swing เดิม ไม่ถนัดในตอนแรก (ผมนั่นเองครับ)

JavaFX Composer Twitter Tutorial
- เหมือนจะไม่สามารถใช้กับ Twitter ได้ ก็เลยลองเปลี่ยนไปทำ Feeds (RSS) ดูโดยเอาของ Ubuntu Geek จึงไม่ได้กรอก Authen อะไร และยังคงเลือก XML เป็นรูปแบบของข้อมูล แต่จะใช้ Filter เป็น Channel/Item ที่เป็น Post มาลองดู
- กำหนดการ map ค่า Item ใน List กับ title ของ Feeds เพื่อใช้แทน text ของ TwitterPro JavaFX™ Platform: Script, Desktop and Mobile RIA with Java™ Technology
- New Post นั้นไม่สามารถทำได้อ่ะ เพราะเนื่องจาก Twitter ใช้ไม่ได้แล้วการอ่าน Feeds ก็ไม่สามารถไป Post ได้
- เจอปัญหาเรื่องความ Compatible ของ API (Record) ที่เปลี่ยนไปจาก Version เก่า และปัญหาเรื่องการใช้ Tool ที่ช่วย Gen (ไม่สามารถ Custom code ได้เหมือนที่ทำกับ Swing) ต้องใช้ DEPRECATED as Record แทนที่เลือกตามตัวอย่างจึงได้ Package ที่ถูกต้องตามตัวอย่าง แต่ก็ยังดึงค่า Title ออกมาไม่ได้อยู่ดี ซึ่งลองเปลี่ยนไปใช้ 6.9.1 แทน nightly (dev) สามารถใช้ API ดึง Title ออกมาแสดงใน List ได้

Working With a RESTful WS Data Source in JavaFX Composer
- มี Toolkit ที่ใช้ในการพัฒนา App ให้สะดวกมาก โดย Key เรื่องการ Binding ข้อมูลนั้นเป็นจุดขายที่ทำให้ JavaFx ง่ายในการจัดการข้อมูลมากกว่า Swing

สรุปปิดท้าย
จากที่ทดลองใช้มาได้รับความรู้สึกที่ลื่นไหลในการออกแบบ GUI อย่างมาก ถ้าเป็น Swing จะเจอเบรคด้วยการ Extern Class และต้อง Coding เพิ่มเพื่อให้มันแสดงภาพตามต้องการ ซึ่ง JavaFx จึงเหมาะกับการทำ GUI ที่ลื่นตาและน่าจะเป็นการทำให้ Java GUI ที่เคยโดนตำนิได้รับการยอมรับมากขึ้น เพียงแต่ปัญหาการทำ Java Fx จะเกิดในเรื่อง Compatibility เพราะเท่าที่ลองใน Linux (Ubuntu) ยังไม่มีความสมบูรณ์ของ UI และยังอาจจะไม่เหมาะสมกับการใช้งานกับ Client ที่ทำงานซับซ้อนมาก ก็ต้องรอดูกันต่อว่า JavaFx จะท้าชนกับ GUI ค่ายอื่นได้ดีแค่ไหน



0 comments:

Post a Comment