it-swarm-vi.com

Sự khác biệt chính giữa Wordpress và kiến ​​trúc phần mềm của Joomla! Và cách các chức năng cốt lõi của chúng được mở rộng?

* LƯU Ý: Đây là không phải một câu hỏi 'tốt hơn'! *

Wordpress và Joomla! là cả hai CMS nguồn mở tuyệt vời.

Sự khác biệt chính là gì

1) trong kiến ​​trúc phần mềm giữa Joomla! và Wordpress?

2) theo cách mà các phần mở rộng cho chức năng cốt lõi (ngoài luồng) được thực hiện? và

3) Làm thế nào cốt lõi và phần mở rộng được nâng cấp và cập nhật?

13
NivF007

Cả Wordpress và Joomla! Được đánh giá cao và mỗi loại đều có những lợi thế riêng khi bạn so sánh chúng.

Để trả lời câu hỏi của bạn:

trong kiến ​​trúc phần mềm giữa Joomla! và Wordpress

  • Joomla là [~ # ~] oop [~ # ~] (hướng đối tượng) và [~ # ~] mvc [~ # ~] (an mẫu thiết kế hướng đối tượng).

  • Wordpress được viết bằng mã thủ tục.

Lập trình thủ tục chỉ định bước chương trình phải thực hiện để đạt trạng thái mong muốn, trong khi lập trình hướng đối tượng ("OOP") tổ chức các chương trình thành các đối tượng hoặc data-architecture phương thức cùng với các tương tác của chúng.

Đối với các chương trình đơn giản, mã thủ tục (nghĩ về chuỗi lệnh từng dòng) hoạt động rất tốt, nhưng đối với các ứng dụng phức tạp lớn, mã thủ tục có thể khó duy trì hơn - thường dẫn đến cái gọi là mã spaghetti (tức là khi chuỗi lệnh từng dòng bắt đầu sử dụng nhiều GOTO, ngoại lệ, luồng hoặc cấu trúc phân nhánh khác và dòng chảy của nó trở thành khái niệm giống như một bát mì spaghetti). Nói cách khác, mã thủ tục bắt đầu đơn giản, nhưng có thể trở nên phức tạp và rối.

Do đó, các ứng dụng phức tạp hơn có thể được cấu trúc tốt hơn với OOP và với MVC - một phong cách lập trình tiên tiến hơn phù hợp hơn với việc xây dựng các chương trình thực sự phức tạp với nhiều phần chuyển động.

Trong khi mã thủ tục ban đầu có thể dễ dàng viết và bảo trì hơn cho các chương trình đơn giản, OOP có lợi thế ở chỗ nó có thể kết hợp gọn gàng các tập hợp biến (được gọi là 'thuộc tính' trong các hàm OOP) 'trong OOP) thành các gói - dẫn đến mã gọn hơn, dễ đọc, duy trì và mở rộng hơn.

Đối với hầu hết Wordpress ứng dụng (ví dụ: blog đơn giản), mã thủ tục hoạt động hoàn toàn tốt.

Đối với các ứng dụng phức tạp hơn (ví dụ: những ứng dụng yêu cầu quyền của nhóm người dùng và những ứng dụng sử dụng nhiều tiện ích mở rộng tích hợp nhiều tính năng và chức năng), OOP thường được coi là một cách tiếp cận thanh lịch hơn nhiều.

Tóm lại:

Kiến trúc phần mềm của Worpress (dựa trên mã thủ tục) có điểm mạnh là sự đơn giản, nhưng mã thủ tục không lý tưởng cho các ứng dụng phức tạp có khả năng mở rộng mạnh mẽ.

Kiến trúc phần mềm của Joomla! (OOP/MVC) có vẻ phức tạp hơn, nhưng khi được thiết kế tốt, OOP/MVC thực sự làm cho việc mở rộng các tính năng và chức năng của ứng dụng những phần mở rộng làm việc hài hòa với nhau.

Nếu bạn muốn hiểu sự khác biệt (ở cấp độ cơ bản cho người mới bắt đầu), hãy đọc PHP Thủ tục so với PHP OO vs PHP MVC bởi Peham Raza - anh ấy thảo luận về 'trong và ngoài' của từng cách giúp bạn dễ dàng hiểu rõ hơn về lợi ích.

theo cách thức mở rộng cho chức năng cốt lõi (ngoài luồng) được thực hiện?

  • Joomla thêm các tính năng với Mô-đun, Thành phần, Plugin
  • WorPress sử dụng plugin cho tính năng mở rộng.
  • Joomla rất nghiêm ngặt trong việc tạo mô-đun, plugin hoặc thành phần (bạn không thể tải tệp lên qua FTP và chỉ cần kích hoạt, bạn phải thực hiện với Trình cài đặt tiện ích mở rộng).

Cách thức nâng cấp và cập nhật lõi

  • Cả hai đều sử dụng kỹ thuật gần như giống nhau để nâng cấp hoặc cập nhật. (Họ cung cấp cho các nhà phát triển để tạo các tính năng mới với phần mở rộng hoặc thay đổi mẫu bằng ghi đè Vì vậy, về cơ bản không có tệp lõi nào chúng tôi cần chỉnh sửa trong tình huống này để nâng cấp sẽ cải thiện các bản vá bảo mật của họ và hơn thế nữa.)

Có một câu nói Wordpress không phải là một CMS, nhưng ngày nay nó là một CMS với tất cả các tính năng của Joomla và hơn thế nữa.

WordPress tốt cho người dùng có ít kiến ​​thức phát triển và Joomla cho nhà phát triển.

Hy vọng nó có ý nghĩa.

18
Jobin Jose

Tôi nghĩ để thực sự trả lời câu hỏi này, bạn cần phải làm quen với cả WP và Joomla!. Tôi là Joomla! Nặng và chỉ sử dụng WP một vài lần, vì vậy câu trả lời của tôi có thể không đầy đủ như bạn có thể hy vọng.

WP là đầu tiên và quan trọng nhất, một nền tảng blog. Nó được thiết lập cho nguồn cấp dữ liệu. Bạn phải đi ra ngoài để di chuyển qua mặc định nguồn cấp dữ liệu để có được một Trang chủ tĩnh thông thường. Nó không khó, chỉ là không mặc định. Nếu bạn biết bạn đang làm gì, bạn có thể mở rộng WP để vượt ra ngoài nền tảng blog hoặc nếu bạn tải xuống một mẫu đã làm điều đó cho bạn.

Joomla là đầu tiên và quan trọng nhất, một CMS. Nó được xây dựng để chứa một trang web hoàn chỉnh, bao gồm cả blog, ngay từ lõi cơ sở của nó. Các plugin giúp đỡ, họ có thể giúp bạn có trải nghiệm tùy chỉnh hơn cho những người không biết cách tạo các thành phần và plugin của riêng họ. Rốt cuộc, tại sao lại phát minh lại bánh xe?

Theo kinh nghiệm của tôi, WP rất phù hợp với những người không phải là nhà phát triển hoặc những người biết vừa đủ. Mặt khác, Joomla được xây dựng cho các nhà phát triển, dành cho những người muốn tạo mặt trận tùy chỉnh hoàn toàn -end và kinh nghiệm back-end. Tôi đã dành hàng giờ để làm việc trong một mẫu WP để buộc nó phải làm những gì tôi muốn, thật là bực bội khi tôi sử dụng để xây dựng mọi thứ theo cách tôi muốn lần đầu tiên với Joomla (chúng tôi không sử dụng các mẫu - chúng tôi có Joomla cốt lõi của riêng mình, đó là những điều cơ bản và chúng tôi xây dựng từ đầu).

Nếu bạn kéo FTP của WP và Joomla cạnh nhau, bạn có thể thấy chúng rất khác nhau.

WP có khu vực plugin này, nơi bạn có thể tìm kiếm plugin, chọn và cài đặt. Tôi tin rằng bạn cũng có thể cập nhật từ cùng một nơi. Khi bạn ở trong khu vực plugin, nó thường sẽ cho bạn biết rằng có bản cập nhật.

Joomla sử dụng Trình quản lý mở rộng nơi bạn có thể tải lên một plugin hoặc thành phần đã tải xuống - Tôi nghĩ có thể có chức năng tìm kiếm, nhưng thực lòng tôi chưa bao giờ sử dụng nó vì tôi thường sử dụng JED để tìm thứ tôi cần. Khu vực tương tự này cũng cung cấp cho bạn một nút cập nhật nơi bạn có thể xem tất cả các bản cập nhật có sẵn cho những gì bạn đã cài đặt. Một lần nữa, một số thành phần sẽ cho bạn biết họ có sẵn một bản cập nhật, nhưng không phải tất cả chúng.

Sự khác biệt chính mà tôi thấy là WP được tạo cho người dùng - họ cài đặt một mẫu, họ có thể cập nhật, họ có thể thêm, Joomla được tạo cho các nhà phát triển, chúng tôi cài đặt, chúng tôi cập nhật, chúng tôi xây dựng/thêm các tính năng và chức năng mới. Điều đó không có nghĩa là nó không thân thiện với người dùng, nhưng có những lĩnh vực mà tôi nghĩ bị đẩy ra khỏi cách của người dùng vì chúng được xây dựng cho các nhà phát triển.

6
Faye

Như bạn đang nói về kiến ​​trúc, sẽ rất có vấn đề khi bạn đang xây dựng một cổng thông tin hoặc một trang web phức tạp, tức là có rất nhiều thực thể được kết nối với nhau.

  1. Mã nguồn Joomla là hướng đối tượng.
  2. Mã Joomla được phân chia rất tốt, tức là các ứng dụng, plugin, thành phần.
  3. Hầu hết các mẫu thiết kế được theo dõi trong Joomla, ví dụ: Nhà máy, trang trí, tiêm phụ thuộc, vv.

Là một nhà phát triển C và C++ khi tôi chấp nhận j Joomla, tôi thích nó vì nó sử dụng cùng một bộ tiêu chuẩn thay vì các chức năng làm hỏng không gian tên toàn cầu.

2
Shyam