หายไปหลายวันช่วงหยุดสงกรานต์ ไม่ได้ออกไปไหนหรอกครับ นั่งๆ นอนๆ อยู่หน้าคอมเกือบทั้งวัน
เนื่องด้วยในการเรียนวิชาระเบียบวิธีวิจัย กลุ่มผมไปเสนอวิธีแก้ปัญหาไว้ว่า จะสร้างเว็บไซต์ขึ้นมา เพื่อเป็นระบบจองใช้เครื่องคอมพิวเตอร์นอกเวลาเรียนของนักเรียน ลักษณะก็คล้ายๆ เว็บจองใช้คอมพิวเตอร์ ของ IT Square ของ ม. เกษตรศาสตร์ (KITS) (เข้าได้เฉพาะคนใช้ wireless ในเกษตร หรือใช้งานผ่าน VPN)... ไม่คล้ายก็แปลกล่ะ ลอกมาเกือบทั้งดุ้น :em02:
เมื่อไม่จำกัด tools ที่ใช้ ก็แน่นอนว่าต้องหากินกับของเก่า ใช้ PHP นี่แหละคุ้นมือสุดแล้ว ทีนี้คำถามก็คือ จะเขียนเอง หรือจะใช้ framework ดี
จริงๆ ที่ออกแบบไว้มันมีไม่กี่หน้า (display, reserve, confirm, cancel) ถ้าเขียนเองก็คงใช้เวลาไม่เท่าไหร่ แต่ถ้าจะเอาไปใช้จริง ก็ต้องมี backend ด้วย ชักเยอะแฮะ ประกอบกับที่เคยตั้งใจไว้ใน My New Year's Resolution เลยตัดสินใจหัดใช้ symfony ดีกว่า
ครึ่งวันแรกหมดไปกับการลองทำ My first symfony project อย่างแรกที่รู้สึกคือ สบายแล้วเฟ้ย... ส่วน backend แค่ใช้ admin generator แล้วแก้ไขนิดหน่อยก็น่าจะใช้ได้ จากนั้นก็เริ่มอ่าน documentation รู้สึกว่าเค้าเขียนได้ดี และค่อนข้างละเอียด มี tips แทรกเป็นระยะๆ เรียกได้ว่าอ่านจบก็น่าจะทำได้เลย
documentation ทั้งหมดมี 19 บท แต่ผมว่าอ่านแค่ 1-10 ก็สร้างแอพพลิเคชันได้แล้ว เลยเริ่มลองทำดู พร้อมกับเปิด documentation อ่านคู่ไปด้วย (อ่านจบไปรอบนึง แต่จำไม่ได้หรอกครับ แค่ให้พอรู้ว่าเราอยากทำแบบนี้ ต้องไปเปิดหาจากบทไหน) ซักพักนึงก็นึกขึ้นมาได้ -- เฮ้ย มันเหมือน Rails เลยนี่หว่า
เลยคิดต่อไปว่า ทำไมผมลองเล่น Ruby on Rails แล้ว ทำแอพพลิเคชันออกมาเป็นชิ้นเป็นอันแบบ symfony ไม่ได้ คิดไปคิดมา ก็ได้ข้อสรุป(เอาเอง)ว่า ผมเรียนรู้ RoR แบบผิดวิธีไปหน่อย คือเขียนไม่เป็นทั้ง Ruby และยังไม่เข้าใจการทำงานของ Rails ผลสุดท้ายเลยได้แค่ generate scaffold แล้วก็แก้ไขอะไรนิดหน่อย ตาม tutorial เ่ท่านั้นเอง
เมื่อเทียบกับ symfony ที่เข้าใจ syntax ของ PHP อยู่แล้ว ทำให้เรียนรู้ได้เร็วกว่าเยอะ และยังมั่นใจว่า ถึงไม่ใช้ helper ของมัน ก็เขียนให้มันทำงานได้เหมือนกัน (แต่เวลาทำจริงก็ใช้ helper แหละ fast and sure :em32: )
ใน New Year's Resolution เคยบ่นไว้ว่าอยากหัดใช้ทั้ง Struts, symfony, และ Rails ก็พอดีเทอมนี้มีการสอน Struts ในชั้นเรียนด้วย บังเอิญดีจริงๆ :em44: แต่หลังจากลองใช้ดูแล้วก็พบว่า Struts (เวอร์ชัน 1) เป็นประมาณ framework รุ่นโบราณ ต้องเขียนไฟล์ configuration เองเยอะมาก และการเขียนแอพพลิเคชันให้สำเร็จออกมาซักตัว แทบจะขึ้นอยู่กับ IDE -- อันนี้ประสบการณ์ตรง สอบเขียนเว็บแอพธรรมดาๆ กรอกข้อมูลใส่ฟอร์ม, มี validation แล้วเอาข้อมูลที่ได้มาแสดงผล กลุ่มผมใช้ Netbeans มัน gen ให้เกือบทุกอย่าง เขียนเสร็จภายในเวลาที่กำหนด, กลุ่มที่ใช้ JDeveloper เป็นก็ทำทัน แต่กลุ่มที่ใช้ Eclipse นี่นั่งมึน (หรือเค้าใช้ไม่เป็นก็ไม่รู้) ส่วนอีกกลุ่มใช้ WebSphere ก็ทำเลยเวลาไปตั้งนานกว่าจะเสร็จ
กลับมาเรื่อง symfony ต่อ... หลังจากได้เว็บเป็นรูปเป็นร่างแล้วก็มาหัดใช้ Ajax เป็นลูกเล่นเพิ่มเติม บอกไว้ก่อนเลยว่าผมเขียน Ajax เองไม่เป็น และคิดว่าต่อไปก็คงจะเขียนเองไม่เป็นอยู่ดี เพราะแค่ใช้ helper ที่ symfony ให้มาก็คิดว่าน่าจะทำได้เท่าที่คนใช้เว็บทั่วๆ ไปจะนึกออกแล้วมั้ง เพราะ symfony มาพร้อม Prototype และ script.aculo.us ทำให้การเรียก Ajax หรือ JSON พร้อมใส่ effect ง่ายแบบใช้ฟังก์ชันเีดียวจบ :em03:
ความเห็นของคนเพิ่งเริ่มใช้ symfony ได้ 5 วัน (a.k.a. ยังเห่ออยู่) ก็ประมาณนี้ครับ ถ้าเรียงลำดับความชอบตอนนี้ก็คือ symfony » RoR » Struts ตามลำดับ :em26:
Recent comments
1 week 2 days ago
1 week 5 days ago
1 week 6 days ago
2 weeks 3 days ago
2 weeks 4 days ago
2 weeks 4 days ago
3 weeks 1 day ago
4 weeks 19 hours ago