10/10/2018, 10:39
Lập trình web: Sử dụng hệ thống CMS nào? Joomla, Drupal hay Wordpress
Lập trình web: Sử dụng hệ thống CMS nào? Joomla, Drupal hay Wordpress
Đã có nhiều trao đổi thảo luận về việc hệ thống này number one, hệ thống kia là "the best" ... Khi mở thread này, mình không muốn sa lầy vào tranh cãi như thế, mà mong muốn có những trao đổi có ích nhằm chọn một hệ thống để phát triển cho một nhu cầu sử dụng rất cụ thể.
Team mình cần phát triển một website nội dung về chứng khoán, cách tiếp cận là phát triển dựa trên một open source CMS. Yêu cầu đối với website này lần lượt ưu tiên như:
1. Stable and Security: hệ thống cần hoạt động ổn định và an toàn
2. Performance and Scaling: hệ thống có thể dễ dàng mở rộng đáp ứng từ 10.000 lượt visit lên đến 300.000 lượt visit mỗi ngày.
3. SEO: có sẵn nhiều module, plugin và practice article hổ trợ search engine optimization.
4. Flexible Development: Dễ dàng phát triển, tích hợp và nâng cấp, được hỗ trợ của cộng đồng mạnh.
Việc chọn hệ thống nào rất quan trọng vì nó ảnh hưởng rất lớn đến toàn bộ quá trình phát triển về sau (nhân sự, chuyên môn sau này, tính mở rộng...) Sau khi tham khảo nhiều tài liệu, short-list hiện tại là Joomla, Drupal và Wordpress nên mình mong muốn thread này chỉ nên đề cập quanh 3 hệ thống này trên các tiêu chí trên.
Sau đây là một số nhận định của mình, mời các bạn tham khảo và góp ý để mình có thể chọn được hướng đi đúng.
Tiêu chí 1: Stable and Security
Do cả 3 hệ thống này đều có bề dày phát triển nên tiêu chí 1 hầu hết đều đáp ứng được nên mình không đi sâu vào chi tiết này cũng như so sánh nhất, nhì, ba.
Tiêu chí 2: Performance & Scaling
- Joomla:
+ Performance: cảm nhận ban đầu là performance của Joomla không tốt bằng so với Drupal và Wordpress (thấy có vẻ Wordpress load nhanh nhất). Tuy nhiên rõ ràng một số site phát triển bằng Joomla không hề có vấn đề về performance dù lượng truy cập rất lớn. Cụ thể trang vietbao.vn, load khá nhanh và ít bị nghẽn dù lượng truy cập và khối lượng dữ liệu rất lớn.
+ Scaling: không biết các trang Joomla sẽ xử lý như thế nào nếu dữ liệu quá nhiều như trang vietbao.vn, có thể tách web server và database chạy trên nhiều server không?
- Drupal:
+Performance: được giới phát triển đánh giá khá tốt, nhưng nhìn source code mình thấy load quá nhiều module, không biết có ảnh hưởng gì nhiều đến performance không? Một số article có hướng dẫn sử dụng opcode như APC (Alternative PHP Cache) để cải thiện performance. Nhưng hình như điều này cũng đúng với các hệ thống PHP khác vì opcode can thiệp vào web server để xử lý PHP tốt hơn.
+ Scaling: cách đơn giản là có thể tách web server và database server. Theo mình biết (không biết chính xác không), site tamtay.vn đã tách được thành nhiều web server (load balancing...) và nhiều database server (đọc, ghi) rất tốt. Nhưng dường như là tự phát triển riêng và không thấy công bố các chi tiết chính thức nên không rõ là làm như thế nào. Một hướng khác là sử dụng cloud computing (ví dụ: Amazon S3 service) để scale file server. Thấy một số site của Drupal greek (ví dụ: lullabot.com) có đề cập đến việc này. Không biết ở VN mình có ai đã làm được việc này chưa? nếu làm được việc này thì sẽ có hệ thống cực kỳ mạnh mẽ và không phải lo vấn đề scalling về sau.
- Wordpress:
+Performance: cá nhân mình rất thích sự đơn giản và cấu trúc súc tích của hệ thống này, sử dụng wp-super-cache còn có thể cache hệ thống như file static --> Performance là điểm rất mạnh của Wordpress đã được chứng mình qua hầu hết các blog lớn của thế giới.
+ Scaling: nghe nói Wordpress MU có plug-in Multi-DB, có khả năng tách database thành n database, mỗi database có thể chạy trên mỗi server khác nhau. Không biết đã có ai thử khả năng này chưa? nếu thật sự đúng như vậy thì scaling của Wordpress chỉ cần lo về phía web server mà thôi.
Tiêu chí 3: SEO
Đây là một tiêu chí rất quan trọng hiện nay vì nếu hệ thống cực kỳ tốt, mà không có ai vào thì... chán chết.
-Joomla:
+ Mình không rành về khả năng SEO của Joomla lắm, nghe mọi người chê nhiều hơn khen. Tuy nhiên, cá nhân thì thấy trang vietbao.vn SEO cực kỳ tốt. Mình thử search rất nhiều loại từ khóa và rất nhiều lần trang này nằm trong top của Google result. --> nhờ khả năng mặc định của Joomla hay do kỹ năng của team vietbao.vn?
- Drupal:
+được đánh giá rất tốt với các module như Path-Auto, ... Ngoài ra, mình còn nghe quảng cáo về việc SEO được chú ý ngay từ lúc phát triển Drupal core --> SEO là ưu điểm của Drupal so với các hệ thống khác, không biết có đúng không?
+ Tuy nhiên, hình như một số site Drupal có vấn đề với Google sitemap là bị ảnh hưởng kết quả SEO bởi nhiều lý do khác nhau. Nếu vậy, thực sự Drupal làm SEO tốt hay Joomla làm tốt hơn? Mình rất lúng túng chỗ này vì nhiều bài viết đánh giá và nhiều bài viết về kinh nghiệm thực tế trái ngược nhau?
- Wordpress:
+ Được đánh giá khá cao về khả năng SEO, bản thân mình có sài thử all-in-one-seo-pack và simple-tags..., thấy rất thích vì sự đơn giản và dễ dàng khi dùng các plug-in này. Mình nghĩ, SEO không là vấn đề với Wordpress, thậm chí là ưu điểm so với các hệ thống khác.
Tiêu chí 4: Flexible Development
-Joomla:
+ Rất dễ set-up hệ thống, cộng với cộng đồng sử dụng đông đảo. Tuy nhiên, mình đọc rất nhiều nhận xét về kiến trúc, rất khó phát triển về sau và nhiều người khuyên là dùng nếu muốn phát triển website với các tính năng đơn giản.
- Drupal:
+ Được đánh giá tốt nhất về kiến trúc hệ thống, cộng đồng developer rất mạnh. Do mình cần tích hợp một số chức năng với các đối tác là các công ty chứng khoán (thông qua web services...), nên rất muốn đi theo hướng chọn Drupal. Thực sự không biết mình nhận xét đúng không? Drupal rất dễ tích hợp với các hệ thống khác phải không?
+ Điểm yếu nếu dùng Drupal là cộng đồng Vietnamese Drupal developer không nhiều, và khá kín tiếng --> tuyển người sẽ khá khó khăn. Điều này đúng không?
- Wordpress:
+ Trong tất cả các tiêu chí, mình đều đánh giá cao Wordpress, đặc biệt WP còn rất nhiều tìềm năng để phát triển, cộng đồng designer và developer đều mạnh (có thể so với Joomla designer community và Drupal developer community).
+ Tuy nhiên, điểm chính yếu nhất là WP kiến trúc được dùng để làm blog không phải CMS, nên không biết nếu đi theo hướng dùng WP có bị vào ngõ cụt không? Dù có một số website đã dùng WP như một CMS và có vài hướng dẫn về việc này, nhưng mình không tự tin lắm. Đã có website nào ở Việt Nam mình dùng Wordpress, đặc biệt là Wordpress MU để làm hệ thống quản lý nội dung (CMS) chưa? Có khả năng thành công không nhỉ?
Bài này gồm một số nhận định mang tính cá nhân, một số chỉ là suy đoán nên các bạn cứ thoải mái chỉ ra các điểm mình viết chưa chính xác, ngoài ra còn khá nhiều câu hỏi nhưng mình tin là cũng có rất nhiều người cùng quan tâm đến nên rất mong lắng nghe ý kiến phản hồi.
Sơn Trần,
joc.sontran@gmail.com
(Xem bản formatted tại đây http://docs.google.com/Doc?id=ds3zw5h_24dmjhx6cv&hl=en)
-----------------------
Updated: Đã chọn được nền tảng - Drupal
Tuyển PHP Developer Pro, part-time và full-time tại Sài Gòn. >>>
Bấm vào đây để xem chi tiết
Đã có nhiều trao đổi thảo luận về việc hệ thống này number one, hệ thống kia là "the best" ... Khi mở thread này, mình không muốn sa lầy vào tranh cãi như thế, mà mong muốn có những trao đổi có ích nhằm chọn một hệ thống để phát triển cho một nhu cầu sử dụng rất cụ thể.
Team mình cần phát triển một website nội dung về chứng khoán, cách tiếp cận là phát triển dựa trên một open source CMS. Yêu cầu đối với website này lần lượt ưu tiên như:
1. Stable and Security: hệ thống cần hoạt động ổn định và an toàn
2. Performance and Scaling: hệ thống có thể dễ dàng mở rộng đáp ứng từ 10.000 lượt visit lên đến 300.000 lượt visit mỗi ngày.
3. SEO: có sẵn nhiều module, plugin và practice article hổ trợ search engine optimization.
4. Flexible Development: Dễ dàng phát triển, tích hợp và nâng cấp, được hỗ trợ của cộng đồng mạnh.
Việc chọn hệ thống nào rất quan trọng vì nó ảnh hưởng rất lớn đến toàn bộ quá trình phát triển về sau (nhân sự, chuyên môn sau này, tính mở rộng...) Sau khi tham khảo nhiều tài liệu, short-list hiện tại là Joomla, Drupal và Wordpress nên mình mong muốn thread này chỉ nên đề cập quanh 3 hệ thống này trên các tiêu chí trên.
Sau đây là một số nhận định của mình, mời các bạn tham khảo và góp ý để mình có thể chọn được hướng đi đúng.
Tiêu chí 1: Stable and Security
Do cả 3 hệ thống này đều có bề dày phát triển nên tiêu chí 1 hầu hết đều đáp ứng được nên mình không đi sâu vào chi tiết này cũng như so sánh nhất, nhì, ba.
Tiêu chí 2: Performance & Scaling
- Joomla:
+ Performance: cảm nhận ban đầu là performance của Joomla không tốt bằng so với Drupal và Wordpress (thấy có vẻ Wordpress load nhanh nhất). Tuy nhiên rõ ràng một số site phát triển bằng Joomla không hề có vấn đề về performance dù lượng truy cập rất lớn. Cụ thể trang vietbao.vn, load khá nhanh và ít bị nghẽn dù lượng truy cập và khối lượng dữ liệu rất lớn.
+ Scaling: không biết các trang Joomla sẽ xử lý như thế nào nếu dữ liệu quá nhiều như trang vietbao.vn, có thể tách web server và database chạy trên nhiều server không?
- Drupal:
+Performance: được giới phát triển đánh giá khá tốt, nhưng nhìn source code mình thấy load quá nhiều module, không biết có ảnh hưởng gì nhiều đến performance không? Một số article có hướng dẫn sử dụng opcode như APC (Alternative PHP Cache) để cải thiện performance. Nhưng hình như điều này cũng đúng với các hệ thống PHP khác vì opcode can thiệp vào web server để xử lý PHP tốt hơn.
+ Scaling: cách đơn giản là có thể tách web server và database server. Theo mình biết (không biết chính xác không), site tamtay.vn đã tách được thành nhiều web server (load balancing...) và nhiều database server (đọc, ghi) rất tốt. Nhưng dường như là tự phát triển riêng và không thấy công bố các chi tiết chính thức nên không rõ là làm như thế nào. Một hướng khác là sử dụng cloud computing (ví dụ: Amazon S3 service) để scale file server. Thấy một số site của Drupal greek (ví dụ: lullabot.com) có đề cập đến việc này. Không biết ở VN mình có ai đã làm được việc này chưa? nếu làm được việc này thì sẽ có hệ thống cực kỳ mạnh mẽ và không phải lo vấn đề scalling về sau.
- Wordpress:
+Performance: cá nhân mình rất thích sự đơn giản và cấu trúc súc tích của hệ thống này, sử dụng wp-super-cache còn có thể cache hệ thống như file static --> Performance là điểm rất mạnh của Wordpress đã được chứng mình qua hầu hết các blog lớn của thế giới.
+ Scaling: nghe nói Wordpress MU có plug-in Multi-DB, có khả năng tách database thành n database, mỗi database có thể chạy trên mỗi server khác nhau. Không biết đã có ai thử khả năng này chưa? nếu thật sự đúng như vậy thì scaling của Wordpress chỉ cần lo về phía web server mà thôi.
Tiêu chí 3: SEO
Đây là một tiêu chí rất quan trọng hiện nay vì nếu hệ thống cực kỳ tốt, mà không có ai vào thì... chán chết.
-Joomla:
+ Mình không rành về khả năng SEO của Joomla lắm, nghe mọi người chê nhiều hơn khen. Tuy nhiên, cá nhân thì thấy trang vietbao.vn SEO cực kỳ tốt. Mình thử search rất nhiều loại từ khóa và rất nhiều lần trang này nằm trong top của Google result. --> nhờ khả năng mặc định của Joomla hay do kỹ năng của team vietbao.vn?
- Drupal:
+được đánh giá rất tốt với các module như Path-Auto, ... Ngoài ra, mình còn nghe quảng cáo về việc SEO được chú ý ngay từ lúc phát triển Drupal core --> SEO là ưu điểm của Drupal so với các hệ thống khác, không biết có đúng không?
+ Tuy nhiên, hình như một số site Drupal có vấn đề với Google sitemap là bị ảnh hưởng kết quả SEO bởi nhiều lý do khác nhau. Nếu vậy, thực sự Drupal làm SEO tốt hay Joomla làm tốt hơn? Mình rất lúng túng chỗ này vì nhiều bài viết đánh giá và nhiều bài viết về kinh nghiệm thực tế trái ngược nhau?
- Wordpress:
+ Được đánh giá khá cao về khả năng SEO, bản thân mình có sài thử all-in-one-seo-pack và simple-tags..., thấy rất thích vì sự đơn giản và dễ dàng khi dùng các plug-in này. Mình nghĩ, SEO không là vấn đề với Wordpress, thậm chí là ưu điểm so với các hệ thống khác.
Tiêu chí 4: Flexible Development
-Joomla:
+ Rất dễ set-up hệ thống, cộng với cộng đồng sử dụng đông đảo. Tuy nhiên, mình đọc rất nhiều nhận xét về kiến trúc, rất khó phát triển về sau và nhiều người khuyên là dùng nếu muốn phát triển website với các tính năng đơn giản.
- Drupal:
+ Được đánh giá tốt nhất về kiến trúc hệ thống, cộng đồng developer rất mạnh. Do mình cần tích hợp một số chức năng với các đối tác là các công ty chứng khoán (thông qua web services...), nên rất muốn đi theo hướng chọn Drupal. Thực sự không biết mình nhận xét đúng không? Drupal rất dễ tích hợp với các hệ thống khác phải không?
+ Điểm yếu nếu dùng Drupal là cộng đồng Vietnamese Drupal developer không nhiều, và khá kín tiếng --> tuyển người sẽ khá khó khăn. Điều này đúng không?
- Wordpress:
+ Trong tất cả các tiêu chí, mình đều đánh giá cao Wordpress, đặc biệt WP còn rất nhiều tìềm năng để phát triển, cộng đồng designer và developer đều mạnh (có thể so với Joomla designer community và Drupal developer community).
+ Tuy nhiên, điểm chính yếu nhất là WP kiến trúc được dùng để làm blog không phải CMS, nên không biết nếu đi theo hướng dùng WP có bị vào ngõ cụt không? Dù có một số website đã dùng WP như một CMS và có vài hướng dẫn về việc này, nhưng mình không tự tin lắm. Đã có website nào ở Việt Nam mình dùng Wordpress, đặc biệt là Wordpress MU để làm hệ thống quản lý nội dung (CMS) chưa? Có khả năng thành công không nhỉ?
Bài này gồm một số nhận định mang tính cá nhân, một số chỉ là suy đoán nên các bạn cứ thoải mái chỉ ra các điểm mình viết chưa chính xác, ngoài ra còn khá nhiều câu hỏi nhưng mình tin là cũng có rất nhiều người cùng quan tâm đến nên rất mong lắng nghe ý kiến phản hồi.
Sơn Trần,
joc.sontran@gmail.com
(Xem bản formatted tại đây http://docs.google.com/Doc?id=ds3zw5h_24dmjhx6cv&hl=en)
-----------------------
Updated: Đã chọn được nền tảng - Drupal
Tuyển PHP Developer Pro, part-time và full-time tại Sài Gòn. >>>
Bấm vào đây để xem chi tiết
Bài liên quan
Bạn phải làm quen với cách viết docs phân tích giải pháp đi.
Ví dụ: SEO của bạn là cụ thể là các gạch đầu dòng nào thế? Bạn bảo thằng này tốt hơn thằng kia là dựa trên các tiêu chí nào?
Các hệ thống news như vietbao thường rất đơn giản cho nên chỉ cần mod_cache của Apache cũng có thể tạo nên sự khác biệt. Điểm yếu của mod_cache là URL-based. Nhưng với các hệ thống front controller với logic phức tạp thì URL-based ko có ý nghĩa gì. Dùng redirect thì sống còn forward hay internal routing thì chết.
Nói chung bước vào personalization mà làm cache mới khó khăn.