เวลาผ่านไป โลกของ CMS ก็เปลี่ยนตาม หลังจากเขียนเกี่ยวกับหัวข้อนี้ครั้งแรกในปี 2007 ซึ่งตอนนั้นยังเป็นโลกของ Mambo และ Joomla! กาลเวลาผ่านไป 3 ปี Mambo ตายไปและปัจจุบันกลายเป็นโลกของ Joomla!, Drupal และ Wordpress ซึ่งทั้ง 3 ต่างได้รับรางวัล Best CMS Award ของสำนักพิมพ์ Packt แต่แน่ล่ะเมื่อมีตัวเลือกมากขึ้น สำหรับมือใหม่ก็คงยากในการตัดสินใจเลือกใช้ (มือเก่าคงไม่เปลี่ยนง่าย ๆ ด้วยหลายเหตุผล เช่น เคยมือ ง่ายในการดูแลรักษา)
และตัวเลือกที่นำมาเปรียบเทียบในบทความนี้ แน่นอน ต้องตามใจผู้เขียน ดังนั้นผมจึงขอนำเฉพาะ CMS ยอดนิยมมาเปรียบเทียบ Joomla!, Drupal, Wordpress และขอเพิ่ม TYPO3 อีก 1 ตัวเช่นเดิม ส่วน CMS อื่นที่พอเป็นที่นิยมในไทยก็ขอกล่าวคร่าว ๆ คือ
- Mambo ได้โปรด เปลี่ยนไปใช้ Joomla! เถอะครับ
- Dotnetnuke เป็น Opensource CMS (แต่ลองไปอ่านโค้ดดูครับ compile มาเรียบร้อยแล้วเป็นส่วนใหญ่ อยากได้โค๊ดมาอ่านต้อง email ไปขอ) ที่ยอดเยี่ยมตัวหนึ่งสำหรับ IIS และ Windows รองรับเฉพาะ Microsoft SQL Server และชุมชนในไทยยังมีไม่มาก ต่างคนต่างเขียน แต่นั่นไม่ใช่ปัญหา เพราะต่างจากเขียน .net ธรรมดาไม่มาก
- Zikula พัฒนามาจาก Postnuke ตั้งเป้าในเรื่องความปลอดภัยแต่ยังต้องปรับปรุงเรื่องประสิทธิภาพ มีหัวหอกผู้ใช้งานในภูเก็ต แต่ไม่มีชุมชน เพราะผู้ใช้ต่างเป็นบริษัท และไม่ได้มีการสนับสนุนผลงาน เช่นพวก แปลภาษาหรือมอดูล ไปยังต้นน้ำ แถมต้นน้ำยังมีผู้ใช้งานน้อย และชุมชนยังไม่แข็งแกร่ง
- plone มีครบทุกอย่างที่ควรมี ยกเว้นผู้ใช้งาน เนื่องจากปัญหาเรื่องระบบพื้นฐาน เพราะต้องใช้ Python และ Zope
- Alfresco เขียนบน J2SE เป็น CMS สำหรับองค์กรณ์ขนาดใหญ่ และแน่นอน ในการใช้งานช้าแน่ ๆ เพราะใช้ Java
แนะนำนิดนะครับ เนื่องจากการเปรียบเทียบมีหลายหัวข้อ แต่การใช้งานจริงบางครั้งบางหัวข้อก็ไม่ต้องไปสนใจ และน้ำหนักในการพิจารณาเลือก CMS ใช้งานก็ควรเปลี่ยนไปตามการใช้งานของคุณ
ส่วนประวัติคร่าว ๆ ของ CMS แต่ละตัวเชิญไปดูที่ ศึกจ้าว CMS ภาค 1 เทียบมวย ขอกล่าวเฉพาะตัวที่ยังไม่มีนะครับ
Wordpress Matt Mullenweg และ Mike Little ได้แยกตัวออกจากเครื่องมือจัดการบล็อก b2/cafelog ที่มีผู้ก่อตั้งคือ Michel Valdrighi ซึ่งปัจจุบันยังคงเป็นทีมพัฒนา Wordpress ออกมาก่อตั้ง Wordpress ในปี 2003 และเริ่มตั้งตัวได้ในปี 2004 เนื่องจากคู่แข่ง Movable Type ได้เปลี่ยนเป็นเก็บตังค์ และเริ่มมีการพัฒนาอย่างต่อเนื่อง โดยได้รับรางวัลของสำนักพิมพ์ packt ในปี 2550 และ 2552 ได้รับ 2 รางวัล คือ 1, 2 จากรางวัลที่ได้ จะเห็นได้ว่า Wordpress ไม่ได้เป็นเป็นเพียงเครื่องมือจัดการบล็อกอีกต่อไป แต่ได้เป็น CMS เต็มตัว ถึงขนาดสามารถชนะใจกรรมการเหนือ Joomla! ได้
การจัดทำเว็บไซต์ทั่วไป
การติดตั้ง
- Drupal ง่ายดาย และมีเครื่องมือแนะนำเรื่องต่าง ๆ และช่วยเหลือในกรณีผิดพลาดดีมาก - 10
- Joomla! กรอกข้อความไม่กี่หน้าก็ได้เว็บไซต์แล้วครับ - 10
- TYPO3 ในเวอร์ชัน 4.4 (เพิ่ง Beta) การติดตั้งง่ายขึ้นมาก ส่วนการตั้งค่ามีให้ตั้งประมาณ 20 หน้ากระดาษ แต่ถ้าไม่รู้เรื่องก็ข้าม ๆ ซะ เว็บมันใช้ได้อยู่ - 10
- Wordpress สะดวก รวดเร็ว - 10
การเรียนรู้ในการใช้งาน
- Drupal ไม่ได้มีส่วนแยกระหว่างเมนูผู้เข้าชมและผู้ดูแลระบบอย่างชัดเจน แต่สามารถลงมอดูลเสริมได้ เนื่องจากระบบได้รับการออกแบบให้ง่ายในการดัดแปลง ดังนั้นจึงใช้ไม่ค่อยง่ายเท่าไหร่ - 9
- Joomla! จัดการทุกอย่างได้ง่ายดาย - 10
- TYPO3 เอ่อ จริง ๆ ก็ก็เหมือนตัวอื่น ๆ เพียงแต่เนื่องจากมันทำได้เยอะกว่าอย่างอื่น เลยเมนูเยอะไป ตาลาย และทางทีมงานไม่คิดจะเปลี่ยนแปลง ถึงขนาดเขียนว่า ถ้าคุณไม่มีเวลาหรือต้องการระบบง่าย ๆ ก็ควรไปใช้ CMS ตัวอื่นในเว็บไซต์หลัก จะเอาเว็บขึ้นก็ต้องเรียนรู้ภาษา TypoScript นิดหน่อยด้วย - 7
- Wordpress ทุกอย่างชัดเจน - 10
คู่มือการใช้งาน
- Drupal มีหนังสือภาษาไทย 2 เล่ม ซื้อทั้ง 2 เล่ม น้อง ๆ บอกว่าของคุณสุกรีกับ mk อ่านเข้าใจดีกว่า (ขายของชัด ๆ) ส่วนอังกฤษมีเยอะที่สุดในตลาด CMS คู่มือในเว็บทำได้ดีมาก - 10
- Joomla! มีคู่มือภาษาไทยเยอะ อังกฤษเยอะ แต่ในเว็บหลักยังทำได้ไม่ดี - 9
- TYPO3 ไม่มีหนังสือภาษาไทย คู่มือภาษาอังกฤษมีไม่มาก แต่ในเว็บหลักทีมงานทำได้ดีมาก ๆ - 8
- Wordpress พอมีหนังสือภาษาไทย แต่ภาษาอังกฤษน้อยไปนิด ในเว็บก็งั้น ๆ - 8
การจัดการเนื้อหา
- Drupal จัดการเนื้อหาหลายชั้นได้ตามต้องการแต่ไม่สามารถคัดลอกเนื้อหาของแต่ละหน้า ได้ อ๊ะ อ๊ะ โชคดี ลงมอดูลเสริมได้ - 10
- Joomla! ทำได้เพียง 3 ชั้น และไม่สามารถคัดลอกเนื้อหาได้ - 7
- TYPO3 ทำได้ทุกอย่าง - 10
- Wordpress ทำได้แต่ไม่ง่ายนัก และต้องลงมอดูลเพิ่ม - 9
SEO
- Drupal อยากทำอะไร ก็ลงมอดูลเพิ่ม - 10
- Joomla! เครื่องมือบางตัวต้องจ่ายเงิน - 8
- TYPO3 ลงมอดูลเพิ่มเพียงเล็กน้อยก็สามารถทำได้ทุกอย่าง - 10
- Wordpress เหมือน Drupal - 10
ธีม
- Drupal ของฟรีพอมี แต่สวย ๆ หายาก และทำเองให้สวยยากมาก ประมาณอยากทำอะไรต้องไปแก้โค๊ดของระบบธีม - 7
- Joomla! โอ้ว สวรรค์ มีให้เลือกมากมาย แถมทำเองง่ายมาก ๆ - 10
- TYPO3 ทำหน้าตาทุกอย่างได้ตามต้องการ เพียงแต่ต้องเรียนภาษา TypoScript - 8
- Wordpress ไม่ต้องทำเองหรอกครับ แค่ของฟรีแค่เลือกก็จะตายแล้ว - 10
การช่วยเหลือ
- Drupal ชุมชนขนาดใหญ่และเข้มแข็ง ถามอะไรก็มีคนช่วยกันตอบ ทั้งชุมชนไทยและชุมชนหลัก และมีการช่วยเหลือแบบเสียเงิน โดยอยู่ในรูป Drupal เวอร์ชันพิเศษ คือ Acquia Drupal ซึ่งมีการพัฒนาทั้งธีมและระบบมากมาย ทั้งยังส่งสิ่งที่พัฒนากลับต้นน้ำด้วย เยี่ยมจริง ๆ - 10
- Joomla! ชุมชนภาษาไทยมีมายาวนานและดีเยี่ยม เช่นเดียวกับชุมชนหลัก เพียงแต่เวลาถามถ้าง่ายไปนิด จะมีคนมาด่า - 9
- TYPO3 ในเว็บหลักทั้ง Forum และ Mailing List ยอดเยี่ยม ถามไปไม่เกิน 24 ชม. จะได้คำตอบดี ๆ แต่ชุมชนภาษาไทยยังเพิ่งเริ่ม (มาหลายปีละ) - 8
- Wordpress ชุมชนภาษาไทยยังไม่เข้มแข็งเท่าไหร่ ส่วนชุมชนหลักจัดอยู่ในเกณฑ์ดี- 8
รวม Drupal - 66, Joomla! - 62, TYPO3 - 61, Wordpress - 65
ประสิทธิภาพ ความปลอดภัย และการดูแลรักษาระบบ
Caching - สำหรับเก็บหน้าเว็บที่ไม่มีการเปลี่ยนแปลงมาก
- Drupal สมบูรณ์แบบ ทำได้ถึงขนาดทำเฉพาะผู้ใช้ บล็อก หรือแม้กระทั่ง SQL - 10
- Joomla! ทำได้ไม่ดีที่สุดใน 4 ตัวนี้ - 7
- TYPO3 ทำได้ทุกอย่าง - 10
- Wordpress ทำได้ดี - 8
ทำหน้าเว็บแบบคงตัว - ไว้สำหรับหน้าที่ไม่มีการเปลี่ยนแปลง เช่น about
- Drupal มีมอดูลเสริม - 10
- Joomla! ไม่มี (มีส่วนขยายแต่ใช้ไม่ได้)- 6
- TYPO3 มีอยู่ในแกนหลัก - 10
- Wordpress มีขั้นตอนในการทำซับซ้อน - 8
Permission
- Drupal สามารถกำหนดเป็นกลุ่มได้ทั้งมอดูล หน้าเว็บ เมนู ว่าให้ใครใช้ได้บ้าง - 9
- Joomla! กำหนดได้ไม่มาก - 7
- TYPO3 เหมือน Drupal แต่สามารถกำหนดสิทธิ์ให้ผู้ใช้รายคนโดยไม่ต้องอยู่ในกลุ่มได้ด้วย - 10
- Wordpress สามารถกำหนดได้ แต่ไม่ทั้งหมด - 8
Multisite - มีผลมากในกรณีที่ดูแลเว็บเยอะ ๆ เพราะถ้าทำได้ เมื่อมีการอัพเดทเวอร์ชันใหม่ จะได้อัพเดทแค่ตัวโปรแกรมหลักเดียว
- Drupal ดีเยี่ยม ง่ายดาย - 10
- Joomla! มีทั้งส่วนขยายที่จ่ายเงินและฟรี แต่ไม่คุ้มค่าที่จะใช้ เพราะการเปลี่ยนรุ่นทุกครั้ง ต้องภาวนาให้ใช้งานได้ - 7
- TYPO3 ไม่ต่างจาก Drupal - 10
- Wordpress มีเวอร์ชันเฉพาะ Wordpress MU - 10
ฐาน ข้อมูล
- Drupal ใช้ได้ทั้ง MySQL และ Postgress SQL และ ในรุ่นถัดไป Drupal 7 รองรับ SQLite อย่างเป็นทางการสำหรับเว็บที่มีการใช้งานต่ำ และรองรับ Oracle อย่างไม่เป็นทางการ (ส่วนในมอดูลเสริมนี่ต้องแล้วแต่ว่าผู้เขียนจะติดต่อฐานข้อมูลผ่าน api หรือเปล่า) - 8
- Joomla! ใช้ MySQL และมีตัวเสริมให้สามารถใช้ Postgress แต่ยังมีข้อผิดพลาดเยอะ - 7
- TYPO3 - ใช้ได้มากมาย เช่น Oracle, MSSQL, PostgreSQL, MAXDb, Sybase, XMLdb10 - 10
- Wordpress ใช้ได้เฉพาะ MySQL - 7
การรองรับระบบ ใหญ่ ๆ - ทดสอบโดยดึงข้อมูลปริมาณเยอะ ๆ แล้วดูว่าใครจะหลุดก่อนกัน
- Drupal ทำได้ดีมาก - 10
- Joomla! ทำได้ดี - 9
- TYPO3 ทำได้ดีมาก - 10
- Wordpress ทำได้ดีมากจนน่าประหลาดใจ - 10
รวม Drupal - 57, Joomla! - 46, TYPO3 - 60, Wordpress - 51
การนำไปใช้งาน
บล็อก
- Drupal ยอดเยี่ยม - 10
- Joomla! ธรรมดา - 8
- TYPO3 ธรรมดา - 8
- Wordpress ไม่ต้องพูดถึง - 10
การจัดการงานเอกสาร
- Drupal ทำได้ แต่ต้องลงมอดูหลายตัว และต้องตั้งค่าอีกเยอะ - 8
- Joomla! ทำได้ แต่ยังไม่ครบและมีปัญหาเรื่องสิทธิผู้ใช้งาน - 8
- TYPO3 ทุกอย่างสมบูรณ์ - 10
- Wordpress มีความสามารถไม่เยอะ - 5
E-Commerce
- Drupal มีให้เลือกทั้ง 2 ตัว และพอใช้ได้ - 9
- Joomla! มีให้เลือกหลายตัวเช่นกันและพอใช้ได้เช่นกัน - 9
- TYPO3 มีหลายตัว แต่ไม่เข้าตา - 7
- Wordpress เหมาะสำหรับเว็บเล็ก ๆ มีเฉพาะความสามารถพื้นฐาน - 7
Forum
- Drupal มีทั้งอยู่ในแกนหลักและมอดูลเสริม - 10
- Joomla! มีให้เลือกหลายตัว แต่ไม่ประทับใจ - 8
- TYPO3 มีให้เลือกหลายตัว - 10
- Wordpress คุณสมบัติไม่มากเท่าที่ควร - 8
Groupware
- Drupal ทำได้เยอะ แต่ต้องลงหลายโปรแกรม - 9
- Joomla! ทำได้ไม่เยอะ - 8
- TYPO3 ครบ - 10
- Wordpress ไม่ต้องพูดถึง - 5
Learning Management System (LMS)
- Drupal ยอดเยี่ยม - 10
- Joomla! ธรรมดา - 8
- TYPO3 มีครบ - 10
- Wordpress ความสามารถไม่เยอะ - 8
Wiki
- Drupal มีให้เลือกหลายตัว และทำงานได้ดี - 10
- Joomla! ทำงานได้ไม่เยอะ - 8
- TYPO3 มีให้เลือกหลายตัว - 10
- Wordpress ความสามารถไม่เยอะ - 8
รวม Drupal - 66, Joomla! - 57, TYPO3 - 65, Wordpress - 46
การใช้งานระยะยาว
- Drupal รุ่น 7 ใกล้ออกแล้วครับ มีการเปลี่ยน api ทำให้มอดูเก่าใช้ไม่ได้ซึ่งเป็นปัญหาใหญ่ของ Drupal แต่การสนับสนุนของรุ่นเก่านี่ก็เข้มแข็งดี
- Joomla! รุ่น 1.6 ก็ใกล้ออกเช่นกัน (คงออกพร้อม ๆ กันครับ ตอน Drupal 6 กับ Joola! 1.5 ก็ออกใกล้เคียงกัน) ประสบปัญหาแบบเดียวกัน นโยบายใกล้เคียงกัน
- TYPO3 รุ่นถัดไปคือ 4.4 ปัญหาการใช้มอดูลเก่านี่น้อยกว่าตัวอื่น ๆ มาก (เพราะแนวทางการเขียนมอดูลกับกว่าจะออกรุ่นใหม่ นานมาก) แต่เมื่อมีการเปลี่ยนเป็น TYPO3 5 ก็คงมีปัญหาแน่นอน (หลัง 4.4 ก็มี 4.5 อีกรุ่นก่อนจะไป 5 ก็น่าจะกินเวลาประมาณ 2 ปีกว่า) เพราะจะมีการเขียนโค้ดใหม่ทั้งหมดบน FLOW3 Framework (ทำให้ปัญหามอดูลเก่ากับเปลี่ยนรุ่นของ CMS หมดไป) แต่เทพได้อีก ไม่เป็นไรครับถ้าจะเขียนมอดูลตอนนี้บน TYPO3 เพราะในรุ่น 4.4 นี้ได้ออก Extbase MVC framework เพื่อให้มอดูลที่เขียนมาใหม่สามารถนำไปใช้บน TYPO3 5
- Wordpress ก็คงออกรุ่น 3.0 ใกล้เคียงกับ Drupal 6 และ Joomla! 1.6 นโยบายการรองรับก็เหมือนกัน สมเป็นพี่ใหญ่ทั้ง 3 ในวงการ CMS
การพัฒนาโปรแกรมเสริม CMS แต่ละตัวก็จะมีแนวทางของตัวเอง
- Drupal สามารถเขียน api เองและเรียกใช้ api ของมอดูลอื่นได้ แบ่งเป็น MVC ชัดเจน
- Joomla! ข้อบังคับในการเขียนน้อยกว่า และสามารถเขียนขายได้ (ตัวอื่นก็ขายได้ครับ แต่ไม่นิยม)
- TYPO3 ยากง่ายใกล้เคีบงกับ Joomla!
- Wordpress โค้ดเหมือนบทกวี อยากเขียนอะไรย่อมได้ครับ แฮคกันอย่างเมามัน
สถานะ การณ์ทั่ว ๆ ไป
- Drupal มีชุมชนที่เข้มแข็งและโตขึ้นเรื่อย ๆ
- Joomla! แม้จะมีผู้ใช้เท่า ๆ เดิม แต่อัตราการเพิ่มลดลง ซึ่งอาจเป็นปัญหาในระยะยาว สาเหตุเกิดจากมอดูลเสริมส่วนใหญ่ที่ดี ๆ จะต้องเสียเงิน แต่ก็เป็นแนวทางการทำธุรกิจที่ดี เพราะมีผู้พัฒนามอดูลเสริมดี ๆ เยอะ
- TYPO3 ได้รับการสนับสนุนจากรัฐบาลเยอรมัน และรัฐบาลเยอรมันได้ใช้ TYPO3 ทั้งระบบ ทำให้ไม่ต้องกังวลเรื่องการสนับสนุน (ทำไมเยอรมันทำได้เนี่ยครับ ไม่มี Microsoft เลย ทั้ง os และโปรแกรม ไทยจะทำได้ไหมเนี่ยครับ)
- Wordpress ได้รับความนิยมเพิ่มขึ้นอย่างรวดเร็ว
ขอ ให้ทุกท่านเลือกใช้งาน CMS ให้เหมาะกับงานนะครับ และสิ่งที่ผมอยากให้เป็นคือคนที่ใช้ open source มาช่วยโปรโมทกันครับ ให้ทุกคนเข้าใจแนวทาง open source ทุกคนร่วมกันใช้ ร่วมกันแบ่งปัน จริง ๆ อยากเริ่มตั้งแต่ระดับมหาลัยครับ เพราะอาจารย์บางคนยังไม่เข้าใจ ไม่ยอมรับโปรเจคจบที่เขียนบน CMS มีเด็กเคยมาปรึกษาผมเรื่องจะเขียนโปรเจคจบ ผมก็แนะนำให้เขียนมอดูลเสริมใน Joomla! หรือ Drupal ปรากฎว่าเด็กไปปรึกษาอาจารย์ที่ปรึกษา โดนด่ากลับมาครับ ว่าเรียนมา 4 ปี ทำไมทำได้แค่นี้ อาจารย์เขาให้เขียนใหม่ทั้งระบบครับ แนวคิดแปลกดี