¿Cuáles son las diferencias clave entre Wordpress y la arquitectura de software de Joomla! Y cómo se amplían sus funciones principales?

14

* NOTA: ¡Esta no es una pregunta 'cuál es mejor'! *

Wordpress y Joomla! Ambos son increíbles CMS de código abierto.

¿Cuáles son las diferencias clave?

1) en la arquitectura de software entre Joomla! y Wordpress?

2) en la forma en que se realizan las extensiones a la funcionalidad básica (lista para usar)? y

3) ¿Cómo se actualizan y actualizan el núcleo y las extensiones?

NivF007
fuente
1
Hasta donde sé, 1.wp no es mvc y tiende a preocuparse por las funciones de blogging más que el sitio web total. 3. pero el proceso de actualización en WordPress es mucho mejor que Joomla, descuidando la incompatibilidad de plugins de wp.
dev-m
2
Este comentario es demasiado amplio para dar una respuesta específica o definitiva (hay muchas respuestas que serían "correctas", un buen ejemplo de cómo no escribir una pregunta). Considere reformular su pregunta para que sea más específica.
Andrew Eddie

Respuestas:

18

Tanto Wordpress como Joomla! son muy apreciados y cada uno tiene ventajas únicas cuando los compara.

Para responder tu pregunta:

en la arquitectura de software entre Joomla! y Wordpress

  • Joomla es OOP (orientado a objetos) y MVC (un patrón de diseño orientado a objetos).

  • Wordpress está escrito en código de procedimiento.

La programación de procedimientos especifica los pasos que debe seguir el programa para alcanzar el estado deseado, mientras que la programación orientada a objetos ("OOP") organiza los programas en objetos o estructuras de datos y métodos junto con sus interacciones.

Para programas simples, el código de procedimiento (piense en una secuencia de comandos línea por línea) funciona muy bien, pero para aplicaciones complejas grandes, el código de procedimiento puede ser más difícil de mantener, lo que a menudo resulta en lo que se llama código de espagueti (es decir, cuando el La secuencia de comandos de línea comienza con muchos GOTO, excepciones, hilos u otras construcciones de ramificación y su flujo se convierte conceptualmente como un tazón de espagueti). En otras palabras, el código de procedimiento comienza simple, pero puede volverse complejo y enredado.

Por lo tanto, las aplicaciones más complejas pueden estructurarse mejor con OOP y con MVC, un estilo de programación más avanzado que se adapta mucho mejor a la creación de programas realmente complejos con muchas partes móviles.

Mientras que el código de procedimiento puede ser inicialmente más fácil de escribir y mantener para programas simples, OOP tiene ventajas en el sentido de que puede agrupar ordenadamente conjuntos de funciones de variables (llamadas 'propiedades' en OOP) (llamadas 'métodos' en OOP) en paquetes, lo que resulta en código más ordenado, más fácil de leer, mantener y ampliar.

Para la mayoría de las aplicaciones de Wordpress (por ejemplo, blogs simples), el código de procedimiento funciona perfectamente bien.

Para aplicaciones más complejas (por ejemplo, aquellas que requieren permisos de grupo de usuarios y aquellas que usan muchas integran muchas extensiones para extender características y funciones), la OOP generalmente se considera un enfoque mucho más elegante.

Para resumir:

La arquitectura de software de Worpress (basada en código de procedimiento) tiene sus puntos fuertes en la simplicidad, pero el código de procedimiento no es ideal para aplicaciones complejas con una extensibilidad robusta.

La arquitectura de software de Joomla! (OOP / MVC) puede parecer más compleja, pero cuando está bien diseñada, OOP / MVC en realidad hace que sea mucho más simple extender las características y funciones de una aplicación y hacer que todas esas extensiones trabajen juntas de manera armoniosa.

Si desea comprender las diferencias (en un nivel básico de principiante), lea PHP Procedimiento vs PHP OO vs PHP MVC de Peham Raza: analiza los `` entresijos '' de cada uno de manera que facilita la comprensión de los beneficios.

en la forma en que se realizan las extensiones a la funcionalidad básica (lista para usar)?

  • Joomla agregó funciones con Módulo, Componente, Complementos
  • WorPress usa un complemento para extender su función.
  • Joomla es estricto en su creación de módulos, complementos o componentes (no puede simplemente cargar los archivos a través de FTP y simplemente activarlos, debe hacerlo con el instalador de extensiones).

Cómo se actualizan y actualizan el núcleo y las extensiones

  • Ambos utilizan casi la misma técnica para la actualización o las actualizaciones. (Proporcionan a los desarrolladores la creación de nuevas funciones con extensiones o cambios de plantilla con anulación. Así que, básicamente, no necesitamos editar los archivos principales en estas situaciones, por lo que la actualización mejorará sus parches de seguridad y más).

Hay un dicho que Wordpress no es un CMS, pero hoy en día es un CMS con todas las características de Joomla y más.

WordPress es bueno para usuarios que tienen menos conocimiento de desarrollo y Joomla para desarrolladores.

Espero que tenga sentido.

Jobin Jose
fuente
3
MVC no es realmente la principal diferencia arquitectónica. La principal diferencia es que Joomla es OOP y WordPress no lo es (tanto). Ambos tienen un paradigma MVC pero es más obvio en Joomla debido a la forma en que nombramos las clases.
Andrew Eddie el
@ AndrewEddie tienes razón.
Jobin Jose
Andrew, gracias. Si eliminamos la referencia a MVC, ¿esto hace que la respuesta sea más precisa?
NivF007
1
Su última oración, lo pondría más como WordPress, a menudo es utilizado por personas que no están interesadas en el desarrollo, solo la escritura en su propio equipo o en un equipo muy pequeño. Joomla escala mejor cuando varias personas trabajarán en la misma página y un equipo construirá el sitio. (Ambos también pueden trabajar en el otro tamaño del equipo).
Tristanbailey
6

Creo que para responder verdaderamente a esta pregunta, ¡debes estar muy familiarizado con WP y Joomla !. Soy Joomla pesado y solo he usado WP algunas veces, por lo que mi respuesta puede no ser tan completa como podría esperarse.

WP es, ante todo, una plataforma de blogs. Está configurado para la alimentación de datos. Debe salir de su camino para pasar el valor predeterminado del feed para obtener una página de inicio estática normal. No es difícil, simplemente no es predeterminado. Si sabe lo que está haciendo, puede expandir WP para ir más allá de la plataforma de blogs, o si descarga una plantilla que ya lo ha hecho por usted.

Joomla es, ante todo, un CMS. Está diseñado para contener un sitio web completo, incluidos los blogs, directamente desde su núcleo base. Los complementos ayudan, pueden brindarle una experiencia más personalizada para aquellos que no saben cómo crear sus propios componentes y complementos. Después de todo, ¿por qué reinventar la rueda?

En mi experiencia, WP es ideal para personas que no son desarrolladores o que saben lo suficiente. Joomla, por otro lado, fue creado para desarrolladores, para personas que desean crear una experiencia de front-end y back-end totalmente personalizada. Pasé horas trabajando en una plantilla de WP para obligarla a hacer lo que quería, lo cual fue frustrante cuando estoy acostumbrado a construir las cosas como quiero la primera vez con Joomla (no usamos plantillas, tenemos las nuestras propias Joomla central que se despoja de lo básico y construimos desde cero).

Si abre el FTP de WP y Joomla uno al lado del otro, puede ver cuán diferentes son.

WP tiene esta área de complementos donde puede buscar complementos, elegir e instalar. Creo que también puedes actualizar desde este mismo lugar. Cuando se encuentra en un área de complementos, a menudo le indicará que hay una actualización disponible.

Joomla usa Extension Manager, donde puede cargar un complemento o componente descargado; creo que puede haber funcionalidad de búsqueda, pero sinceramente, nunca lo he usado porque generalmente uso JED para encontrar lo que necesito. Esta misma área también le ofrece un botón de actualización donde puede ver todas las actualizaciones disponibles para lo que ha instalado. Una vez más, algunos componentes le dirán que tienen una actualización disponible, pero no todos.

La diferencia clave que veo es que WP está hecho para usuarios: instalan una plantilla, pueden actualizar, pueden agregar, Joomla está hecho para desarrolladores, hacemos la instalación, hacemos la actualización, construimos / agregamos nuevas características y funciones. Eso no quiere decir que no sea fácil de usar, pero hay áreas que creo que están fuera del camino del usuario porque están diseñadas para desarrolladores.

Faye
fuente
2

Cuando habla de arquitectura, es importante cuando construye un portal o un sitio web complejo, es decir, muchas entidades interconectadas.

  1. El código fuente de Joomla está orientado a objetos.
  2. El código de Joomla está muy bien dividido, es decir, aplicaciones, complementos, componentes.
  3. La mayoría de los patrones de diseño se siguen en Joomla, por ejemplo, Fábrica, Decorador, Inyección de dependencias, etc.

Como desarrollador de C y C ++ cuando adopté Joomla, me encantó, ya que utiliza el mismo conjunto de estándares en lugar de funciones que estropean el espacio de nombres global.

Shyam
fuente