it-swarm.it

Quali sono le principali differenze tra Wordpress e l'architettura software di Joomla!) E come vengono estese le loro funzioni principali?

* NOTA: questa è non una domanda 'che è meglio'! *

Wordpress e Joomla! sono entrambi fantastici CMS open-source.

Quali sono le differenze chiave

1) nell'architettura software tra Joomla! e Wordpress?

2) nel modo in cui vengono realizzate le estensioni alla funzionalità core (out-of-the-box)? e

3) Come vengono aggiornati e aggiornati il ​​core e le estensioni?

13
NivF007

Entrambi Wordpress e Joomla! Sono molto apprezzati e ognuno di essi presenta vantaggi unici se li confronta.

Per rispondere alle tue domande:

nell'architettura software tra Joomla! e Wordpress

  • Joomla è [~ # ~] oop [~ # ~] (orientato agli oggetti) e [~ # ~] mvc [~ # ~] (un modello di progettazione orientato agli oggetti).

  • Wordpress è scritto in codice procedurale.

La programmazione procedurale specifica i passi che il programma deve prendere per raggiungere lo stato desiderato, mentre programmazione orientata agli oggetti ("OOP") organizza i programmi in oggetti o strutture di dati e metodi insieme alle loro interazioni.

Per i programmi semplici, il codice procedurale (si pensi a una sequenza di comandi riga per riga) funziona alla grande, ma per applicazioni complesse di grandi dimensioni, il codice procedurale può essere più difficile da mantenere - spesso si traduce in quello che viene chiamato codice spaghetti (ovvero quando la sequenza di comandi riga per riga inizia a utilizzare molti GOTO, eccezioni, thread o altri costrutti di ramificazione e il suo flusso diventa concettualmente come una ciotola di spaghetti). In altre parole, il codice procedurale inizia in modo semplice, ma può diventare complesso e aggrovigliato.

Le applicazioni più complesse possono quindi essere strutturate meglio con OOP e con MVC - uno stile di programmazione più avanzato che si adatta molto meglio alla costruzione di programmi davvero complessi con molte parti mobili.

Mentre inizialmente il codice procedurale può essere più facile da scrivere e mantenere per programmi semplici, OOP ha dei vantaggi in quanto può raggruppare ordinatamente raccolte di variabili (chiamate 'proprietà' in OOP) funzioni (chiamate 'metodi "in OOP) in bundle: il risultato è un codice più ordinato, più facile da leggere, gestire ed estendere.

Per la maggior parte Wordpress (ad es. Blog semplici), il codice procedurale funziona perfettamente.

Per applicazioni più complesse (ad esempio quelle che richiedono autorizzazioni per gruppi di utenti e quelle che ne utilizzano molte integrano molte estensioni per estendere caratteristiche e funzioni), OOP è generalmente considerato un approccio molto più elegante.

Per riassumere:

L'architettura software di Worpress (basata sul codice procedurale) ha i suoi punti di forza nella semplicità, ma il codice procedurale non è l'ideale per applicazioni complesse con una forte estensibilità.

L'architettura software di Joomla! (OOP/MVC) può sembrare più complessa, ma quando ben progettata, OOP/MVC rende in realtà molto più semplice estendere le caratteristiche e le funzioni di un'applicazione e per avere tutto queste estensioni lavorano insieme armoniosamente.

Se vuoi capire le differenze (a un livello base per principianti), leggi PHP Procedural vs PHP OO vs PHP MVC di Peham Raza - discute i "dettagli" di ciascuno in modo da facilitare la comprensione dei vantaggi.

nel modo in cui vengono realizzate le estensioni alla funzionalità di base (out-of-the-box)?

  • Joomla ha aggiunto funzionalità con Modulo, Componente, Plugin
  • WorPress utilizza il plugin per estenderne la funzionalità.
  • Joomla è rigoroso nella sua creazione di moduli, plugin o componenti (non puoi semplicemente caricare i file via FTP e semplicemente attivarli, devi farlo con il programma di installazione delle estensioni).

Come vengono aggiornati e aggiornati il ​​core e le estensioni

  • Entrambi utilizzano quasi la stessa tecnica per l'aggiornamento o gli aggiornamenti (forniscono agli sviluppatori la creazione di nuove funzionalità con estensioni o modifiche al modello con override Quindi praticamente nessun file di base è necessario modificare in queste situazioni, quindi l'aggiornamento migliorerà le loro patch di sicurezza e altro).

C'è un detto Wordpress non è un CMS, ma oggi è un CMS con tutte le funzionalità di Joomla e altro ancora.

WordPress è buono per gli utenti che hanno meno conoscenze di sviluppo e Joomla per gli sviluppatori.

Spero che abbia un senso.

18
Jobin Jose

Penso che per rispondere veramente a questa domanda, devi avere molta familiarità con entrambi WP e Joomla !. Sono Joomla! Heavy e ho usato solo WP alcune volte, quindi la mia risposta potrebbe non essere completa come si potrebbe sperare.

WP è prima di tutto una piattaforma di blog. È impostato per feed di dati. Devi fare di tutto per andare oltre il feed predefinito per ottenere una normale Home page statica. Non è difficile, non è solo predefinito. Se sai cosa stai facendo, puoi espandere WP per spostarti oltre la piattaforma di blog o se scarichi un modello che lo ha già fatto per te.

Joomla è prima di tutto un CMS. È costruito per contenere un sito Web completo, compresi i blog, direttamente dal suo core di base. I plugin aiutano, possono offrirti un'esperienza più personalizzata per coloro che non sanno come creare i propri componenti e plugin. Dopo tutto, perché reinventare la ruota?

Nella mia esperienza, WP è ottimo per le persone che non sono sviluppatori o che ne sanno abbastanza. Joomla invece è stato creato per gli sviluppatori, per le persone che vogliono creare un fronte completamente personalizzato -end ed esperienza back-end. Ho passato ore a lavorare in un modello WP per costringerlo a fare quello che volevo, il che era frustrante quando sono abituato a costruire le cose nel modo in cui le voglio) la prima volta con Joomla (non usiamo modelli - abbiamo il nostro core Joomla che è ridotto alle basi e che costruiamo da zero).

Se estrai l'FTP di WP e Joomla fianco a fianco, puoi vedere quanto sono diversi.

WP ha quest'area plugin dove puoi cercare plugin, scegliere e installare. Credo che tu possa aggiornare anche da questo stesso posto. Quando ti trovi in ​​un'area plugin, spesso ti dirà che è disponibile un aggiornamento.

Joomla utilizza Extension Manager in cui è possibile caricare un plug-in o un componente scaricato: penso che potrebbe esserci una funzionalità di ricerca, ma sinceramente non l'ho mai usato perché di solito utilizzo JED per trovare quello che mi serve. Questa stessa area offre anche un pulsante di aggiornamento in cui è possibile visualizzare tutti gli aggiornamenti disponibili per ciò che è stato installato. Ancora una volta, alcuni componenti ti diranno che hanno un aggiornamento disponibile, ma non tutti.

La differenza chiave che vedo è WP è fatto per gli utenti: installano un modello, possono aggiornare, possono aggiungere, Joomla è fatto per gli sviluppatori, facciamo l'installazione, facciamo l'aggiornamento, costruiamo/aggiungiamo nuove caratteristiche e funzioni. Questo non vuol dire che non sia facile da usare, ma ci sono aree che penso siano state spinte fuori dal modo dell'utente perché sono costruite per gli sviluppatori.

6
Faye

Quando parli di architettura, importa quando stai costruendo un portale o un sito Web complesso, cioè molte entità interconnesse.

  1. Il codice sorgente di Joomla è orientato agli oggetti.
  2. Il codice Joomla è molto ben suddiviso, ad esempio applicazioni, plugin, componenti.
  3. La maggior parte dei modelli di progettazione sono seguiti in Joomla, ad es. Fabbrica, decoratore, iniezione di dipendenza, ecc.

Come sviluppatore C e C++ quando ho adottato joomla, l'ho adorato perché utilizza lo stesso set di standard anziché funzioni che rovinano lo spazio dei nomi globale.

2
Shyam