Play Framework

เมื่อปีที่แล้วช่วงเวลาประมาณนี้แหละ @soulski ได้แนะนำให้รู้จัก Play Framework ตอนนั้นมันยังไม่ออกรุ่นแรกเลยด้วยซ้ำมั้ง แต่เห็นแล้วตอนนั้นคิดในใจเลยว่า เขียนเว็บมันต้องอย่างนี้สิ จริง ๆ Play Framework ไม่ใช่ของใหม่เลย ในภาษาอื่นอย่าง Ruby หรือ Python มีก่อนมาพอสมควรแล้วในชื่อ Rails หรือ Django แต่ว่ามันมาอยู่ในภาษา Java นี่แหละ เลยทำให้น่าสนใจ เพราะทำให้พัฒนาเว็บได้เร็วมาก แถมมีเครื่องมือและ library มากมายให้เลือกใช้ เรียกว่าวันเดียวอาจได้เห็นโครงเว็บคร่าว ๆ ให้ลองเล่นได้แล้ว

จุดเด่นของ Play ที่ทำให้ชอบคือ มันสามารถ generate IDE environment ได้ ทำให้ทำงานเร็วขึ้นโดยไม่ต้องปวดหัวกับ library path ที่ต่างกันของคนในทีม เป็น feature ที่ชอบที่สุดเลยก็ว่าได้ แถมคนในทีมก็สามารถใช้ IDE อะไรก็ได้ที่ตัวเองถนัดเพราะ Play รอบรับ IDE หลัก ๆ ครบอยู่แล้วทั้ง Eclipse, Netbean และ Intellij และสำหรับคนที่ใช้ OSX ก็มี Textmate plugins ให้อีกต่างหาก

จุดเด่นที่ Play เอามาโฆษณาจริง ๆ คือไม่ต้อง Compile! ใน Framework อื่น ๆ เวลาพัฒนาแล้วจะทดลองทำงาน ต้อง Compile ออกมาเป็น war หรือ jar ก่อนแล้วนำไปวางไว้ใน servlet container ถึงจะเห็นผลลัพธ์ว่าสิ่งที่ตัวเองทำนั้นทำงานถูกต้องแค่ไหน แต่สำหรับ Play แล้วสามารถเรียกให้มันทำงานจากนั้นเข้าเว็บเพื่อดูผลลัพธ์ แล้วแก้ไขใหม่ จากนั้นก็สั่ง Browser เรียกดูผลลัพธ์ใหม่ได้เลย เรียกว่าชีวิตสะดวกสบายขึ้นมาก เพราะทำงานเร็วขึ้น ไม่ต้องรอ compile ให้เสียเวลา

ในปีที่ผ่านมาใครมาถามผมว่าใช้อะไรดีทำเว็บผมแทบตอบไม่คิดเลยว่า Play! และหาทางใช้ที่ทำงานจนตอนนี้ก็ใช้จริงจังไปสอง Project ก่อนที่จะเขียนบล๊อกนี้ก็ทำอีกสอง Project แบบเร่งด่วน(ไว้ช่วยทำงานประจำบางอย่าง) เสร็จภายในสองอาทิตย์แบบไม่ค่อยมีเวลาทำ และก็ถ้าคิดว่ามันยังไม่เจ๋งพออีก ลองอ่านบล๊อกนี้ดู แล้วจะรู้ว่า Play ทำให้ จาวาเร็วขนาดไหน

อ้อสำหรับ Project ที่ทำด้วย Play ในสองอาทิตย์ลองเข้าไปเล่นดูได้ที่ Eyes Monitor Tool ใช้สำหรับยิง request เพื่อดูผลลัพธ์จากเป้าหมายว่ายังอยู่ดีหรือป่าว ถ้ามีปัญหาไม่ตอบสนองให้แจ้งเตือนทางเมล์เพื่อเข้าไปแก้ปัญหา ก็ยังไม่เสร็จดีเท่าไหร่ มี Feature อีกสองอย่างที่อยากทำเพิ่ม แต่ตอนนี้ก็เล่นได้แล้ว ชอบไม่ชอยอย่างไรก็แนะนำมาเพิ่มได้นะครับ

เพิ่มเติม: ถ้าอยากเอา code eyes project ไปดูสามารถ clone ได้จาก github ไม่ได้เอาขึ้นแต่แรกเพราะแต่ง testunit กับ fixtures นิดหน่อย มีส่วนที่ลองภายในเยอะพอสมควร

About llun

Just a programmer

,