web-dev-qa-db-ja.com

WordpressとJoomla!のソフトウェアアーキテクチャの主な違い、およびコア機能の拡張方法について教えてください。

*注:これはではありません「どちらが良い」質問です!*

WordpressとJoomla!どちらも素晴らしいオープンソースのCMSです。

主な違いは何ですか

1)Joomla!とワードプレス?

2)コア(すぐに使える)機能への拡張が行われる方法で?そして

3)コアと拡張機能はどのようにアップグレードおよび更新されますか?

14
NivF007

WordpressとJoomla!の両方が高く評価されており、それぞれを比較すると独特の利点があります。

あなたの質問に答えるには:

Joomla!およびWordpress

  • Joomlaは[〜#〜] oop [〜#〜](オブジェクト指向)および[〜#〜] mvc [〜#〜](オブジェクト指向デザインパターン)。

  • Wordpressは手続き型コードで書かれています。

手続き型プログラミングはstepsプログラムが目的の状態に到達するために必要なものを指定しますが、object-oriented programming( "OOP")はプログラムをobjectsに編成しますまたはdata-structuresおよびmethodsとそれらの相互作用。

単純なプログラムの場合、手続き型コード(コマンドの行ごとのシーケンスを考える)はうまく機能しますが、大規模で複雑なアプリケーションの場合、手続き型コードは維持が難しくなることがあり、多くの場合、いわゆるspaghetti codeと呼ばれます。 (つまり、コマンドの行ごとのシーケンスが多数のGOTO、例外、スレッド、またはその他の分岐構造の使用を開始し、そのフローが概念的にスパゲッティのボウルのようになる場合)。言い換えると、手続き型コードは単純なものから始まりますが、複雑になり、複雑になる可能性があります。

したがって、より複雑なアプリケーションは、OOPおよびMVCを使用してより適切に構造化できます。これは、多くの可動部分を持つ本当に複雑なプログラムを構築するのに非常に適した、より高度なプログラミングスタイルです。

手続き型のコードは、最初は単純なプログラムの方が書きやすく、保守も簡単ですが、OOPには、変数のコレクション(OOPでは「プロパティ」と呼ばれます)関数(「メソッド」と呼ばれます)を適切にまとめることができるという利点があります。 'OOPで)バンドルに-より見やすく、読みやすく、保守と拡張が容易なコードになります。

ほとんどのWordpressアプリケーション(単純なブログなど))では、手続き型コードが完全に機能します。

より複雑なアプリケーション(たとえば、ユーザーグループのアクセス許可を必要とするアプリケーションや、多くの拡張機能を使用して機能と機能を拡張するアプリケーション)の場合、OOPは一般にはるかに洗練されたアプローチと見なされます。

総括する:

Worpressのソフトウェアアーキテクチャ(手続き型コードに基づく)は、シンプルさが長所ですが、手続き型コードは、堅牢な拡張性を備えた複雑なアプリケーションには理想的ではありません。

Joomla!のソフトウェアアーキテクチャ(OOP/MVC)はより複雑に見えるかもしれませんが、適切に設計されている場合、OOP/MVCは実際にアプリケーションの機能と機能を拡張することをはるかに簡単にしますandこれらすべての拡張機能を備えています調和して協力し合う。

(基本的な初心者レベルで)違いを理解したい場合は、 PHP手続きvs PHP OO vs PHP MVC by Peham Raza-彼はそれぞれの「内と外」について、利点をより簡単に理解できるように説明しています。

コア(すぐに使える)機能への拡張が行われる方法で?

  • Joomlaは、モジュール、コンポーネント、プラグインで機能を追加しました
  • WorPressはプラグインを使用して機能を拡張しています。
  • Joomlaは、そのモジュール、プラグイン、またはコンポーネントの作成に厳格です(FTP経由でファイルをアップロードしてアクティブ化するだけではなく、拡張インストーラーで実行する必要があります)。

コアと拡張機能がアップグレードおよび更新される方法

  • どちらもアップグレードまたはアップデートにほぼ同じ手法を使用しています(開発者は拡張機能やテンプレートの変更をオーバーライドして新しい機能を作成することができるため、基本的にこの状況で編集する必要があるコアファイルがないため、アップグレードによりセキュリティパッチなどが改善されます)。

WordpressはCMSではありませんが、現在ではJoomlaのすべての機能を備えたCMSです。

WordPressは、開発に関する知識があまりないユーザーには最適で、開発者にはJoomlaが適しています。

その理にかなっていると思います。

18
Jobin Jose

この質問に真に答えるには、WPとJoomla!の両方に精通している必要があります。私はJoomla!が好きで、WP数回ですので、私の答えはあなたが望むほどいっぱいではないかもしれません。

WPは何よりもまず、ブログプラットフォームです。データのフィード用に設定されています。通常の静的ホームページを取得するには、フィードのデフォルトを超えて移動する必要があります。難しいことではありません。デフォルトではありません。何をしているのかわかっている場合は、WP=を展開してブログプラットフォームを超えて移動できます。または、既に実行しているテンプレートをダウンロードすることもできます。

Joomlaは何よりもまずCMSです。ブログを含む完全なWebサイトを、その基本的なコアから直接保持するように構築されています。プラグインは、独自のコンポーネントとプラグインの作成方法を知らない人のために、よりカスタマイズされたエクスペリエンスを提供するのに役立ちます。結局、なぜ車輪を再発明するのですか?

私の経験では、WPは、開発者ではないか、十分に理解している人に最適です。一方、Joomlaは、完全にカスタマイズされたフロントを作成したい人のために、開発者向けに構築されました-endとback-endの経験= WPテンプレートで作業して何時間も費やして、自分がやりたいことを強制するようになりました。初めてJoomlaを使用します(私たちはテンプレートを使用しません-私たちは基本に取り除かれた独自のコアJoomlaを持っており、ゼロから構築します)。

WPとJoomlaのFTPを並べてプルアップすると、それらの違いがわかります。

WPには、プラグインを検索し、選択してインストールできるこのプラグイン領域があります。同じ場所から更新することもできます。プラグインエリアにいる場合、更新が利用可能であることがよく表示されます。

JoomlaはExtension Managerを使用して、ダウンロードしたプラグインまたはコンポーネントをアップロードできます。検索機能があると思いますが、正直なところ、JEDを使用して必要なものを見つけるため、これを使用したことはありません。この同じ領域には、インストールしたものに対して使用可能なすべての更新を表示できる更新ボタンもあります。繰り返しになりますが、一部のコンポーネントはアップデートが利用可能であると通知しますが、すべてではありません。

私が目にする主な違いはWPはユーザーのために作られています-彼らはテンプレートをインストールし、彼らは更新でき、彼らは追加できます、Joomlaは開発者向けに作られ、インストールを行い、アップデートを行います、私たちは新しい機能を構築/追加します。それはユーザーフレンドリーではないということではありませんが、開発者向けに構築されているため、ユーザーの邪魔にならないと思う領域があります。

6
Faye

アーキテクチャについて話しているとき、ポータルまたは複雑なWebサイト、つまり相互接続された多数のエンティティを構築する場合は重要です。

  1. Joomlaのソースコードはオブジェクト指向です。
  2. Joomlaコードは、アプリケーション、プラグイン、コンポーネントなど、非常によく分割されています。
  3. ほとんどのデザインパターンはJoomlaで守られています。工場、デコレータ、依存性注入など.

Joomlaを採用したときのCおよびC++開発者として、グローバル名前空間を損なう機能ではなく同じ標準のセットを使用しているので、私はそれを気に入っていました。

2
Shyam