เพราะต้องทำ 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 บรรทัด ผมไม่อยากแปะรวมไว้กับบทความเพราะมันยาว เลยโพสต์แยกไว้ที่นี่ครับ

Tags: , ,

12 Responses to “Hangman 66 ด้วยเกรลส์ (โหมด ZK)”

  1. ตัว ZK นี่น่าสนใจจังครับ สวยด้วย

  2. 3.5 ปรับปรุงไปเยอะครับ ค่อนข้างถูกใจ

  3. ลองเขียนด้วย GSP & Ajax ที่ grails มีให้แล้วครับ รวม code + gsp ไม่ถึงร้อยบรรทัด

  4. อ่าน code ตอนแรก งง ๆ เพิ่งจะมา get ตอนเจอ nextstep()

  5. @ข่า โยงกันนิดเดียวเพื่อให้ couple มันน้อย

    พวก GUI element มันจะ inject เข้าไปเองใน event handler
    (imgStep, count, answer, self)

    1. ถ้าลองแยกเป็น MVC ได้อาจจะเห็นชัดขึ้น
    2. พวกชื่อ event handler อาจจะต้องให้สื่อกว่านี้เช่น nextstep น่าจะเป็น char_button_clicked เป็นต้น

  6. @virasak โพสต์เลยครับ แล้วมาแกะกัน

  7. โพสต์ยังไงให้มี indent เหมือนจริงครับ
    แล้วพวก gsp ต้อง escape มาก่อนหรือปล่าว มีเทคนิคมั้ยครับ

  8. แปลง space เป็น tab ก่อนครับ แล้วแปะเลยไม่
    ไม่ต้อง escape ครับ

    ถ้ากด edit ซ้ำจะพัง ลบออกแล้วแปะใหม่ครับ

  9. ขอบคุณครับ ตอนนี้เอาขึ้น morph แล้ว อยู่ที่
    http://virasak.morphexchange.com/
    ลืมนึกเรื่อง cache รูป ทำให้เล่นครั้งแรก รูปจะยึดๆหดๆหน่อย
    ขอยืมรูปมาจากคุณ cblue นะครับ

  10. @virasak เรื่องรูปผมก็เอาของเขามาอีกทีครับ (จาก seam)

  11. ตามไปดู seam แล้วก็เอามาจาก Rails อีกต่อนึง

    เรื่อง post ต้องรอว่างก่อนครับ คงเป็นช่วงเสาร์อาทิตย์
    เดี๋ยวจะทำ version WebFlow ใน Grails ด้วย จะได้เปรียบเทียบกัน

  12. @virasak เจ๋งครับ มี 3 version จะได้ดูกันหลาย ๆ ประเด็น

Leave a Reply