ถ้าย้อนกลับไปเมื่อ 4-5 ปีก่อน Struts นับเป็นเว็บ MVC เฟรมเวิรกที่เป็นทางเลือกหลักของนักพัฒนา ในยุครุ่งเรืองสมัยนั้นเป็นเรื่องยากมากที่จะหาเฟรมเวิรกตัวอื่นมาเทียบเคียงต่อกรได้ แต่ในช่วง 2 ปีที่ผ่านมา Struts เข้าสู่ยุคเสื่อมความนิยมอย่างรุนแรงอันเนื่องจากปัญหาการออกแบบที่สะสมมานานตั้งแต่ยุคแรกเริ่ม เกิดการแข็งข้อในหมู่นักพัฒนาอย่างแพร่หลาย เฟรมเวิรกใหม่ๆ มากกว่า 20 ชื่อผุดขึ้นราวดอกเห็ด ต่างก็พยายามนำเสนอแนวคิดจุดเด่นของตัวเองเพื่อแย่งชิงตลาดและความนิยม อ่านต่อ...
ซันเองก็ต้องการเว็บเฟรมเวิรกที่เป็นมาตรฐานเพื่อจะต่อกรกับ ASP.NET อันเป็นจุดเริ่มต้นของ JSF และเป็นจุดจบของ Struts 1.X ไปในตัว ด้วยกระแสการโปรโมต JSF ทำให้นักพัฒนาดั้งเดิมหันเหไปให้ความสนใจ JSF ที่หอมหวน แต่เนื่องจากชื่อ Struts มันขายได้ เลยมีคนหัวใสในทีมพัฒนาดั้งเดิม คิดว่าเราน่าจะสร้างเฟรมเวิรกมาเสริมการทำงานของ JSF แล้วตั้งชื่อมันว่า Struts Shale คงจะดีไม่น้อย แต่ว่า Shale ก็กลายเป็นที่ถกเถียงกันว่าทำให้เกิดความสับสน อันที่จริงมันไม่มีส่วนเกี่ยวข้องอะไรกับ Struts เลยด้วยซ้ำ จนระยะหลัง Shale ต้องแยกตัวออกจาก Struts อย่างถาวร
ตรงกันข้ามกับ WebWork ที่เป็นเฟรมเวิรกประเภท Action-Driven เหมือนๆ กัน มีช่วงรุ่งเรืองความนิยมในช่วงบั้นปลายชีวิตของ Struts แต่ถึงจะดีแค่ไหน กระแส Event-Driven หรือ component-based สำหรับเว็บเฟรมเวิรกมันฟังดูเจ๋งกว่าชัดๆ WebWork ก็หนีไม่พ้นชะตากรรมเดียวกัน เมื่อสู้กระแสไม่ไหวเลยโดนหางเร่ไปกับ Struts ด้วยเช่นกัน
ทีม WebWork จึงเข้าร่วมกับ Struts โดยมีจุดมุ่งหมายเพื่อนำข้อดีของทั้งสองโลกหล่อรวมเข้าด้วยกัน แผนการฟื้นคืนชีพตัวเองจึงได้ก่อกำเนิดขึ้น เป็นเวลาร่วมปีที่ทีมงานทั้งสองฝ่ายต่างร่วมกันพัฒนาอย่างเงียบๆ ปล่อยให้เฟรมเวิรกอื่นโชว์ลวดลายในยุทธจักรไปพลางๆ
วันนี้มันมาแล้วครับ การกลับมาปรากฎตัวใหม่ของอดีตจ้าวยุทธจักรที่ห่างหายสังเวียนยุทธไป เค้ามาพร้อมกับความง่าย ความเท่ มาในรูปแบบ 2-in-1 และยังคงรักษาเอกลักษณ์รูปแบบ Action-Driven ของตัวเองไว้อยู่
Apache Struts 2.0 GA ขอประกาศกร้าว - ระบบเซ็ตอัพที่ง่ายรวดเร็วตรงไปตรงมา มีทั้งบทความ ตัวอย่าง และสนับสนุนการทำงานร่วมกับ Maven 2 - ออกแบบโดยรองรับ AJAX มี tag ให้ใช้ไม่ต่างอะไรกับ Struts tag ทั่วๆ ไป - ทำงานร่วมกับ Spring เฟรมเวิรกอย่างเข้าขา คุณสมบัตินี้พบได้ในเฟรมเวิรกรุ่นใหม่ทุกตัว - แสดงผลลัพธ์ได้หลากหลาย ทำงานร่วมกับ JFreeChart, JasperReport เป็นต้น - POJO ล้วนๆ พอกันทีกับการ extend โลกมันต้องเข้าสู่ยุค DDD แล้ว - มีเครื่องมือ Profiler ในตัว ให้คุณรู้ทุกการเคลื่อนไหวและเป็นไป - การแสดงผล Error ที่ชัดเจน เกาตรงจุดที่คัน แม่นยำถูกบรรทัดที่ผิด - Testing ง่ายนิดเดียว เป็น POJO แล้วนิ ไม่ต้องมี mock หรือ in container ให้เสียเวลา เสียอารมณ์ - Checkbox แสนฉลาด เคยเป็นปํญหาเล็กๆ ที่น่ารำคาญมานานกับการจัดการสถานะของ checkbox เวลาสั่งซับมิต - มีอีกเยอะ อ่านเอาเอง
เขียนมาซะยาว ผมเปล่าเป็นแฟนพันธ์แท้ Struts นะ อันที่จริงผมก็เรียนจบมาก็เพราะมัน ผมยังชอบ component-based เฟรมเวิรกอยู่ดี แต่การกลับมาของอดีตเจ้าบัลลังค์ต้องให้เกียรติกันหน่อย ...
ที่มา - Struts 2.0, TSS
Comments
> โลกมันต้องเข้าสู่ยุค DDD แล้ว
right, that's why I've completely been with Grails ;) Cheers, -- http://chanwit.blogspot.com
ck : ไว้ผมจะตามไปนะพี่ :)
ถูกต้องนะคร๊าบบบบ
ผมก็แฟนพันธ์แท้ Struts คนนึง .. Framework นี่มีขึ้นมีลงจริงๆ (แล้วเมื่อไหร่มันจะนิ่งซะทีนะ)
แฟนพันธุ์แท้สตีฟจ็อบส์ | MacThai.com
DDD คืออะไรอ่ะ ขอลิงค์ศึกษาหน่อยซิครับ
ผมเป็นแฟนพันธุ์แท้ Struts ครับ แต่ขอแวะไป Rails ก่อนนะ :P
Domain Driven Design Quickly ฟรีโหลด
nontster: Are you coding on JEE ? Try Grails and you can apply all of your Rails + Java skills to use it.
http://chanwit.blogspot.com
deans4j: I'm waiting for you there :)
Cheers,
http://chanwit.blogspot.com
อืม อ่านบทความนี้แล้วนึกถึงยุคทองของ Struts 1.X จริงๆ มันมีขึ้นมีลง สรรพสิ่งไม่เที่ยง ^^ เห็นภาพเลย
ck: ขอบคุณครับ เดี๋ยวจะลองดู ^^