มีเวลาล่ะ มาต่ออีกซะหน่อย เห็นแต่ละท่าน ใส่รายละเอียดกันอย่างเต็มที่
หัวข้อคือ Codeigniter หาบ้านใหม่ แต่แตกประเด็นออกไปได้เยอะเลย ก็อ่านสนุกดีครับ
ผมขอเสริมในมุมมองของคนทำ PHP และวิเคราะห์ Codeigniter ทำไมถึงหยุดพัฒนานะครับ
เรื่องความง่ายในการเขียนโปรแกรมใครที่เขียน php, c#.net, java, ruby, python, node.js หรือภาษาไหน ในการทำเว็บไซด์ คงไม่มีใครปฏิเสธว่า PHP มันง่ายจริงๆ คือเรียนรู้ง่าย ศึกษาง่าย เขียนนิดหน่อยๆ ก็ทำงานได้แล้ว ไม่ต้องมีอะไรมากเลย ไม่ต้องติดตั้งอะไรในวุ่นวาย นี้คือ จุดเด่นของ PHP เลยเมื่อเทียบกับภาษาอื่น อย่างน้อยก็เทียบกับตัวผมเอง เพราะเท่าที่เขียนโปรแกรมมา PHP เค้าเอาใจง่ายสุด
เรื่องความเร็ว performanceในหัวข้อนี้ตอบยากนะครับ เพราะจะบอกว่า PHP ไม่เหมาะกับงานที่ต้องการ performance สูงๆ แต่ก็มีเว็บไซด์ใหญ่ๆ ที่ใช้ PHP และใช้เทคนิคอื่น ในการช่วยให้ code PHP ทำงานได้เร็วมากขึ้นเช่น HHVM ของ Facebook เพื่อมาคอมไฟล์โค็ดของ php เก็บไว้ ไม่ต้อง interpret ทุกๆรอบ ทำให้มันเร็วมากๆ แต่ไม่ค่อยเห็นใครพูดถึงเรื่อง performance กันในทางปฏิบัติมากนะครับ ส่วนตัวผมก็ทำเว็บไซด์ที่มีหลายสิบล้าน Pageview ต่อวัน ทีมเราก็ใช้ PHP ครับก็รับโหลดกันได้สบายๆ ที่รับโหลดได้ไม่ใช่เอา PHP รันกันตรงๆทุก request นะ เบื้องหลังคือ caching นะครับ

และใช้หลายภาษาร่วมกัน ไม่ใช่แค่ php อย่างเดียว python ก็ใช้ ruby ก็ใข้ node ก็ใช้ แล้วแต่ลักษระงานนั้นๆ เพราะต้องแยกแต่ละส่วนออกจากกัน เพื่อทำหน้าที่คนละอย่าง ตามความเหมาะสมของ framework และภาษานั้นๆ
การทำงานเป็นทีมถ้าพูดถึงภาษา php แต่ละคนคงทำงานกันคนเดียวซะส่วนมาก หรือถ้าทำงานเป็นทีมก็แยกกันทำเป็น feature แล้วเอามาประกอบกัน การเขียนโปรแกรมก็แล้วแต่ใครจะเขียนแบบไหน ดังนั้นไม่ต้องหาความสวยงาม ความเป็นมาตรฐาน หรือบางคนบอกว่าเขียนเป็น design pattern สุดท้ายแล้วก็ยิ่งจะยุ่งกว่าเดิมเพราะเพื่อนๆในทีมเขียนไม่เป็นด้วย สิ่งที่สำคัญในการเขียนโปรแกรมเป็นทีมต้องกล้าแก้ไข กล้ารื้อทิ้งได้ตลอดเวลา แต่ใครล่ะจะกล้าเขียนใหม่ถ้ามันทำงานได้ดีอยู่แล้ว สิ่งที่ขาดคือ Testing และการทำ Test นี่เองที่ทำให้ PHP framework แต่ละตัวโดนตัดออกไปจากตัวเลือกทีละตัวสองตัว
แม้กระทั้ง CodeIgniter ตัวที่เรากำลังพูดถึงนี้ เพราะ CodeIgniter ไม่ได้ออกแบบมาในการทำ Test
แล้วจะดูได้ยังไงว่า PHP Framework รองรับการทำ Test ล่ะ ก็ดูว่ามี IOC/DI หรือ Dependency Injection หรือเปล่า ถ้ามี โอเค ถือว่า Framework เข้ารอบ แต่ถ้าไม่มี Dependency Injection ล่ะก็ ทีมไหนที่ยังเลือก Framework แบบไม่มี DI ก็คงจะไม่ทำ Test กันหรือเปล่า

ถ้าเอา Codeigniter มาเทียบกับ Laravel, Phalcon แล้วเทียบกันไม่ได้เลย เพราะ Framework ออกแบบมาคนละอย่าง
Codeigniter เค้าเป็นคนรุ่นเก่า ส่วน Laravel, Phalcon เค้าคนรุ่นใหม่ ติดปีกแล้ว โดยเฉพาะ Phalcon Framework ถ้าใครใช้ CodeIgniter อยู่ก็ใช้ไป แต่ถ้าขึ้นโปรเจ็กใหม่ก็ไปใช้ Phalcon เถอะครับ
แล้วจะไม่หันไปใช้ PHP Framework ตัวอื่นอีก

แต่ถ้าจะทำเว็บไซด์เหมือนๆกับ Joomla, Wordpress, Forum ก็ไม่ต้องคิดอะไรกันมาก PHP นั้นเหล่ะดีแล้ว
ไม่เขียนต่อเยอะ เดียวจะยาวไปครับ ให้สมาชิกคนอื่นมาต่อ