2009-10-28 3 views
8

Sind beide völlig unterschiedliche Konzepte? Oder gibt es eine Überschneidung ihrer Bedeutung?Unterschied zwischen Web Application Framework und einem Content Management System?

Wäre es richtig zu sagen, dass ein Web-Framework für die Erstellung eines Front-End verwendet wird, während ein CMS für das Back-End verwendet wird?

Wenn ja, sollte das Web Framework die gleiche Technologie wie das CMS verwenden? Zum Beispiel könnte Ruby on Rails in Kombination mit Drupal verwendet werden? Oder ergibt das überhaupt keinen Sinn?

Antwort

19

Sind beide völlig unterschiedliche Konzepte? Oder überschneiden sie sich in ihrer Bedeutung?

Ein Web (Application) Framework ist ein allgemeines Toolkit für die Entwicklung von Webanwendungen. Das kann jede Art von System sein, die Daten verwaltet und verarbeitet, während sie ihre Daten und Dienste menschlichen Benutzern (über Webbrowser und andere interaktive Clients) sowie Maschinen über das HTTP-Protokoll zur Verfügung stellt.

Ein CMS ist eine Art von solchen Anwendungen: ein System zur Verwaltung von Inhalten in Websites gezeigt. Gewöhnlich/historisch bedeutet dies vor allem die Verwaltung (Teile) von Text von "Seiten", die auf einer Website gezeigt werden, und Benutzer, die unterschiedliche Zugriffsebenen haben, um diesen Inhalt zu verwalten. Hier kommen das C und das M her.

Mit einem CMS können Sie Webinhalte verwalten. Mit einem Web-Framework erstellen Sie Webanwendungen.

Wäre es richtig zu sagen, dass ein Web-Framework für die Erstellung eines Front-End verwendet wird, während ein CMS für das Back-End verwendet wird?

Nein. Es wäre richtig zu sagen, dass ein Web-Framework verwendet werden kann, um ein CMS zu erstellen. Beide enthalten Teile, die sowohl im Backend als auch am Frontend funktionieren. Oft ist ein CMS basierend auf auf einem Web-Framework - manchmal CMS-Entwickler bauen dort eigene Web-Framework, und manchmal sogar setzen Sie die API dieses Framework, so dass ein Entwickler Erweiterungen des CMS in einer Weise als ob erstellen kann Er würde eine Anwendung mit einem Web-Framework entwickeln. Drupal macht das wirklich, also können Sie echte Web-Anwendungen basierend auf dem integrierten Framework erstellen - mit dem Vorteil, dass sie sich auch leicht in das CMS integrieren lassen. Aber das (Offenlegung der API eines Web-Framework) ist kein notwendiges Kriterium, um ein CMS genannt zu werden.

Wenn ja, sollte das Web Framework die gleiche Technologie wie das CMS verwenden? Zum Beispiel könnte Ruby on Rails in Kombination mit Drupal verwendet werden? Oder ergibt das überhaupt keinen Sinn?

Es ist möglich, kombinieren zwei bestehende Systeme mit diesen beiden bauen, (zum Beispiel, weil Sie einige Daten in einer Webseite darzustellen von Drupal verwaltet werden, die in einem Rails-basierten System bereits vorhanden ist). Aber da Drupal Ihnen auch einige der genrischen Funktionen seines zugrunde liegenden Web-Frameworks zur Verfügung stellt, ist es möglicherweise nicht notwendig. Sie müssten zwei sehr unterschiedliche Systeme verwalten und lernen und alle Probleme mit der Interoperation behandeln. Also würde ich versuchen, eine Website mit nur einer von ihnen zu erstellen, wenn möglich und nur kombinieren, wenn es einen guten Grund dafür gibt.

+0

Welche Webframeworks werden normalerweise mit Drupal verwendet? – StackedCrooked

+1

@StackedCrooked, Drupal ist ein eigenes Framework, siehe meine Antwort. –

+0

Sorry, ich war nicht klar genug, aber ich schrieb: "Manchmal CMS-Entwickler bauen eigene Web-Framework, und manchmal sogar die API dieses Frameworks" - Drupal ist eines dieser Frameworks :) Ich denke, in den meisten Fällen , Sie brauchen kein zusätzliches Framework. Aber es hängt davon ab, was genau Sie erreichen wollen - was wir nicht wissen :) – Henning

-3

Wäre es richtig zu sagen, dass ein Web-Framework für die Erstellung eines Front-End verwendet wird, während ein CMS für das Back-End verwendet wird?

Es ist nicht "richtig", aber es ist auch nicht falsch. Ein Web-Framework ist ein allgemeines Konzept - viele Dinge zählen. Ein CMS ist ein spezielles Konzept, das oft in einem Web-Framework erstellt wird. Manchmal sind CMS eigenständige Web-Anwendungen. Häufiger jedoch ist ein CMS ein Backend-System, das ein angepasstes Präsentations-Frontend erfordert.

Sollte das Web Framework die gleiche Technologie wie das CMS verwenden?

Sollte nicht von Bedeutung sein. Am Ende der API-Definition können Framework und CMS überhaupt implementiert werden.

Web App-Frameworks - im Allgemeinen - müssen entweder HTTP-Anforderungen bedienen oder sich an etwas wie Apache anschließen.

Ein CMS ist eine verherrlichte Datenbank, und jede vernünftige API ist gut. In den meisten Fällen verwenden sie jedoch auch HTTP als Schnittstellenprotokoll.

Könnte Ruby on Rails in Kombination mit Drupal verwendet werden?

Sicher. Puristen werden dagegen sein, aber es gibt keinen technischen Grund, warum sie nicht kooperieren können.

+2

Ich stimme überhaupt nicht zu sagen, ein Web-Framework wird nur für die Front und CMS für Back-End verwendet. CMS verwaltet sichtbaren Inhalt und antwortet auch über http. Ein Web-Framework verwaltet auch den Zugriff auf Datenbanken und alles, hat aber auch Frontend-Funktionalität. Man könnte ein neueres Konzept von Web-Frameworks als javaScript-Frameworks hinzufügen - das passt dann aber nicht zu Ihrer Web-Framework-Definition im zweiten praragraph (muss HTTP-Requests bedienen). Und sicher können Rails und Drupal kombiniert werden (so gut wie alles), ist aber nur in speziellen, komplexen Scebarios notwendig/nützlich. – Henning

+2

Der Versuch, ein PHP-CMS mit einem Ruby-Framework zu kompilieren, scheint nicht praktikabel zu sein. –

+2

Ist das eine ernsthafte Antwort ?! Keiner dieser Punkte ist richtig! – micmcg

6

Sie sind unterschiedliche Konzepte. Ein CMS kann auf einem Web-App-Framework aufbauen, aber ein Web-App-Framework hat keine direkte Beziehung zu einem CMS. Es ist auf einer niedrigeren Ebene und bietet eine Plattform für jede Art von Web-App, die darauf gebaut werden, von denen ein CMS ein Beispiel ist.

2

Drupal läuft auf PHP und Ruby auf Rails läuft auf, nun, Ruby, also würden sie nicht zusammen spielen.

Nur das Wasser ein wenig trüben, Drupal selbst als content managment framework beschreibt, die mit Haken im Wesentlichen ein Content-Management-System ist es zu erweitern. Das schafft eine Überlappung. Die drupal overview beschreibt dies besser als ich könnte.