Які ключові відмінності між архітектурою програмного забезпечення Wordpress та Joomla !, і як розширюються їх основні функції?


14

* ПРИМІТКА. Це не питання "що краще"! *

Wordpress та Joomla! обидві дивовижні CMS з відкритим кодом.

Назвіть ключові відмінності

1) в архітектурі програмного забезпечення між Joomla! і Wordpress?

2) способом, яким робляться розширення до основної (поза коробки) функціональності? і

3) Як оновлено та оновлюється ядро ​​та розширення?


1
Наскільки я знаю - 1.wp не є mvc і, як правило, дбає про функції блогу більше, ніж загальний веб-сайт. 3. але процес оновлення Wordpress набагато краще, ніж Joomla нехтуючи несумісністю плагінів WP.
дев-м

2
Цей коментар є занадто широким, щоб дати конкретну чи остаточну відповідь (є багато відповідей, які були б «правильними» - хороший приклад того, як не написати питання). Будь ласка, розгляньте питання про переформулювання свого питання, щоб бути більш конкретним.
Ендрю Едді

Відповіді:


18

І Wordpress, і Joomla! високо оцінені, і кожен з них має унікальні переваги при порівнянні.

Щоб відповісти на ваші запитання:

в архітектурі програмного забезпечення між Joomla! та Wordpress

  • Joomla - це OOP (об'єктно-орієнтована) та MVC (об'єктно-орієнтована модель дизайну).

  • Wordpress написаний у процедурному коді.

Процедурне програмування визначає кроки, які повинна здійснити програма для досягнення бажаного стану, тоді як об'єктно-орієнтоване програмування ("OOP") організовує програми в об'єкти або структури даних та методи разом із їх взаємодією.

Для простих програм процедурний код (придумайте послідовно послідовні команди команд) чудово працює, але для великих складних додатків процедурний код може бути важче підтримувати - часто це призводить до того, що називається кодом спагетті (тобто коли рядок-рядок -послідовність рядків команд починається з використання багатьох GOTO, винятків, потоків або інших розгалужувальних конструкцій, і її потік стає концептуально схожим на миску спагетті). Іншими словами, процедурний код починається простим, але може стати складним і заплутаним.

Тому складніші програми можуть бути краще структуровані з OOP та з MVC - більш досконалим стилем програмування, який набагато краще підходить для створення дійсно складних програм з великою кількістю рухомих частин.

Оскільки процедурний код спочатку може бути простішим для запису та обслуговування для простих програм, OOP має переваги в тому, що він може акуратно поєднувати в набори колекції змінних (звані "властивості" в OOP) (звані "методи" в OOP) - в результаті чого код охайніший, простіший для читання, обслуговування та розширення.

У більшості програм Wordpress (наприклад, прості блоги) процедурний код працює чудово.

Для більш складних застосувань (наприклад, тих, що вимагають дозволів групи користувачів, і тих, які використовують багато, інтегрується безліч розширень для розширення функцій та функцій), OOP, як правило, вважається набагато більш елегантним підходом.

Підсумовуючи:

Архітектура програмного забезпечення Worpress (заснована на процедурному коді) має свої сильні сторони в простоті, але процедурний код не ідеальний для складних програм, які мають надійну розширюваність.

Програмна архітектура програмного забезпечення Joomla! (OOP / MVC) може здатися більш складною, але, коли добре розроблена, OOP / MVC фактично робить набагато простішим розширення можливостей та функцій програми та злагодження спільної роботи цих розширень.

Якщо ви хочете зрозуміти відмінності (на початковому рівні для початківців), прочитайте PHP Procedural vs PHP OO проти PHP MVC від Peham Raza - він обговорює всі «плюси і мінуси» кожного, щоб полегшити розуміння переваг.

яким чином розширення до основної (поза коробки) функціональності?

  • Joomla додав функції за допомогою модулів, компонентів, плагінів
  • WorPress використовує плагін для розширення функції.
  • Joomla суворий у своєму модулі, плагіні або створенні компонентів (ви не можете просто завантажувати файли через FTP і просто активувати, це потрібно робити з установкою розширення).

Як ядро ​​та розширення оновлюються та оновлюються

  • Обидва використовують майже однакову техніку для оновлення чи оновлень. (Вони надають розробникам можливість створювати нові функції з розширеннями або змінами шаблонів із заміною. Отже, в основному жодних основних файлів нам не потрібно редагувати в цій ситуації, тому оновлення покращить їхні виправлення безпеки та інше.)

Є приказка, що Wordpress - це не CMS, але зараз це дні - це CMS з усіма можливостями Joomla та багато іншого.

WordPress хороший для користувачів, які мають менше знань про розробку, а Joomla - для розробників.

Сподіваюся, це має сенс.


3
MVC насправді не є основною архітектурною відмінністю. Основна відмінність полягає в тому, що Joomla - це OOP, а WordPress - це не так багато. Обидва мають парадигму MVC, але в Joomla це більш очевидно через те, як ми називаємо класи.
Ендрю Едді

@AndrewEddie ви праві.
Джобін Хосе

Андрій - дякую. Якщо ми видалимо посилання на MVC, чи робить це відповідь більш точною?
NivF007

1
Ваше останнє речення, я б сказала, більше схоже на WordPress, часто використовується людьми, не зацікавленими в розвитку, лише написанням на власну чи дуже маленьку команду. Joomla краще масштабує, коли на одній сторінці працюватимуть декілька людей і команда створить сайт. (Обидва також можуть працювати в іншому розмірі команди.)
tristanbailey

6

Я думаю, щоб справді відповісти на це питання, вам потрібно добре ознайомитись як з WP, так і з Joomla !. Я Джомла! важкі і використовували WP лише кілька разів, тому моя відповідь може бути не такою повною, як ви могли сподіватися.

WP - це насамперед платформа для блогів. Він налаштований для каналів даних. Щоб отримати звичайну статичну домашню сторінку, вам потрібно вийти зі свого шляху, щоб пройти повз типовий канал. Це не важко, це просто не за замовчуванням. Якщо ви знаєте, що ви робите, ви можете розширити WP, щоб вийти за рамки платформи блогів, або якщо ви завантажите шаблон, який вже зробив це для вас.

Joomla - це насамперед CMS. Він створений для розміщення повного веб-сайту, включаючи блоги, прямо з його базового ядра. Додатки допомагають плагінам. Вони можуть отримати вам більше налаштованого досвіду для тих, хто не знає, як створити власні компоненти та плагіни. Зрештою, навіщо винаходити колесо?

На мій досвід, WP чудово підходить для людей, які не є розробниками або знають достатньо. З іншого боку, Joomla була створена для розробників, для людей, які хочуть створити повністю налаштований інтерфейс і зворотній досвід. Я провів години, працюючи в шаблоні WP, щоб змусити його робити те, що я хотів, що засмучувало, коли я звик будувати речі так, як я хочу в перший раз з Joomla (ми не використовуємо шаблони - у нас є свої ядро Joomla, яке збито до основ, і ми будуємо з нуля).

Якщо ви піднімете FTP WP і Joomla поруч, ви зможете побачити, наскільки вони відрізняються.

У WP є ця плагінова область, де ви можете шукати плагіни, вибирати та встановлювати. Я вірю, що ви також можете оновити з цього ж місця. Коли ви знаходитесь у зоні плагінів, вам часто скажуть, що оновлення доступне.

Joomla використовує диспетчер розширень, куди ви можете завантажити завантажений плагін або компонент - я думаю, може бути функція пошуку, але я, чесно кажучи, ніколи не використовував його, тому що зазвичай використовую JED, щоб знайти те, що мені потрібно. Ця ж область також пропонує вам кнопку оновлення, де ви можете побачити всі доступні оновлення для того, що ви встановили. Знову ж таки, деякі компоненти скажуть вам, що вони мають оновлення, але не всі вони.

Ключова відмінність, яку я бачу, WP створена для користувачів - вони встановлюють шаблон, вони можуть оновлюватись, вони можуть додавати, Joomla призначений для розробників, ми робимо інсталяцію, ми робимо оновлення, будуємо / додаємо нові функції та функції. Це не означає, що це не є зручним для користувачів, але є сфери, які, на мою думку, відсунуті від користувача, тому що вони створені для розробників.


2

Коли ви говорите про архітектуру, це не має значення, коли ви будуєте портал або складний веб-сайт, тобто безліч взаємопов'язаних об'єктів.

  1. Вихідний код Joomla орієнтований на об'єкт.
  2. Код Joomla дуже добре розділений, тобто додатки, плагіни, компоненти.
  3. Більшість моделей дизайну дотримуються в Joomla, наприклад, завод, декоратор, впорскування залежностей тощо.

Як розробник C і C ++, коли я прийняв joomla, мені сподобалось, оскільки він використовує той самий набір стандартів, а не функції, які псують глобальний простір імен.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.