1 รู้จัก GWT

GWT คือโอเพนซอสโปรเจก สำหรับ GWT 2.5 ขึ้นไป http://www.gwtproject.org/

การสร้างอินเตอร์แอกทีพเว็บไซต์ หรือเว็บแอปปลิเคชัน หรือ Rich Internet application
นั้นมีเครื่องมือจำกัดเมื่อมองในฝั่งผู้ใช้งาน ซึ่้งก็คือบราวเซอร์
บราวเซอร์ ไม่ได้รู้อะไรมากมาย ปัจจุบันที่ใช้กันอยู่ก็คือ Javascript.
ลำพัง JS อย่างเดียวก็เหมือนจะขาดๆอะไรซักอย่าง ถึงจะช่วยได้บ้างก็ตามแต่ก็ไม่ลื่นไหล
เราจึงต้องอาศัยเทคนิกในเรื่อง Ajax เข้ามาใช้ด้วย
ซึ่งปัจจุบันก็มีหลายเว็บไซต์ที่พัฒนาได้ดี แล้ว GWT มาเผือกอะไรกับเขาด้วย ?

เพราะการสร้างเว็บแอปที่เริ่มมีความซับซ้อนมากขึ้นก็ต้องมีการเขียน JS ที่ซับซ้อนขึ้น
ท่านอาจต้องไปนั่งพิจารณา Backbone / Angular JS / JQuery ฯลฯ แล้วแต่ความชอบ
ไม่เพียงแค่นั้น ยังต้องอาศัยความเชื่ยวชาญเรื่องแพทเทิร์นที่เกี่ยวข้องในระดับหนึ่ง เพื่อให้โค๊ดที่เขียนไปแล้ว
ไม่กลายเป็นภาษาอียิปย์ตามกาลเวลา. โอเคแล้ว GWT มาเผือกอะไรด้วยกับเขา ?

GWT คือการสร้างเว็บแอปที่มีความสามารถเกือบจะเทียบเท่าเดสทอปแอป
แต่แทนที่จะเขียนด้วย Javascript ก็เขียนด้วยภาษา Java แทน
แล้วคอมไพเลอร์ของ GWT เองจะทำการเปลี่ยน Java เป็น Javascript อีกที !

คราวนี้ดรามาก็เกิดขึ้นระหว่าแฟน Js ตัวยงประมาณว่าเฮ้ย มันมากไปเปล่าว่ะ ไม่รู้สึกฟรีดอมเลย ติดๆขัดๆ ต้องอย่างนู้น ต้องอย่างนี้ ฯลฯ
หรือบางท่านมีกำลังยุทร์สูงส่ง สั่งสมประสบการณ์มาเป็นหมื่นปี หมื่นๆปี ก็แล้วแต่คนชอบครับ

ข้อดีของ GWT คือ

  • เพราะว่าเป็น Java ดังนั้นเครื่องมือที่มีอยู่สำหรับ Java ก็สามารถนำมาใช้ได้ เช่น Eclipse หมายความว่าพวกอินเทลลิเซนต์ การหาไฟล์ การหาข้อความต่างๆก็สามารถทำได้ง่ายๆ เหมือนกับที่เราใช้จาวาโดยทั่วไป
  • GWT มีดีบักเกอร์ที่ดีมาก ทำให้การทดสอบโค๊ดระหว่างการพัฒนาทำได้ง่ายขึ้น
  • สามารถใช้ Junit ร่วมกับ GWT ได้ง่ายๆ
  • ท่านที่เป็น Java อยู่แล้วสามารถใช้เวลาเพียงน้อยนิดในการทำความรู้จักกับ GWT
  • Javascript ที่ได้จาก GWT คอมไพล์ Java โค๊ดของเรา จะเป็น Javascript ที่น่าจะเรียกได้ว่าดีที่สุด และยังใช้ได้กับบราวเซอร์ต่างกันได้ด้วย หากเราเขียน JS โดยตรง เราอาจต้องทำเวอร์ชั่นต่างหากสำหรับ chrom / firefox / IE แต่ GWT ทำให้เราหมดเลย ( สุดยอด)
  • GWT มีวิดเจท ( widget) มากมายสำหรับงานทั่วไปที่เราต้องการใช้อย่างครบครัน เช่น ตาราง ปุ่ม ฟอร์ม ฯลฯ แต่ว่าเราก็สามารถสร้างใหม่ขึ้นมาเองได้

ข้อเสียของ GWT

  • ไม่สามารถอินเดกจาก search engine ได้ ทีเป็นแบบนี้ก็เพราะว่าแต่ละหน้า ของ GWT ที่ผู้ใช้งานเห็นมันไม่ใช่ page ที่มีอยู่จริงๆ แต่ข้อความและรูปภาพต่างๆจะถูกสร้างขึ้นในขณะนั้นๆที่ผู้ใช้งานเข้ามาเยียมชม
  • ไม่สามารถใช้งานร่วมกับบราวเซอร์ที่ปิด Javascript ไว้ หรือไม่ซัพพอร์ต Javascript. อีกมุมหนึ่งก็คือไม่สามารถดีเกรดได้อย่างที่ ASP.NET สามารถทำได้