it-swarm.com.de

Was ist der Unterschied zwischen einem CMS und einem Framework? und wie wählt man sie für bestimmte anforderungen aus?

Ich arbeite derzeit mit Zend Framework und bin sehr zufrieden damit. Was ich wissen möchte, ist, bei welchen Anforderungen es besser ist, CMS wie Joomla oder Drupal zu verwenden.

In Anbetracht meines aktuellen Projekts handelt es sich um eine Portalanwendung. Es ist komplett von Grund auf in Zend gemacht. Dann kommt ein Kollege und meint, dass es eher in Drupal implementiert ist, dass man Plugins für die Sachen bekommen könnte, die man durch harte Anstrengungen erstellt hat.

Ich benötige also einen Leitfaden für die Auswahl zwischen CMS und A Framework in der Kickoff-Phase.

19
Rupesh Patel

Die Frage in Ihrem Fall ist, ob Sie ein fertiges CMS verwenden oder ein eigenes System mit einem Framework erstellen möchten. Die richtige Antwort hängt von folgenden Faktoren ab:

  • budget
  • anzahl der Benutzer, die Sie haben werden (langfristige Leistungsprobleme)
  • weitere Wartung
  • gesamtzahl der Details (Schnickschnack), die Sie auf der Website angeben möchten
  • implementierung mit Drittanbieter-/benutzerdefinierten APIs
  • spezielle/benutzerdefinierte Funktionen, die ein hohes Maß an Freiheit erfordern (Beispiel: StackOverflow-Belohnungspunkte und Badgets)

Da diese Frage den meisten von uns häufig gestellt wird, sind hier die Vor- und Nachteile eines vorgefertigten CMS vs.

Fertig CMS

Pros

  • schnellerer Start und kürzere Entwicklungszeiten, wenn Ihr Projekt generell in das passt, was das CMS bietet
  • verfügbare Module und Themen
  • unterstützt von der Community, was bedeutet, dass Ihnen neue Funktionen, Bugfixes, Support, Tutorials usw. kostenlos zur Verfügung gestellt werden
  • vereinheitlichte Standards - Es ist einfacher, an einer vorhandenen CMS-Site weiterzuarbeiten, als die benutzerdefinierte Anwendung einer anderen Person zu übernehmen (dies ist relativ, aber der Punkt ist, dass in einer Site, die ein vorhandenes CMS verwendet, die meisten Dinge/Einstellungen vertraut sind während Sie in einer benutzerdefinierten App mehr Freiheit hatten
  • sicherheit ist etwas, das Sie nicht wie in einer benutzerdefinierten App that befürchten müssen

Nachteile

  • wenn Ihre Anforderungen sehr spezifisch sind, müssen Sie den Standard-Workflow des Systems überschreiben. In einigen Fällen kann dies schwierig sein und dazu führen, dass Sie mehr Zeit verbringen, als Ihre eigene zu schreiben
  • redundanter Code in Modulen/Plugins
  • leistung - ein fertiges CMS ist selten so schnell wie eine maßgeschneiderte Anwendung
  • nicht für jede große Website geeignet (es sei denn, Sie fügen fast alles ein, was das CMS bietet)
  • teilweise steile Lernkurve ( Typo3 , Drupal )

Benutzerdefinierte Anwendung

Pros

  • es liegt an Ihnen, die Struktur und die Logik der Anwendung zu definieren
  • das App-Design wurde speziell für das Projekt entwickelt, an dem Sie gerade arbeiten. Es gibt also keinen redundanten Code
  • freiheit, alles zu tun, was Sie wollen

Nachteile

  • teuer - in den meisten Fällen benötigen Sie/Ihr Kunde viel mehr Geld für eine benutzerdefinierte App
  • weitere Wartung wird schwieriger
  • Änderungen und Modifikationen der Struktur können sehr zeitaufwändig sein
  • wenn Sie kein CMF verwenden, müssen Sie das Rad in einigen Aspekten neu erfinden

Fazit

Verbringen Sie ein paar Tage und erfahren Sie etwas über die CMSs, wie zum Beispiel:

  • Drupal - meine erste Empfehlung; gut für mittlere bis große Websites; gute Gemeinschaft; mittlere/steile Lernkurve
  • WordPress - meine zweite Empfehlung; gut für kleine bis mittlere Standorte
  • Typo3 - System auf Unternehmensebene; ziemlich komplex, kombiniert mit einem Framework das in Projekten eigenständig verwendet werden kann 
  • Joomla - Ich persönlich mag es nicht und empfehle es wegen Amateur-Plugins nicht, aber es ist beliebt
  • SilverStripe
  • MODX
  • Beton5

Ich denke, dass jedes größere und seriöse Projekt, das mindestens 1-2 Programmierer hat, die sich jederzeit um das System kümmern, gewohnheitsmäßig sein sollte. Ausnahmen bestehen nur dann, wenn sie genau in das passen, was ein vorhandenes CMS bereits bietet.

Hoffe das hilft :)

20
Aram Boyajyan

Werfen Sie einen Blick auf Unterschied zwischen einem CMS und einem Web-Entwicklungs-Framework auf StackExchange.com.

ACMS(Content Management System) wird zur Verwaltung von Inhalten auf einer Website verwendet. Sie enthält normalerweise Werkzeuge, um diese Aufgabe so einfach wie möglich zu gestalten.

Beispiele für CMSs: Drupal, Joomla, DotNetNuke usw.

A framework ist wie eine Reihe von Bibliotheken/Klassen zum Erstellen einer Webanwendung. Viele Frameworks bieten Bibliotheken für den Datenbankzugriff, für das Erstellen von Suchmaschinen usw. Auf diese Weise müssen Sie das Rad nicht neu erfinden.

Ein CMS baut häufig auf einem Framework auf. 

Beispiele für Frameworks: CodeIgniter, CakePHP, Kohana ...

8
ndequeker

@Voles erwähnte, was CMS und Framework ist 

Ihre Frage ist also "eine Richtlinie für die Wahl zwischen CMS und A Framework".

Möchten Sie einen Blog oder eine einfache Website erstellen?

Gehen Sie zu Wordpress, Drupal usw.

Möchten Sie das nächste Facebook oder Stackoverflow oder eine eigene App erstellen, deren aktuelle CMS für Sie schwer zu erlernen oder mit den Funktionen eingeschränkt ist?

Dann wählen Sie einige Frameworks oder maßgeschneiderte. Stellen Sie sicher, dass Sie wissen, wie man es richtig baut.

Sie können auch einen Blick auf http://cmf.symfony.com/ werfen.

Hoffe das macht das klar.

4
Hari K T

Framework ist der Schöpfer von CMS. CMS ist im Wesentlichen ein Content Management System, das sich auf das Content-Management konzentriert, bei dem für Sie mit wenigen Zeilen Code und Logik alles perfekt eingerichtet ist. Die Website oder eine kleine App kann entwickelt werden

Während im Rahmen des CMS alles tiefer ist als bei CMS, müssen Sie alles von Grund auf neu schreiben oder eine vorhandene Bibliothek verwenden, die in der Regel zur Erstellung großer Apps verwendet wird. Hoffe das würde helfen 

0
ujwal dhakal

Abgesehen von allen Vor- und Nachteilen von CMS und Framework, müssen Sie Ihre Anforderungen zum Zeitpunkt des Kickoffs genau studieren. Listen Sie die gewünschten Module in Ihrer Anwendung auf. Überprüfen Sie nun, wie viele Module Sie in CMS zur Verfügung haben, wie etwa Drupal, Joomla, Wordpress usw., und prüfen Sie auch, wie viele Anpassungen Sie in diesen verfügbaren Modulen benötigen, sowie benutzerdefinierte Module, die Sie je nach Ihren Anforderungen entwickeln müssen. Und wenn Sie herausgefunden haben, dass Sie mit minimalem Anpassungsaufwand ein bestimmtes CMS verwenden können, dann können Sie dies tun.

Für den Fall, dass Ihre Anwendung sehr komplex sein kann, sollten Sie sich für ein MVC-Framework wie Zend, Cakephp, Codeigniter usw. entscheiden. 

Ja, eine andere Sache gehört zu jedem CMS oder Framework, das Sie gut damit kennen. 

0
Viral Solani

Soweit ich weiß, handelt es sich bei CMSs und MVCs um Webanwendungsframeworks mit Codierungsbibliotheken. CMS ist für Anfänger viel einfacher zu verwenden, da es über vorgefertigte Funktionalitäten verfügt, so dass Sie keine komplexe Codierung benötigen. Ich habe nützliche Informationen in Wiredeltas Artikel gefunden, vielleicht hilft dies auch für Sie: https://blog.wiredelta.com/cms-mvc-framework-comparison/

0
Rebeka

Framework ist wie eine Bibliothek. Mit dieser Bibliothek können wir Neues entwickeln. Ob CMS als Name eine eingebaute Quelle für die Verwaltung des Inhalts impliziert. Wie WordPress müssen wir nichts entwickeln.

0
Praveen kalal