เพราะต้องทำ web application เลียนแบบ desktop เลยยังวนอยู่กับ ZK แล้วก็ patch ZKGrails ไปเรื่อย ๆ ครับ
เห็นเขาเล่น hangman กันก็เลยเอาบ้าง (rails, seam)
ข้อเสียของ hangman ที่ผมทำก็คือมัน adhoc ไม่มี spec และ ไม่มี test วัดคุณภาพไม่ได้ เป็น prototype อย่างสมบูรณ์แบบ จะพยายามขยับขยายออกให้ test ได้ต่อไปครับ ตอนนี้เอาเร็วก่อน (time-to-solution สะท้อน productivity) ผมเน้น:
- user-experience ซึ่งก็ได้ระดับนึงที่ดีกว่าการ refresh ทั้งหน้า ด้วยแนวคิดว่ามันเป็นเกมที่ต้องการ interaction ถ้าแข่งกันเขียน application สร้าง blog ผมก็จะไปใช้เกรลส์โหมด GSP แน่นอนครับ เพราะต้องบอกว่าโหมด ZK ทำ web แบบ document-model ไม่ได้เรื่องเลย
- developer-experience ซึ่งก็ได้ experience ที่ค่อนข้างดีทีเดียว
- ง่าย
- ตรงไปตรงมา
- adhoc ได้ตอนเริ่มต้น
- มีปัญหากับวิธีใช้ตัวแปรบ้างเล็กน้อย ก็อาศัยค้นเอาจากเอกสารที่มี
- code ตัว logic ด้วย Groovy ก็ทำได้กระชับ
- ตัว GUI ก็เป็น XUL-based และ box model ก็ถูกใจ
- ยังมี bug บ้างนิด ๆ หน่อย ๆ แต่ก็ไม่ขี้เหร่อะไรครับ
upload ขึ้น mor.ph แล้วครับ http://hangman.morphexchange.com/index.zul
ถ้าเล่นไม่ได้ก็ comment ไว้ ผมจะไป restart ให้ ตัว mor.ph แบบฟรีนั้นมีปัญหาบ่อย ๆ ครับ แต่ก็บ่นมากไม่ได้เพราะมันฟรี
source code ขนาด 100 บรรทัด ผมไม่อยากแปะรวมไว้กับบทความเพราะมันยาว เลยโพสต์แยกไว้ที่นี่ครับ
September 17th, 2008 at 1:07 pm
ตัว ZK นี่น่าสนใจจังครับ สวยด้วย
September 17th, 2008 at 1:13 pm
3.5 ปรับปรุงไปเยอะครับ ค่อนข้างถูกใจ
September 17th, 2008 at 2:21 pm
ลองเขียนด้วย GSP & Ajax ที่ grails มีให้แล้วครับ รวม code + gsp ไม่ถึงร้อยบรรทัด
September 17th, 2008 at 4:44 pm
อ่าน code ตอนแรก งง ๆ เพิ่งจะมา get ตอนเจอ nextstep()
September 17th, 2008 at 5:09 pm
@ข่า โยงกันนิดเดียวเพื่อให้ couple มันน้อย
พวก GUI element มันจะ inject เข้าไปเองใน event handler
(imgStep, count, answer, self)
1. ถ้าลองแยกเป็น MVC ได้อาจจะเห็นชัดขึ้น
2. พวกชื่อ event handler อาจจะต้องให้สื่อกว่านี้เช่น nextstep น่าจะเป็น char_button_clicked เป็นต้น
September 17th, 2008 at 5:10 pm
@virasak โพสต์เลยครับ แล้วมาแกะกัน
September 17th, 2008 at 6:27 pm
โพสต์ยังไงให้มี indent เหมือนจริงครับ
แล้วพวก gsp ต้อง escape มาก่อนหรือปล่าว มีเทคนิคมั้ยครับ
September 17th, 2008 at 7:29 pm
แปลง space เป็น tab ก่อนครับ แล้วแปะเลยไม่
ไม่ต้อง escape ครับ
ถ้ากด edit ซ้ำจะพัง ลบออกแล้วแปะใหม่ครับ
September 17th, 2008 at 7:54 pm
ขอบคุณครับ ตอนนี้เอาขึ้น morph แล้ว อยู่ที่
http://virasak.morphexchange.com/
ลืมนึกเรื่อง cache รูป ทำให้เล่นครั้งแรก รูปจะยึดๆหดๆหน่อย
ขอยืมรูปมาจากคุณ cblue นะครับ
September 17th, 2008 at 10:38 pm
@virasak เรื่องรูปผมก็เอาของเขามาอีกทีครับ (จาก seam)
September 18th, 2008 at 1:19 pm
ตามไปดู seam แล้วก็เอามาจาก Rails อีกต่อนึง
เรื่อง post ต้องรอว่างก่อนครับ คงเป็นช่วงเสาร์อาทิตย์
เดี๋ยวจะทำ version WebFlow ใน Grails ด้วย จะได้เปรียบเทียบกัน
September 18th, 2008 at 1:21 pm
@virasak เจ๋งครับ มี 3 version จะได้ดูกันหลาย ๆ ประเด็น