Tags:
Java

ถ้าย้อนกลับไปเมื่อ 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

By: ck
ck's blog
on 01/03/07 17:52 #17313 toggle
ck's picture

> โลกมันต้องเข้าสู่ยุค DDD แล้ว

right, that's why I've completely been with Grails ;) Cheers, -- http://chanwit.blogspot.com

By: deans4j
deans4j's blog
on 01/03/07 17:56 #17314 toggle
deans4j's picture

ck : ไว้ผมจะตามไปนะพี่ :)

By: khajochi
WriteriPhoneIn Love
khajochi's blog
on 01/03/07 18:09 #17315 toggle
khajochi's picture

ถูกต้องนะคร๊าบบบบ

ผมก็แฟนพันธ์แท้ Struts คนนึง .. Framework นี่มีขึ้นมีลงจริงๆ (แล้วเมื่อไหร่มันจะนิ่งซะทีนะ)


แฟนพันธุ์แท้สตีฟจ็อบส์ | MacThai.com

By: Gmz
Windows PhoneAndroid
Gmz's blog
on 01/03/07 18:10 #17316 toggle
Gmz's picture

DDD คืออะไรอ่ะ ขอลิงค์ศึกษาหน่อยซิครับ

By: nontster
iPhoneAndroidUbuntu
nontster's blog
on 01/03/07 18:19 #17317 toggle
nontster's picture

ผมเป็นแฟนพันธุ์แท้ Struts ครับ แต่ขอแวะไป Rails ก่อนนะ :P

By: deans4j
deans4j's blog
on 01/03/07 18:29 #17319 toggle
deans4j's picture

Domain Driven Design Quickly ฟรีโหลด

By: ck
ck's blog
on 01/03/07 19:28 #17322 toggle
ck's picture

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

By: ck
ck's blog
on 01/03/07 19:29 #17323 toggle
ck's picture

deans4j: I'm waiting for you there :)

Cheers,

http://chanwit.blogspot.com

By: plynoi
WriterAndroidUbuntu
plynoi's blog
on 01/03/07 23:28 #17330 toggle
plynoi's picture

อืม อ่านบทความนี้แล้วนึกถึงยุคทองของ Struts 1.X จริงๆ มันมีขึ้นมีลง สรรพสิ่งไม่เที่ยง ^^ เห็นภาพเลย

By: nontster
iPhoneAndroidUbuntu
nontster's blog
on 02/03/07 14:20 #17359 toggle
nontster's picture

ck: ขอบคุณครับ เดี๋ยวจะลองดู ^^