Method ของ Java กับ Google Web Toolkit
Google Web Toolkit (GWT) เป็น tool ตัวหนึ่งที่โปรแกรมเมอร์สามารถใช้ Java เขียน web application ที่ใช้ AJAX ได้ โดยเจ้า GWT นี้ทำหน้าที่เป็น compiler แปลงโปรแกรมภาษา Java ให้เป็น Javascript
ดูเผินๆเหมือนจะเป็นเครื่องมือที่ทรงพลังมาก แต่จริงๆแล้ว GWT ไม่ได้สามารถแปลงทุกอย่างใน Java ให้เป็น Javascript ได้ GWT ได้มีการกำหนดไว้แล้วว่า package ใด class ใด และลงไปถึง method ใดบางของ Java ที่สามารถใช้ได้ ทำให้บางทีก็ทำให้รู้สึกสับสนได้ว่า Java ที่เขียนอยู่มันจะรันเป็น Javascript ได้จริงหรือไม่ แต่หากทำอะไรไม่พิสดารมาก คือใช้ class พื้นๆพวกที่อยู่ใน java.utils หรือ java.lang พวกนี้จะไม่ค่อยมีปัญหาแต่อย่างใด เหตุที่ใช้คำว่าไม่ค่อยเพราะได้เรียนรู้อะไรบางอย่างเมื่อเร็วๆนี้ และเป็นประเด็นที่ทำให้ต้องเขียน post นี้ขึ้นมาเตือนตัวเอง
สิ่งที่อยากเน้นคือ มีบาง method ของบาง class ใน Java ที่สนับสนุนโดย GWT (แปลว่าใช้แล้วมันยอม compile ให้) แต่พอ compile ออกมาเป็น Javascript แล้วทำงานไม่เหมือนกับใน Java อันนี้อันตรายมาก เนื่องจากโปรแกรมเมอร์อาจเผลอตัวเขียนแบบไม่ทันคิดจนทำให้เกิด bug แบบหากันทั้งวันได้ ตัวอย่างดีๆเลยอันหนึ่งคือ String.replaceAll(x, y) ซึ่งทำหน้าที่แทนทุก string x ด้วย string y method นี้ทำงานได้แต่ว่าต้องใช้ regex ใน format ของ Javascript ซึ่งหากไม่ได้ดูจากคู่มือดีๆคนที่ใช้ regex แบบ Java ไปอาจเกิด bug ได้
สรุป: จะใช้ method อะไรใน GWT อ่าน API Document ซักหนึ่งรอบก่อน ถึงแม้ method นั้นเราจะคุ้นเคยแล้วก็ตาม
