Django と Joomla の違いは何ですか?
それとも、CMS (Joomla、Drupal など) と Web フレームワーク (Django、Symphony、Zend など) の違いは何ですか?
Django と Joomla の違いは何ですか?
それとも、CMS (Joomla、Drupal など) と Web フレームワーク (Django、Symphony、Zend など) の違いは何ですか?
おもちゃの組み立てキットのアナロジーを使用する -
CMS:ドールハウスのキットに匹敵します。かなりカスタマイズできますが、主に 1 種類のおもちゃを作成するのに適しています。
Web アプリケーション フレームワーク:レゴ セットに匹敵します。左側のブロックを自分で作る必要がないので、さまざまな種類のおもちゃの構造をすばやく構築できます。
フレームワークなし:プログラミング言語の標準ライブラリのみを使用して Web アプリを開発することは、ただの粘土からおもちゃを作るようなものです。それはほとんどの自由を提供しますが、すべてのピースを自分で作るという代償も払います.
Django (および Web フレームワーク) は、最も一般的な Web サイトを構築するために必要な共通の機能を提供します。この機能は主に技術的なものであり、初心者ユーザー (つまり、プログラマーではない) は、その使用方法についてほとんど知識がありません。
一方、Joomla(および一般的なCMS)は、非プログラマー(ただし、少なくとも技術ユーザーでも)を対象としたパッケージであり、それらを使用してWebサイトを展開および実行します.
Joomla をインストールすると、Web サイトにコンテンツを追加できます
Django をインストールすると、コンテンツを追加できるようなプログラミングを開始できます。
DjangoのWebサイトから直接:
Djangoはコンテンツ管理システム(CMS)ですか?
いいえ、DjangoはCMSでも、それ自体が「ターンキー製品」でもありません。これはWebフレームワークです。これは、Webサイトを構築できるプログラミングツールです。
たとえば、DjangoはDrupalのようなものを作成するために使用するものであるため、DjangoをDrupalのようなものと比較することはあまり意味がありません。
もちろん、Djangoの自動管理サイトは素晴らしく、時間を節約できますが、管理サイトはDjangoフレームワークの1つのモジュールです。さらに、Djangoには「CMS-y」アプリの構築に特別な便利さがありますが、それは「非CMS-y」アプリの構築に適しているわけではありません(それが意味するものは何でも!)。
Web フレームワークは、コンテンツ マネージャーや同様の Web アプリケーションの構築に役立つプログラマー ツールです。
コンテンツ マネージャーがシンプルで簡単なもの(Wordpress? や Joomla?) から高度にカスタマイズ可能で複雑なもの(Typo3?) に分類できるように、フレームワークは特定のタスクに最適な場合があります (他のタスクにはあまり適していません)。一部の Web フレームワーク (Rails?、Django?、TurboGears?) は CMS に似たアプリケーションを対象としており、他のフレームワーク ( Werkzeug ? やTwisted ?) はより複雑なアプリケーションの基盤を提供しようとしています。そして、妥協点を見つけようとしている他のもの ( Pylons ?) があります。
注:分類は私の個人的な意見であるため、括弧内のプロジェクト名にはすべて疑問符が付いています。それらは正しい例かもしれませんし、そうでないかもしれません。