ศึกจ้าว CMS ภาค 2 ยกแรก

by overbid
18 September 2007 - 01:38

หมัดแรก ชุมชนนักพัฒนา เป็นที่แน่นอนว่า อนาคตของ CMS ย่อมขึ้นอยู่กับชุมชนนักพัฒนา เพราะคุณคงไม่มานั่งเขียนเองหรอก (ถ้าคิดจะเขียนเองคงไม่มาใช้ CMS หรอก) และคุณอาจจะดูปริมาณการใช้งาน CMS แต่ละตัวคร่าว ๆ ได้ดังนี้

drupal   
joomla   
mambo   
typo3   

Drupal แม้จะดูว่าปริมาณผู้ใช้อาจจะน้อยกว่า Joomla! หลายเท่า แต่ Drupal กลับมีชุมชนนักพัฒนาที่แข็งแกร่ง เนื่องจากมีศูนย์รวมมอดูลที่ดี และด้วยตัว Drupal เองที่เป็นที่ชื่นชอบของนักพัฒนามากกว่าผู้ใช้งานเบื้องต้น จึงทำให้ Drupal มีชุมชนที่แข็งแกร่ง พอ ๆ กับ Joomla! แต่สำหรับในเมืองไทยแล้ว ชุมชนยังอยู่ในระหว่างการก่อตั้ง คือที่ Drupal Thailand Community (ถ้าเข้าไม่ได้ไม่ต้องตกใจครับ คุณ sugree บอกคงจะเร็ว ๆ นี้)

Joomla! แม้ผู้ใช้ Joomla! ส่วนใหญ่จะไม่ใช่นักพัฒนา แต่มดก็กัดช้างตายได้นะครับ สำหรับในเมืองไทย มีนักพัฒนา 2 สาย คือ Joomla! Corner โดยทีม Joomla! Laithai และ Joomla! Siam

Mambo หลังจากทีมพัฒนาส่วนใหญ่แยกออกไปพัฒนา Joomla! แล้ว นักพัฒนาส่วนขยายยังย้ายไปเกิน 70% ทำให้คุณต้องพิจารณาเรื่องนี้ด้วย แต่สำหรับในไทยแล้ว กลับมีชุมชนที่แข้มแข็ง เท่า ๆ Joomla! เพราะมีทีมพัฒนาเป็นทีมเดียวกันเป็นส่วนใหญ่ เว็บหลักคือที่ Mambo Hub หรือ mambo.or.th

Typo3 แม้ปริมาณผู้ใช้จะน้อยที่สุด แต่กลับมีชุมชนนักพัฒนาที่แข้มแข็งที่สุด เนื่องจากผู้ใช้ส่วนใหญ่จะเป็นผู้มีความสามารถด้านเขียนโปรแกรม (เนื่องจากใช้ยากมาก มากกว่าที่คุณคิด) สำหรับในเมืองไทย ผู้พัฒนายังรวมตัวกันไม่ติด

สรุป Drupal - 9, Joomla! - 9, Mambo - 6, Typo3 - 10

 

หมัดที่สอง สถาปัตยกรรม

Drupal สำหรับรุ่น 5.2 รองรับทั้ง Apache 1.3 ขึ้นไป และ IIS 5 ขึ้นไป ส่วน PHP ต้องใช้ PHP 4.3.3 ขึ้นไป ฐานข้อมูลสามารถใช้ทั้ง MySql v3.23.17 ขึ้นไปและ PostgreSQL 7.3 ขึ้นไป ทำให้คุณสามารถใช้แม่ข่ายส่วนใหญ่ที่เปิดให้บริการในเมืองไทยได้ แต่ถ้าหาแม่ข่ายที่มีตัวจัดการ cache (เช่น XCache, PHP-accelerator, Zend Accelerator) จะเป็นเรื่องที่เยี่ยมมาก เพราะ Drupal ได้วางสถาปัตยกรรมให้ใช้ประโยชน์ได้อย่างเต็มที่ โดยเร็วกว่าปกติถึง 5 เท่า (เฉพาะผู้ใช้ที่ไม่ login นะครับ เพราะฉะนั้นเวลาใช้บล็อกโนเนะ งุงิ บล็อกนั้น ถ้าไม่ลำบากก็ไม่ต้อง login ครับ) ในขณะที่ Joomla! และ Mambo ถึงใช้ไปก็ไม่ค่อยมีประโยชน์มากนัก เร็วกว่าเดิมประมาณ 10% เมื่อเทียบกับ 500% ของ Drupal) ดูการทดสอบได้ที่เว็บของ Dries Buytaert ซึ่งเป็นหัวหน้าโครงการของ Drupal แต่เมื่อเทียบกับ Typo3 แล้ว ระบบ cache ของ Typo3 จะสมบูรณ์กว่ามาก แม้ประสิทธิภาพจะน้อยกว่า Drupal นิดหน่อยแต่ใช้ได้ทั้งระบบเหมือน Joomla! และ Mambo

Joomla! สำหรับรุ่น 1.0.13 รองรับทั้ง Apache 1.3 ขึ้นไป และ IIS 5 ขึ้นไป ส่วน PHP ต้องใช้ PHP 4.2 ขึ้นไป ฐานข้อมูลสามารถใช้ MySql v3.23 ขึ้นไป ทำให้คุณสามารถใช้แม่ข่ายส่วนใหญ่ที่เปิดให้บริการในเมืองไทยได้

Mambo สำหรับรุ่น 4.6.2 รองรับทั้ง Apache 1.13.19 ขึ้นไป (แต่แนะนำให้ใช้ 2.0.55 เป็นอย่างน้อย) และ IIS 5 ขึ้นไป ส่วน PHP ต้องใช้ PHP 4.3 ขึ้นไป (แต่แนะนำให้ใช้ 4.4 เป็นอย่างน้อย) ฐานข้อมูลสามารถใช้ MySql v4 ขึ้นไป ทำให้คุณสามารถใช้แม่ข่ายส่วนใหญ่ที่เปิดให้บริการในเมืองไทยได้

Typo3 สำหรับรุ่น 4.1.2 รองรับทั้ง Apache 1.3 ขึ้นไป และ IIS 5 ขึ้นไป ส่วน PHP ต้องใช้ PHP 4 ขึ้นไป ฐานข้อมูลสามารถใช้ MySQL, PostGreSQL, Oracle, MSSQL หรือที่ใช้ ODBC หรือมีตัวติดต่อผ่าน PHP 4 ดูดูอาจดูเหมือนหาแม่ข่ายง่ายนะครับ แต่ถ้าจะใช้ Typo3 ให้เต็มประสิทธิภาพแล้วละก็ คุณต้องมี GraphicsMagick หรือ ImageMagick, GDlib หรือ Freetype, zlib, Apache ที่มี mod_gzip/mod_rewrite (เช่นเดียวกับ Drupal) และ A PHP-cache (XCache, PHP-accelerator, Zend Accelerator เช่นเดียวกับ Drupal) เพียงแค่นี้ก็ทำให้หาแม่ข่ายที่เหมาะสำหรับ Typo3 ยากมาก แถมรุ่นที่จะออกใหม่ รองรับเฉพาะ PHP 5.2 ขึ้นไป ซึ่งแม่ข่ายทั้งหลายในไทยที่เปิดให้บริการ ผมหาทั้งคืนเจอเจ้าเดียว เพราะฉะนั้น ถ้าคุณคิดจะใช้ Typo3 คุณคงต้องมีแม่ข่ายส่วนตัวละครับ

ขนาดของแฟ้มข้อมูลทั้งหมด Joomla! และ Mambo มีขนาดพอ ๆ กันโดย Mambo มีขนาดใหญ่กว่านิดหน่อย ประมาณ 11M (Joomla! 1.5 ใหญ่ประมาณ 21M) ในขณะที่ Drupal มีเพียง 2.2M (6.0 มีขนาดใกล้เคียงของเดิม) ส่วน Typo3 19.5M และอาจกล่าวได้ว่า ยิ่งมีโค้ดมากเท่าไหร่ ก็ยิ่งเปิดโอกาสให้เกิด Bug มากเท่านั้น ถึงจะมีข้อโต้แย้งว่าว่า Joomla! และ Mambo ได้รวมความสามารถเข้าไว้กับส่วนแกนหลักเลย เช่นออกหน้าเว็บเป็น PDF ในขณะที่ Drupal ต้องใช้มอดูลเสริม ซึ่งใหญ่ประมาณ 10.4M (Pdfview), มีระบบเมล์ในตัวเอง ขณะที่ Drupal ต้องใช้โปรแกรมเสริม แต่ในเรื่องประสิทธิภาพการใช้งานของส่วนที่เพิ่มเข้าไปในแกน กับส่วนขยายกลับแตกต่างกันมาก เพราะส่วนที่ Joomla! และ Mambo เพิ่มเข้าไป ส่วนใหญ่เป็น open source ตัวอื่นและไม่ค่อยจะปรับปรุงใหม่ ในขณะที่ Drupal ซึ้งต้องเพิ่มมอดูลเข้าไป จึงสามารถใช้โปรแกรมตัวอื่นซึ่งใหม่กว่าได้ หมายถึงมีข้อผิดพลาดน้อยกว่า อย่างเช่น Joomla! และ Mambo ใช้โค๊ดของ FPDF ซึ่งหยุดพัฒนาไปแล้ว 3 ปี ในขณะที่ ใช้ Pdfview เดิมก็ใช้ FPDF แต่รุ่นใหม่ล่าสุดกลับมาใช้ TFPDF ซึ่งยังคงพัฒนาอยู่ แต่ขอบอก อย่าเอาแนวความคิดนี้ไปใช้กับ Typo3 นะครับ เพราะพี่ท่านหยิ่ง เขียนใหม่หมดครับ

มามองในมุมของผู้ดูแลระบบ ถ้าคุณอยากมีเว็บไซต์สัก 10 ไซต์ แล้วเกิดจำเป็นต้องปรับปรุง CMS เป็นรุ่นที่ใหม่กว่าคุณจะทำยังไง ปรับปรุงทีละไซต์เหมือนที่ต้องทำใน Joomla! และ Mambo หรือปรับปรุงครั้งเดียวได้ทุกไซต์แบบ Drupal และ Typo3 แน่นอนคุณต้องชอบอย่างหลังแน่ แม้ Joomla! และ Mambo จะมีส่วนเสริมเรื่อง multisite ให้ฟรี แต่มีข้อผิดพลาดมหาศาล แถมพอเปลี่ยนรุ่นคุณต้องรอจนกว่าผู้พัฒนาจะแก้ไขให้รองรับรุ่นใหม่ได้ (ในตอนนั้นเว็บคุณอาจกลายเป็นเว็บเปล่า ๆ ไปแล้วก็ได้) ส่วนของไม่ฟรีนั้นของเขาดีจริง แต่แพง แม้ Drupal และ Typo3 จะมีความสามารถเรื่อง multisite ได้สมบูรณ์ แต่ถ้าคุณเป็นผู้ดูแลระบบที่เปิดให้ผู้ใช้หลายคนเข้ามาติดตั้งแต่ละเว็บเอง คุณจะชอบ Typo3 มากกว่า เพราะเพียงแค่นำส่วน dummy ใน Typo3 (หรือ setting ใน Drupal) มาวางใน Directory ใหม่ก็ใช้ได้ ในขณะที่ Drupal ต้องวางใน Directory sites เท่านั้น ทำให้การกำหนดสิทธิ์ยุ่งยากกว่า Typo3 และที่ Typo3 เหนือกว่ามาก ๆ คือเรื่องปรับปรุงเป็นรุ่นใหม่ครับ แค่คลิกเดียวเสร็จ ส่วน Joomla! และ Mambo ใช้แบบ patch เอา ส่วน Drupal ต้องลงใหม่ทับ นรกแต๊

สรุป Drupal - 10, Joomla! - 8, Mambo - 7, Typo3 - 9

 

(18 กันยายน 2550)

 

ศึกจ้าว CMS ภาค 1 เทียบมวย ศึกจ้าว CMS ภาค 2 ยกแรก ศึกจ้าว CMS ภาค 3 ยกที่สอง ศึกจ้าว CMS ภาค 4 ยกที่สาม ศึกจ้าว CMS ภาค 5 ยกที่สี่ ศึกจ้าว CMS ภาค 6 ยกตัดสิน

Blognone Jobs Premium