Was sind die Hauptunterschiede zwischen der Softwarearchitektur von Wordpress und Joomla! Und wie werden deren Kernfunktionen erweitert?

13

* HINWEIS: Dies ist keine Frage, die besser ist! *

Wordpress und Joomla! sind beide großartige Open-Source-CMS.

Was sind die Hauptunterschiede

1) in der Software-Architektur zwischen Joomla! und Wordpress?

2) Wie werden Erweiterungen der Kernfunktionalität (Out-of-the-Box) vorgenommen? und

3) Wie werden der Core und die Erweiterungen aktualisiert und aktualisiert?

NivF007
quelle
1
Soweit ich weiß - 1.wp ist nicht mvc und kümmert sich eher um Blogging-Funktionen als um die gesamte Website. 3. aber upgrade prozess in wordpress ist viel besser als joomla vernachlässigt die inkompatibilität der wp plugins.
Dev-m
2
Dieser Kommentar ist viel zu weit gefasst, um eine konkrete oder endgültige Antwort zu geben (es gibt viele Antworten, die "richtig" wären - ein gutes Beispiel dafür, wie man keine Frage schreibt). Bitte überlegen Sie, Ihre Frage umzuformulieren, um sie genauer zu formulieren.
Andrew Eddie

Antworten:

18

Sowohl Wordpress als auch Joomla! sind hoch angesehen und haben jeweils einzigartige Vorteile, wenn Sie sie vergleichen.

Um Ihre Fragen zu beantworten:

in der Software-Architektur zwischen Joomla! und Wordpress

  • Joomla ist OOP (objektorientiert) und MVC (ein objektorientiertes Entwurfsmuster).

  • Wordpress ist in Prozedurcode geschrieben.

Die prozedurale Programmierung spezifiziert die Schritte, die das Programm ausführen muss, um den gewünschten Zustand zu erreichen, während die objektorientierte Programmierung ("OOP") Programme zusammen mit ihren Wechselwirkungen in Objekte oder Datenstrukturen und Methoden organisiert .

Bei einfachen Programmen funktioniert der prozedurale Code (denken Sie an eine zeilenweise Abfolge von Befehlen) sehr gut, bei großen komplexen Anwendungen ist der prozedurale Code jedoch möglicherweise schwieriger zu warten - was häufig zu einem sogenannten Spaghetti-Code führt (dh, wenn der Code zeilenweise ist) Die Befehlszeilenfolge beginnt mit der Verwendung vieler GOTOs, Ausnahmen, Threads oder anderer Verzweigungskonstrukte, und ihr Ablauf wird konzeptionell zu einer Schüssel Spaghetti. Mit anderen Worten, der Prozedurcode beginnt einfach, kann jedoch komplex und verworren sein.

Komplexere Anwendungen können daher mit OOP und MVC besser strukturiert werden - ein fortschrittlicherer Programmierstil, der sich viel besser für die Erstellung wirklich komplexer Programme mit vielen beweglichen Teilen eignet.

Während Prozedurcode für einfache Programme anfangs einfacher zu schreiben und zu warten ist, hat OOP den Vorteil, dass es Auflistungen von Variablenfunktionen (in OOP als "Eigenschaften" bezeichnet) (in OOP als "Methoden" bezeichnet) in Bündeln zusammenfasst Code, der übersichtlicher, leichter zu lesen, zu warten und zu erweitern ist.

Für die meisten Wordpress-Anwendungen (z. B. einfache Blogs) funktioniert der prozedurale Code einwandfrei.

Bei komplexeren Anwendungen (z. B. solchen, die Benutzergruppenberechtigungen erfordern, und solchen, bei denen viele Erweiterungen zur Erweiterung von Features und Funktionen verwendet werden) wird OOP im Allgemeinen als viel eleganterer Ansatz angesehen.

Um zusammenzufassen:

Die Worpress-Softwarearchitektur (basierend auf prozeduralem Code) hat ihre Stärken in der Einfachheit, aber prozeduraler Code ist nicht ideal für komplexe Anwendungen mit robuster Erweiterbarkeit.

Joomla! 'S Software - Architektur (OOP / MVC) scheint komplexe, aber wenn ausgereifte, OOP / MVC macht es eigentlich viel einfacher eine Anwendung Merkmale und Funktionen zu erweitern und all diese Erweiterungen haben , harmonisch zusammenarbeiten.

Wenn Sie die Unterschiede verstehen möchten (für Anfänger), lesen Sie PHP Procedural vs. PHP OO vs. PHP MVC von Peham Raza. Er beschreibt die Vor- und Nachteile der beiden Methoden, um die Vorteile besser zu verstehen.

Wie werden Erweiterungen der Kernfunktionalität (out-of-the-box) vorgenommen?

  • Joomla fügte Funktionen mit Modul, Komponente, Plugins hinzu
  • WorPress verwendet das Plugin zur Funktionserweiterung.
  • Joomla ist streng in seiner Modul-, Plugin- oder Komponentenerstellung (Sie können die Dateien nicht einfach per FTP hochladen und nur aktivieren, Sie müssen es mit dem Extension Installer tun).

Wie der Core und die Erweiterungen aktualisiert und aktualisiert werden

  • Beide verwenden fast die gleiche Technik für das Upgrade oder die Updates. (Sie bieten Entwicklern die Möglichkeit, neue Features mit Erweiterungen oder Vorlagenänderungen durch Überschreiben zu erstellen. Daher müssen wir in diesen Situationen im Grunde keine Kerndateien bearbeiten, sodass das Upgrade ihre Sicherheitspatches und mehr verbessert.)

Es gibt ein Sprichwort, dass Wordpress kein CMS ist, aber heutzutage ist es ein CMS mit allen Funktionen von Joomla und mehr.

WordPress ist gut für Benutzer mit weniger Entwicklungskenntnissen und Joomla für Entwickler.

Hoffe, es macht Sinn.

Jobin Jose
quelle
3
MVC ist nicht wirklich der architektonische Hauptunterschied. Der Hauptunterschied ist, dass Joomla OOP ist und WordPress nicht (so sehr). Beide haben ein MVC-Paradigma, aber es ist in Joomla aufgrund der Art und Weise, wie wir Klassen benennen, offensichtlicher.
Andrew Eddie
@ AndrewEddie Sie haben Recht.
Jobin Jose
Andrew - danke. Wenn wir den Verweis auf MVC entfernen, macht dies die Antwort genauer?
NivF007
1
In Ihrem letzten Satz würde ich es eher so ausdrücken, als würde WordPress oft von Leuten verwendet, die nicht an der Entwicklung interessiert sind, sondern nur am Schreiben auf eigene Faust oder in sehr kleinen Teams. Joomla skaliert besser, wenn mehrere Personen auf derselben Seite arbeiten und ein Team die Site erstellt. (Beide können jedoch auch in der anderen
Teamgröße arbeiten
6

Ich denke, um diese Frage wirklich zu beantworten, müssen Sie sowohl mit WP als auch mit Joomla! Bestens vertraut sein. Ich bin Joomla! schwer und haben nur ein paar Mal WP verwendet, so dass meine Antwort möglicherweise nicht so voll ist, wie Sie vielleicht hoffen.

WP ist in erster Linie eine Blogging-Plattform. Es ist für Datenfeeds eingerichtet. Sie müssen sich sehr viel Mühe geben, um den Feed-Standard zu überschreiten und eine reguläre statische Startseite zu erhalten. Es ist nicht schwer, es ist einfach nicht Standard. Wenn Sie wissen, was Sie tun, können Sie WP erweitern, um über die Blogging-Plattform hinauszugehen, oder wenn Sie eine Vorlage herunterladen, die dies bereits für Sie getan hat.

Joomla ist in erster Linie ein CMS. Es ist so aufgebaut, dass es eine komplette Website, einschließlich Blogging, direkt von der Basis an enthält. Plugins helfen, sie können Ihnen eine individuellere Erfahrung für diejenigen bieten, die nicht wissen, wie sie ihre eigenen Komponenten und Plugins erstellen können. Warum schließlich das Rad neu erfinden?

Meiner Erfahrung nach ist WP ideal für Leute, die keine Entwickler sind oder nur genug wissen. Joomla hingegen wurde für Entwickler entwickelt, die ein vollständig angepasstes Front-End- und Back-End-Erlebnis erstellen möchten. Ich habe stundenlang an einer WP-Vorlage gearbeitet, um sie dazu zu zwingen, das zu tun, was ich wollte, was frustrierend war, wenn ich es gewohnt war, die Dinge mit Joomla so zu erstellen, wie ich es will (wir verwenden keine Vorlagen - wir haben unsere eigenen) Core-Joomla, das auf das Wesentliche reduziert ist und von Grund auf neu aufgebaut wird).

Wenn Sie den FTP von WP und Joomla nebeneinander aufrufen, können Sie sehen, wie sehr sie sich unterscheiden.

WP hat diesen Plugin-Bereich, in dem Sie nach Plugins suchen, diese auswählen und installieren können. Ich glaube, Sie können auch von diesem Ort aus aktualisieren. Wenn Sie sich in einem Plugin-Bereich befinden, werden Sie häufig darauf hingewiesen, dass ein Update verfügbar ist.

Joomla verwendet Extension Manager, mit dem Sie ein heruntergeladenes Plugin oder eine heruntergeladene Komponente hochladen können. Ich glaube, es gibt Suchfunktionen, aber ich habe sie ehrlich gesagt noch nie verwendet, da ich normalerweise JED verwende, um zu finden, was ich brauche. In diesem Bereich finden Sie auch eine Schaltfläche zum Aktualisieren, über die Sie alle verfügbaren Aktualisierungen für das, was Sie installiert haben, anzeigen können. Einige Komponenten werden Ihnen erneut mitteilen, dass ein Update verfügbar ist, jedoch nicht alle.

Der Hauptunterschied, den ich sehe, ist, dass WP für Benutzer gemacht wird - sie installieren eine Vorlage, sie können aktualisieren, sie können hinzufügen, Joomla ist für Entwickler gemacht, wir machen die Installation, wir machen die Aktualisierung, wir bauen / fügen neue Features und Funktionen hinzu. Das heißt nicht, dass es nicht benutzerfreundlich ist, aber es gibt Bereiche, die meines Erachtens aus dem Weg geräumt werden, weil sie für Entwickler entwickelt wurden.

Faye
quelle
2

Wenn Sie von Architektur sprechen, spielt es eine Rolle, wenn Sie ein Portal oder eine komplexe Website erstellen, dh viele miteinander verbundene Einheiten.

  1. Joomla-Quellcode ist objektorientiert.
  2. Joomla-Code ist sehr gut aufgeteilt, dh Anwendungen, Plugins, Komponenten.
  3. Die meisten Designmuster werden in Joomla befolgt, z. B. Factory, Decorator, Dependency Injection usw.

Als C- und C ++ - Entwickler, als ich Joomla einführte, fand ich es toll, dass es dieselben Standards verwendet und nicht Funktionen, die den globalen Namespace zerstören.

Shyam
quelle