So sánh mã nguồn mở Drupal và Joomla!

Vâng, lại thêm một bài "Drupal vs Joomla" nữa. Tiêu đề cho thấy một bài viết rất dài! Nhưng tôi chỉ xin viết ngắn gọn, mong các bạn góp ý.

Nền tảng

Drupal được xây dựng từ khá lâu, cách đây hơn 9 năm, nhưng có một nền tảng rất tốt. Khả năng mở rộng của Drupal là vô hạn với cơ chế hook vô cùng phong phú (khoảng 90 hook trong bản 6, và gần 250 hook trong Drupal 7). Cơ chế form, menu... của Drupal giúp người phát triển dễ dàng làm việc họ muốn theo một cách rất đơn giản, sáng sủa.

Joomla! được nhân bản từ Mambo vào năm 2005, cho đến nay đã được gần 5 năm. Nếu tính từ lúc bắt đầu, thì Joomla! có cùng tuổi với Drupal khi cả hai đều công bố phiên bản 1.0 vào năm 2001. Nền tảng của Joomla! mang khá nhiều “tàn dư” từ Mambo, nên khá hỗn loạn. API của Joomla! ít phong phú và không thân thiện với người phát triển. Joomla! cũng có sử dụng hook, cho phép nhà phát triển can thiệp vào hệ thống, nhưng số lượng hook rất nghèo nàn khi so sánh với Drupal.

Cơ chế hook tốt và xu hướng dùng API cho phép các mô-đun của bên thứ ba trong Drupal hỗ trợ lẫn nhau. Với Joomla!, các mô-đun này hoạt động độc lập, gây ra nhiều chức năng trùng lập và mất nhiều công sức phát triển.
Tính năng

Xét về tính năng, cả hai CMS đều cung cấp mọi chức năng cơ bản, như viết bài, viết blog, soạn thảo WYSIWYG, phân loại nội dung, cài đặt các phần mở rộng... Cả Drupal lẫn Joomla! đều hỗ trợ thương mại điện tử, viết wiki, diễn đàn. Các mô-đun (phần mở rộng) của Drupal đại đa số là miễn phí và phát hành theo giấy phép GPL, trong khi đó mở rộng của Joomla! không bao gồm rất nhiều giấy phép khác nhau, trong đó có nhiều giấy phép thương mại. Nhiều phần mở rộng tốt nhất của Joomla! không miễn phí.

Do cấu trúc tốt hơn, Drupal hỗ trợ nhiều tính năng mà Joomla! không có, như các kiểu nội dung khác nhau (Joomla! giải quyết vấn đề này theo nhiều hướng không thống nhất), hỗ trợ đánh phiên bản cho nội dung, hỗ trợ phân quyền chi tiết (sẽ có trong Joomla! 1.6 sắp ra mắt), hỗ trợ phân loại, đánh thẻ nội dung nhiều cấp, đa dạng (Joomla! chỉ có section/category). Drupal cũng hỗ trợ sẵn trong core các tính năng cao cấp như PingAPI, OpenID...

Về khả năng đa ngôn ngữ, Drupal đã hỗ trợ bản địa hoá (local) và đa ngôn ngữ (i18n) ngay trong nhân.

Ưu điểm của Joomla! là có sẵn nhiều sắc thái (template) hơn Drupal. Kho template của Joomla! cực kì phong phú với nhiều website cung cấp khác nhau. Tuy nhiên, khoảng cách với Drupal đang bị rút ngắn, khi Drupal đang có những theme thương mại hoá có chất lượng rất cao (và kho 700 theme miễn phí luôn sẵn sàng). Một ưu điểm khác của Joomla! là giao diện quản trị dễ dùng và trực quan. Giao diện quản trị của Drupal không tách biệt khỏi giao diện thông thường, gây nhiều khó khăn. Vấn đề này có thể được giải quyết bằng các mô-đun và cũng được cải thiện nhiều trong Drupal 7.
Mức độ thân thiện

Về mặt tài liệu, cả hai đều có kho tài liệu tra cứu và hướng dẫn khá phong phú. Về phía người dùng, thao tác với cả Joomla! lẫn Drupal đều dễ dàng.

Khảo sát cộng đồng các nhà phát triển (có kinh nghiệm trung bình 6-7 năm) cho thấy Joomla! dễ dùng hơn. Cách tạo nội dung trong Joomla! dễ dàng hơn và bộ soạn thảo tốt hơn. Drupal vẫn chưa có giải pháp thống nhất cho bộ soạn thảo WYSIWYG, nhưng cộng đồng đang chuẩn hoá API, và nếu hoàn thiện sẽ có mặt trong Drupal 8 (tuy nhiên bạn có thể dùng ngay bây giờ, trong D6 và D7).

Cộng đồng

Cộng đồng Joomla! lớn hơn nhưng hoạt động ít hiệu quả hơn. Drupal chỉ gồm 2 website là drupal.org (D.O) thảo luận về mọi vấn đề liên quan đến Drupal và phát triển mô-đun của bên thứ ba, và groups.drupal.org (G.D.O) thảo luận theo nhóm với đề tài nhất định. D.O là nơi mọi thành viên cùng trao đổi, đóng góp cho Drupal (nêu nhận xét, báo lỗi, trình bày cách sửa lỗi hoặc thậm chí gửi patch) và các mô-dun khác, còn G.D.O tương tự như một diễn đàn không chính thức. Điều thường thấy trên D.O là một thành viên tham gia nhiều mô-đun khác nhau, cùng thảo luận, gửi trợ giúp.

Cộng đồng Joomla! gồm nhiều website xoay quanh joomla.org như community.joomla.org (blog của một vài thành viên chính), forum.joomla.org (diễn đàn, dùng phpBB3), extensions.joomla.org (kho phần mở rộng, chỉ có các nhận xét, giới thiệu và dẫn đến các trang riêng rẽ), docs.joomla.org (tài liệu, hướng dẫn, sử dụng Mediawiki), developer.joomla.org (dành cho nhà phát triển), people.joomla.org (dự tính, sẽ làm mạng xã hội) tuy nhiên đa số ít hoạt động, ngoại trừ diễn đàn. Thí dụ trang developer.joomla.org thì bài viết mới nhất là tháng 10/2009 (cách đây 7 tháng!). Chính sự phân tán như vậy nên khó tìm một chỗ hợp lí để trao đổi. Trang web joomlacode.org được tạo ra làm nơi phát triển các phần mở rộng, nhưng ít được dùng một cách hiệu quả.

Nói chung, về Joomla!, tương tác giữa người dùng thì tốt (nhờ diễn đàn), nhưng tương tác giữa các người dùng và nhà phát triển khó có thể xem là tốt. Người dùng ít gắn bó với cộng đồng hơn. Một nhóm phát triển của Joomla! đã lập ra trang web riêng là ATAAW (dùng dịch vụ của Ning), thu hút khoảng 800 thành viên, chủ yếu là nhóm nòng cốt của Joomla!. Ngoài ra còn có các nhóm thảo luận trên Google Groups.

Tuy nhiên, điểm tốt của Joomla! lại là các website địa phương hoá. Trong khi mọi thảo luận về Drupal lại diễn ra ở drupal.org bằng tiếng Anh.

Ứng dụng

Về số lượng website “chất lượng cao” thì Drupal chiếm số lượng áp đảo. Có thể kể đến các website của Nhà Trắng, MTV, jQuery, Ubuntu. Website dùng Joomla! được truy cập nhiều nhất mà tôi biết (không tính joomla.org) là linux.com chỉ có thứ hạng rất khiêm tốn.

Tuy vậy, theo thống kê của Webology tiến hành năm 2009 trên 200 nhà phát triển web, thì các dự án trên Joomla! có chi phí thấp hơn. Trung bình mỗi dự án Joomla! tốn kém 20 nghìn đô la, trong khi dự án Drupal mất 45 nghìn đô la. Có thể nói Joomla! là lựa chọn hợp lí cho các website giá rẻ, và các dự án lớn hơn sẽ sử dụng Drupal.
Tags: , ,

Sự lựa chọn đúng đắn

Mời các bạn ghé thăm CHUYÊN TRANG Ý TƯỞNG VÀ SÁNG CHẾ ĐỘC LẠ tại EVNTEL.COM

0 nhận xét

Leave a Reply