Quelles sont les principales différences entre Wordpress et l'architecture logicielle de Joomla! Et comment leurs fonctions principales sont étendues?

14

* REMARQUE: Ce n'est pas une question «qui vaut mieux»! *

Wordpress et Joomla! sont tous deux de superbes CMS open source.

Quelles sont les principales différences

1) dans l'architecture logicielle entre Joomla! et Wordpress?

2) de la manière dont les extensions de la fonctionnalité principale (prête à l'emploi) sont effectuées? et

3) Comment le noyau et les extensions sont-ils mis à niveau et mis à jour?

NivF007
la source
1
Pour autant que je sache - 1.wp n'est pas mvc et a tendance à se soucier des fonctionnalités de blogging plus que du site Web total. 3. mais le processus de mise à niveau dans wordpress est bien meilleur que joomla en négligeant l'incompatibilité des plugins wp.
dev-m
2
Ce commentaire est beaucoup trop large pour donner une réponse précise ou définitive (il existe de nombreuses réponses qui seraient "correctes" - un bon exemple de la façon de ne pas écrire une question). Veuillez reformuler votre question pour être plus précis.
Andrew Eddie

Réponses:

18

Wordpress et Joomla! sont très appréciés et ont chacun des avantages uniques lorsque vous les comparez.

Pour répondre à vos questions:

dans l'architecture logicielle entre Joomla! et Wordpress

  • Joomla est OOP (orienté objet) et MVC (un modèle de conception orienté objet).

  • Wordpress est écrit en code procédural.

La programmation procédurale spécifie les étapes que le programme doit suivre pour atteindre l'état souhaité, tandis que la programmation orientée objet ("POO") organise les programmes en objets ou structures de données et méthodes avec leurs interactions.

Pour les programmes simples, le code procédural (pensez à une séquence de commandes ligne par ligne) fonctionne très bien, mais pour les grandes applications complexes, le code procédural peut être plus difficile à maintenir - entraînant souvent ce qu'on appelle du code spaghetti (c'est-à-dire lorsque le La séquence de commandes en ligne commence à utiliser de nombreux GOTO, exceptions, threads ou autres constructions de ramification et son flux devient conceptuellement comme un bol de spaghetti). En d'autres termes, le code procédural commence simple, mais peut devenir complexe et emmêlé.

Les applications plus complexes peuvent donc être mieux structurées avec OOP et avec MVC - un style de programmation plus avancé qui est beaucoup mieux adapté à la construction de programmes vraiment complexes avec beaucoup de pièces mobiles.

Alors que le code procédural peut initialement être plus facile à écrire et à gérer pour des programmes simples, la POO présente des avantages en ce sens qu'elle peut regrouper soigneusement des collections de variables (appelées `` propriétés '' en POO), des fonctions (appelées `` méthodes '' en POO) en faisceaux - résultant en code plus ordonné, plus facile à lire, à entretenir et à étendre.

Pour la plupart des applications Wordpress (par exemple les blogs simples), le code procédural fonctionne parfaitement bien.

Pour les applications plus complexes (par exemple, celles qui nécessitent des autorisations de groupe d'utilisateurs et celles qui en utilisent plusieurs intègrent de nombreuses extensions pour étendre les fonctionnalités et les fonctions), la POO est généralement considérée comme une approche beaucoup plus élégante.

Pour résumer:

L'architecture logicielle de Worpress (basée sur le code procédural) a ses points forts dans la simplicité, mais le code procédural n'est pas idéal pour les applications complexes dont l'extensibilité est robuste.

L'architecture logicielle de Joomla! (POO / MVC) peut sembler plus complexe, mais quand bien conçu, POO / MVC permet en effet beaucoup plus simple d'étendre les fonctionnalités et les fonctions d'une application et d'avoir toutes ces extensions travaillent ensemble harmonieusement.

Si vous voulez comprendre les différences (au niveau débutant), lisez PHP Procédural vs PHP OO vs PHP MVC par Peham Raza - il discute des `` tenants et aboutissants '' de chacun d'une manière qui facilite la compréhension des avantages.

de la manière dont les extensions de la fonctionnalité principale (prête à l'emploi) sont effectuées?

  • Joomla a ajouté des fonctionnalités avec module, composant, plugins
  • WorPress utilise un plugin pour l'extension de ses fonctionnalités.
  • Joomla est strict dans la création de ses modules, plugins ou composants (vous ne pouvez pas simplement télécharger les fichiers via FTP et simplement l'activer, vous devez le faire avec le programme d'installation d'extensions).

Comment le noyau et les extensions sont mis à niveau et mis à jour

  • Les deux utilisent presque la même technique pour la mise à niveau ou les mises à jour (ils fournissent aux développeurs de créer de nouvelles fonctionnalités avec des extensions ou des changements de modèle avec remplacement.

Il y a un dicton Wordpress n'est pas un CMS, mais de nos jours c'est un CMS avec toutes les fonctionnalités de Joomla et plus encore.

WordPress est bon pour les utilisateurs qui ont moins de connaissances en développement et Joomla pour les développeurs.

J'espère que cela a du sens.

Jobin Jose
la source
3
MVC n'est pas vraiment la principale différence architecturale. La principale différence est que Joomla est OOP et WordPress ne l'est pas (tellement). Les deux ont un paradigme MVC mais c'est plus évident dans Joomla à cause de la façon dont nous nommons les classes.
Andrew Eddie
@AndrewEddie vous avez raison.
Jobin Jose
Andrew - merci. Si nous supprimons la référence à MVC, cela rend-il la réponse plus précise?
NivF007
1
Votre dernière phrase, je dirais plus que WordPress est souvent utilisé par des personnes qui ne sont pas intéressées par le développement, juste par écrit ou par une très petite équipe. Joomla évolue mieux lorsque plusieurs personnes travailleront sur la même page et qu'une équipe construira le site. (Les deux peuvent également travailler dans l'autre taille d'équipe.)
tristanbailey
6

Je pense que pour vraiment répondre à cette question, vous devez être très familier avec WP et Joomla !. Je suis Joomla! lourd et n'ont utilisé WP que quelques fois, donc ma réponse n'est peut-être pas aussi complète que vous pourriez l'espérer.

WP est avant tout une plateforme de blogs. Il est configuré pour les flux de données. Vous devez faire tout votre possible pour dépasser le flux par défaut pour obtenir une page d'accueil statique régulière. Ce n'est pas difficile, ce n'est tout simplement pas par défaut. Si vous savez ce que vous faites, vous pouvez étendre WP pour aller au-delà de la plate-forme de blogs, ou si vous téléchargez un modèle qui l'a déjà fait pour vous.

Joomla est avant tout un CMS. Il est conçu pour contenir un site Web complet, y compris les blogs, directement à partir de son noyau de base. Les plugins aident, ils peuvent vous offrir une expérience plus personnalisée pour ceux qui ne savent pas comment créer leurs propres composants et plugins. Après tout, pourquoi réinventer la roue?

D'après mon expérience, WP est idéal pour les personnes qui ne sont pas des développeurs ou qui en savent juste assez. Joomla, d'autre part, a été conçu pour les développeurs, pour les personnes qui souhaitent créer une expérience front-end et back-end entièrement personnalisée. J'ai passé des heures à travailler dans un modèle WP pour le forcer à faire ce que je voulais, ce qui était frustrant quand j'ai l'habitude de construire les choses comme je le veux la première fois avec Joomla (nous n'utilisons pas de modèles - nous avons nos propres core Joomla qui est dépouillé de l'essentiel et que nous construisons à partir de zéro).

Si vous tirez côte à côte le FTP de WP et Joomla, vous pouvez voir à quel point ils sont très différents.

WP a cette zone de plugin où vous pouvez rechercher des plugins, choisir et installer. Je pense que vous pouvez également mettre à jour à partir de ce même endroit. Lorsque vous êtes dans une zone de plugin, il vous indique souvent qu'une mise à jour est disponible.

Joomla utilise Extension Manager où vous pouvez télécharger un plugin ou un composant téléchargé - je pense qu'il pourrait y avoir une fonctionnalité de recherche, mais honnêtement je ne l'ai jamais utilisée parce que j'utilise généralement JED pour trouver ce dont j'ai besoin. Cette même zone vous offre également un bouton de mise à jour où vous pouvez voir toutes les mises à jour disponibles pour ce que vous avez installé. Encore une fois, certains composants vous indiqueront qu'une mise à jour est disponible, mais pas tous.

La principale différence que je vois est que WP est fait pour les utilisateurs - ils installent un modèle, ils peuvent mettre à jour, ils peuvent ajouter, Joomla est fait pour les développeurs, nous faisons l'installation, nous faisons la mise à jour, nous construisons / ajoutons de nouvelles fonctionnalités et fonctions. Cela ne veut pas dire que ce n'est pas convivial, mais il y a des domaines qui, je pense, sont écartés de la route de l'utilisateur car ils sont conçus pour les développeurs.

Faye
la source
2

Lorsque vous parlez d'architecture, cela importe lorsque vous créez un portail ou un site Web complexe, c'est-à-dire de nombreuses entités interconnectées.

  1. Le code source de Joomla est orienté objet.
  2. Le code Joomla est très bien divisé, c'est-à-dire applications, plugins, composants.
  3. La plupart des modèles de conception sont suivis dans Joomla, par exemple Factory, Decorator, Dependency Injection, etc.

En tant que développeur C et C ++ lorsque j'ai adopté joomla, j'ai adoré car il utilise le même ensemble de normes plutôt que des fonctions gâchant l'espace de noms global.

Shyam
la source