Quais são as principais diferenças entre a arquitetura de software do Wordpress e do Joomla! E como suas funções principais são estendidas?


14

* NOTA: Esta não é uma pergunta 'qual é melhor'! *

Wordpress e Joomla! são CMSs de código aberto incríveis.

Quais são as principais diferenças

1) na arquitetura de software entre o Joomla! e Wordpress?

2) na maneira como são feitas as extensões da funcionalidade básica (imediata)? e

3) Como o núcleo e as extensões são atualizados e atualizados?


1
Tanto quanto eu sei - 1.wp não é mvc e tende a se preocupar com os recursos de blog mais do que o site total. 3. mas o processo de atualização no wordpress é muito melhor do que o joomla, negligenciando a incompatibilidade dos plugins wp.
Dev-m #

2
Esse comentário é amplo demais para fornecer uma resposta específica ou definitiva (há muitas respostas que seriam "corretas" - um bom exemplo de como não escrever uma pergunta). Por favor, considere reformular sua pergunta para ser mais específico.
Andrew Eddie

Respostas:


18

Wordpress e Joomla! são altamente conceituados e cada um tem vantagens únicas quando comparados.

Para responder suas perguntas:

na arquitetura de software entre o Joomla! e Wordpress

  • O Joomla é OOP (orientado a objetos) e MVC (um padrão de design orientado a objetos).

  • Wordpress é escrito em código de procedimento.

A programação de procedimentos especifica as etapas que o programa deve executar para atingir o estado desejado, enquanto a programação orientada a objetos ("OOP") organiza os programas em objetos ou estruturas de dados e métodos, juntamente com suas interações.

Para programas simples, o código procedural (pense em uma sequência de comandos linha a linha) funciona muito bem, mas para aplicativos complexos e grandes, o código processual pode ser mais difícil de manter - geralmente resultando no chamado código espaguete (ou seja, quando o alinhamento por linha A sequência de comandos em linha começa a usar muitos GOTOs, exceções, threads ou outras construções ramificadas e seu fluxo se torna conceitualmente como uma tigela de espaguete). Em outras palavras, o código de procedimento começa simples, mas pode se tornar complexo e emaranhado.

Portanto, aplicativos mais complexos podem ser melhor estruturados com o OOP e com o MVC - um estilo de programação mais avançado que é muito mais adequado para a criação de programas realmente complexos com muitas partes móveis.

Enquanto o código processual pode inicialmente ser mais fácil de escrever e manter para programas simples, o OOP tem vantagens em poder agrupar coleções de variáveis ​​(chamadas 'propriedades' no OOP) ordenadamente (chamadas 'métodos' no OOP) em pacotes - resultando em código mais organizado, mais fácil de ler, manter e estender.

Para a maioria das aplicações do Wordpress (por exemplo, blogs simples), o código processual funciona perfeitamente bem.

Para aplicativos mais complexos (por exemplo, aqueles que exigem permissões de grupos de usuários e aqueles que usam muitos integram muitas extensões para estender recursos e funções), o OOP é geralmente considerado uma abordagem muito mais elegante.

Resumindo:

A arquitetura de software do Worpress (baseada em código processual) possui pontos fortes na simplicidade, mas o código processual não é ideal para aplicativos complexos com extensibilidade robusta.

A arquitetura de software do Joomla! (OOP / MVC) pode parecer mais complexa, mas, quando bem projetada, o OOP / MVC realmente torna muito mais simples estender os recursos e funções de um aplicativo e fazer com que todas essas extensões funcionem harmoniosamente.

Se você deseja entender as diferenças (em um nível básico para iniciantes), leia PHP Procedural vs PHP OO vs PHP MVC de Peham Raza - ele discute os 'prós e contras' de cada um de maneira a facilitar a compreensão dos benefícios.

da maneira como são feitas as extensões da funcionalidade básica (pronta para usar)?

  • Joomla adicionou recursos com módulo, componente, plugins
  • O WorPress usa o plug-in para estender seus recursos.
  • O Joomla é rigoroso em seu módulo, plug-in ou criação de componente (você não pode simplesmente fazer upload dos arquivos via FTP e apenas ativar, é necessário fazê-lo com o instalador de extensão).

Como o núcleo e as extensões são atualizados e atualizados

  • Ambos estão usando quase a mesma técnica para a atualização ou atualizações (eles fornecem aos desenvolvedores a criação de novos recursos com extensões ou alterações de modelo com substituição. Basicamente, não há arquivos principais que precisamos editar nessas situações, para que a atualização melhore seus patches de segurança e muito mais.)

Há um ditado que o Wordpress não é um CMS, mas agora é um CMS com todos os recursos do Joomla e muito mais.

O WordPress é bom para usuários com menos conhecimento em desenvolvimento e o Joomla para desenvolvedores.

Espero que faça sentido.


3
MVC não é realmente a principal diferença arquitetônica. A principal diferença é que o Joomla é OOP e o WordPress não é (muito). Os dois têm um paradigma MVC, mas é mais óbvio no Joomla por causa da maneira como denominamos classes.
Andrew Eddie

@AndrewEddie, você está certo.
Jobin Jose

Andrew - obrigado. Se removermos a referência ao MVC, isso tornará a resposta mais precisa?
NivF007

1
Sua última frase, eu diria mais, como o WordPress é frequentemente usado por pessoas não interessadas em desenvolvimento, apenas escrevendo por conta própria ou por uma equipe muito pequena. O Joomla é melhor quando várias pessoas trabalham na mesma página e uma equipe cria o site. (Ambos também pode trabalhar em outro tamanho da equipe embora.)
tristanbailey

6

Penso que para realmente responder a esta pergunta, você precisa estar bastante familiarizado com o WP e o Joomla !. Eu sou o Joomla! pesado e usei o WP apenas algumas vezes, então minha resposta pode não ser tão completa quanto você poderia esperar.

O WP é, acima de tudo, uma plataforma de blogs. Está configurado para feeds de dados. Você precisa se esforçar para passar do padrão do feed para obter uma Página inicial estática regular. Não é difícil, apenas não é o padrão. Se você sabe o que está fazendo, pode expandir o WP para ir além da plataforma de blogs ou fazer o download de um modelo que já fez isso por você.

O Joomla é, acima de tudo, um CMS. Ele foi desenvolvido para armazenar um site completo, incluindo blogs, diretamente do seu núcleo básico. Os plugins ajudam, eles podem proporcionar uma experiência mais personalizada para quem não sabe como criar seus próprios componentes e plugins. Afinal, por que reinventar a roda?

Na minha experiência, o WP é ótimo para pessoas que não são desenvolvedores ou que sabem o suficiente. O Joomla, por outro lado, foi criado para desenvolvedores, para pessoas que desejam criar uma experiência front-end e back-end totalmente personalizada. Passei horas trabalhando em um modelo WP para forçá-lo a fazer o que eu queria, o que foi frustrante quando estou acostumado a criar as coisas do jeito que eu quero na primeira vez com o Joomla (não usamos modelos - temos o nosso próprio Joomla principal que é simplificado e que construímos a partir do zero).

Se você abrir o FTP do WP e do Joomla lado a lado, poderá ver como eles são diferentes.

O WP possui esta área de plugins, onde você pode procurar por plugins, escolher e instalar. Eu acredito que você também pode atualizar a partir deste mesmo lugar. Quando você está em uma área de plug-in, geralmente informa que uma atualização está disponível.

O Joomla usa o Extension Manager, onde você pode carregar um plugin ou componente baixado - acho que pode haver funcionalidade de pesquisa, mas sinceramente nunca o usei porque geralmente estou usando o JED para encontrar o que preciso. Essa mesma área também oferece um botão de atualização, onde você pode ver todas as atualizações disponíveis para o que você instalou. Novamente, alguns componentes informam que eles têm uma atualização disponível, mas não todos.

A principal diferença que vejo é que o WP é feito para os usuários - eles instalam um modelo, podem atualizar, podem adicionar, o Joomla é feito para desenvolvedores, fazemos a instalação, fazemos a atualização, construímos / adicionamos novos recursos e funções. Isso não quer dizer que não seja fácil de usar, mas acho que há áreas que são empurradas para fora do caminho do usuário porque foram criadas para desenvolvedores.


2

Enquanto você está falando sobre arquitetura, importa quando você está construindo um portal ou um site complexo, ou seja, muitas entidades interconectadas.

  1. O código fonte do Joomla é orientado a objetos.
  2. O código do Joomla é muito bem dividido, isto é, aplicativos, plugins, componentes.
  3. A maioria dos padrões de design é seguida no Joomla, por exemplo, Fábrica, Decorador, Injeção de Dependência, etc.

Como desenvolvedor de C e C ++, quando adotei o joomla, adorei, pois ele usa o mesmo conjunto de padrões em vez de funções que estragam o espaço de nomes global.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.