Pages

วันอาทิตย์, พฤศจิกายน 13, 2554

Play Framework ของเล่น code ไม่เล่น

หลายๆครั้งที่มีความพยายามจะทำ Legacy Code มาให้เป็น Web Application แต่ก็ล่มไปหลายครั้ง
อันเนื่องมาจากการที่จะทำ Prove Of Concept ให้ได้ Productivity ที่สูงๆนั้น
จำเป็นที่จะต้องมีเครื่องมือที่ดี และ framework ที่ดี เพื่อที่จะได้ output นั้นมาได้  ...

ก็ใช้เวลาหามาเกือบปี เลยได้ Play Framework มาใช้ครับ ...

ชื่อของ Play Framework อาจจะดูแปลกๆ ... เหมือน framework ที่เขียนขึ้นมาเล่นๆ
แต่พอมาดู feature แล้ว ไม่ใช่ของเล่น แบบชื่อของมันครับ

Concept หลักๆ ของ Play Framework อาจจะดูใหม่สำหรับ java แต่จริงๆ แล้ว
ตัว folder structure ของ framework นั้นแทบจะลอก Ruby มาเต็มๆ ...
Highlight หลักๆ คือสิ่งที่ต่างจาก J2EE Framework ทั่วๆไป ดังต่อไปนี้ครับ


  • ไม่มี Page / Session / Application Context ให้ปวดหัว ...  ทุกอย่างเป็น Stateless โดยเก็บข้อมูลทุกอย่างในรูปแบบของ cached ทำให้สามารถทำ distribute system ได้สบายๆ
  • Build-in Template System ถ้าเคยใช้ Taglib ใน J2EE ก็น่าจะไม่มี Learning Curve สูงนัก
  • Full-Stack Framework ในความหมายคือ  พร้อมรันเป็น server โดยไม่ต้องพึ่งพา Application Container
  • Build-in Unit Test ถึงขี้เกียจแค่ไหน ก็สามารถเขียน Unit Test ได้ไม่ยากนัก
  • Request-to-POJO Transformation ไม่ต้องมาเหนื่อย map Request.getAttribute( ... ); มาเป็น POJO เอง Framework สามารถทำให้ได้ทันที
  • POJO-to-JSON และ POJO-to-XML ได้ทันที (มี lib อยู่แล้ว)
  • และที่สำคัญเป็น Asynchronous Call ที่เหมาะสำหรับทำ RESTful Service ที่กำลังเป็นที่นิยมขณะนี้ 

นับว่าหายากสำหรับ java framework ที่จะมี feature ตามภาษาอื่นได้ทัน ในขณะนี้ ....
แต่ที่เป็นจุดอ่อนสำคัญของ Play Framework คงหนีไม่พ้น  Security Authenticate
ที่ค่อนข้างหา reference ได้น้อยมาก(มีอยู่แต่ใน google group) ต้องรอดู Play Framework 2.0 ครับ
ว่าจะออกมารูปแบบไหน