Frage von whuiapefhaurgqp, 122

cms verwenden, oder doch lieber selbst schreiben?

naja, im prinzip ist die frage ja gestellt, ich bastel seit einer weile an meiner homepage. alles in guter alter handarbeit in "Brackets" eingetippt... ich werde immer wieder gefragt, warum ich nicht einfach ein cms verwende...

naja, ich hab mal testweise drupal, yoomla und einige andere cms auf meinem server (unter jeweils einer eigenen subdomain) installiert. das lief auch, ich konnte mich einloggen und in die admin-oberfläche... aber dann hörts auch auf... ich kapier nicht wie man die dinger benutzt, ebenso wenig was der vorteil davon ist.

ist es nicht besser den code selbst zu schreiben? dann fällt doch auch eine eventuelle fehlersuche viel entspannter aus, weil man alles mit vernünftigen classen, id's und variablen versehen kann...

lohnt es sich, sich in die cms-geschichte einzulesen, oder sollte ich besser beim alt-bewährten bleiben?

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Steffile, 88

Ein CMS macht Sinn, wenn du (oder deine Kunden) keinen Code schreiben koennen und die Adminoberflaeche brauchen. Auch in einem CMS sind Classes, IDs und Variablen, die du veraender kannst, aber es dauert eine Weile sich da einzuarbeiten.

Meine eigene Website ist auch ohne CMS, das spart Volumen, Ladezeit und kann nicht gehackt werden.

Kommentar von whuiapefhaurgqp ,

danke für die schnelle antwort... über den sicherheitsaspekt hatte ich diesbezüglich noch garnicht nachgedacht... aber stimmt, ne cms ist natürlich eine weitere offene tür

Kommentar von Steffile ,

Oh ja, drei meiner Kunden wurden in letzter Zeit gehackt weil sie keinen Webmaster monatlich bezahlen wollen und nicht selbst das System und ihre Plugins updaten.

Kommentar von tWeuster ,

Deine Webseite hat ein CMS. 100%!! Was heißt CMS? "Inhalt verwalten". Wenn du eine html Datei öffnest und die Texte dort blank reinschreibst hast du deinen Inhalt ebenfalls verwaltet. Nur ohne "klicki-bunti" Oberfläche. Das gleiche gilt, wenn die Inhalte über eine Datenbank kommen.

Sobald du den Inhalt persistierst hast du immer eine Sicherheitslücke. Bei einer Datenbank braucht der Angreifer nur Zugang zu dieser, bei html Dateien braucht er Zugang zum Server. Generell bekommt die Aussage "kann nichts schief gehen" (kann nicht gehackt werden) im Zusammenhang mit Technik von mir ein lächelndes "ja ne is klar" ;).

Ein CMS spart auch nicht an Ladezeit. Deshalb trennt man ja zwischen Frontend und Backend. Sind zwei komplett voneinander getrennte Systeme.

Kommentar von Steffile ,

Nein meine Site hat 100% kein CMS. Ein CMS verwaltet Inhalt und publiziert ihn. Notepad++ & WinSCP ist kein CMS.

Oaky, wenn es jemand drauf anlegt und sich die Muehe macht, meinen Server zu hacken, dann kann er auch meine Website hacken, aber das ist unwahrscheinlich.

Und wenn du behauptest dass ein CMS genauso schnell ist wie eine statische Seite, dann, sorry, hast du keine Erfahrung. 

Kommentar von whuiapefhaurgqp ,

so'n blödsinn... CMS -> Content Management System

das bedeutet nicht inhalt verwalten, sondern inhalts-verwaltungs-system...

und wenn ich die inhalte selbst verwalte? dann is da kein system, was das für mich macht...

Kommentar von whuiapefhaurgqp ,

@ Steffile:

du schreibst im notepad++?

das ist aber sehr unkomfortabel... is ja fast wie notepad.exe


wenn ich dir ein etwas besseren editor empfehlen darf:

http://brackets.io/

ist kostenlos, und ich glaube von adobe, oder mit unterstützung von adobe oder so... kannst ihn ja mal ausprobieren


Kommentar von fluffiknuffi ,

Jede(r) wie er/sie mag. Ich schreibe in Sublime Text, was einige grässlich finden und auf PHPStorm schwören... 

Kommentar von Steffile ,

Hey, Danke fuer den Tip, aber da ich keine Adobe Produkte verwende, ist brackets nichts fuer mich. Viel meiner Arbeit ist, Websites zu modifizieren, nicht unbedingt von Grund auf zu bauen, da ist Notepad++ passend. Und ich bin schon so lange dabei, ich kann dir gesamte Seiten im Schlaf schreiben, responsiv, SEO-optimiert und mit IE8 Anpassung^^

Kommentar von medmonk ,

Brackets kommt zwar von Adobe, ist jedes OpenSource (kostenlos). Ich möchte Brackets nicht mehr missen. Dank zahlreicher Extensions eigentlich unbegrenzt erweiterbar. Mittlerweile eigentlich größere IDE's wie PHPStorm kaum noch starte.  

Antwort
von medmonk, 27

Mittlerweile haben die meisten Website ein CMS als Unterbau. Was primär der Inhaltsverwaltung dient. Übers Backend können auch weniger versierte User ohne HTML und CSS Kenntnisse Inhalte erstellen und bearbeiten. Durch Templates und dem dynamischen Laden der Inhalte, findet eine saubere Trennung von Design und Content statt. So kann dann Aussehen schnell und unabhängig vom Inhalt verändert werden. Auch in puncto Funktionen sind neue schnell ergänzt. 

Jedes Content-Management System hat sein eigene »Template-Engine«. Um eigene Layoute umsetzen zu können, muss man sich zwingend einarbeiten und die CMS Struktur kennen. Alle dafür nötigen Informationen findet man in der jeweiligen Dokumentation des jeweiligen CMS. Ich selber arbeite überwiegend mit WordPress, Typo3 und einem Haus eigenem CMS. Du solltest dich auf jeden Fall weiter einlesen und danach abwägen, ob für deine Website ein CMS in Frage kommt oder nicht. 

LG medmonk 

Antwort
von userfromberlin, 51

Tja, ich habe vor ein ca. zwei Jahren meine ersten Codezeilen geschrieben. Nun habe ich mir mein eigenes Blog gebastelt, eine Loginoberfläche etc. Mit einem CMS hätte ich wohl etwas weniger Arbeit fürs Eindenken benötigt, aber nicht halb so viel gelernt. Denn ein CMS ist nicht mehr als eine UI, die das Denken dem Nutzer abnimmt.

Gerade wenn Du Web-Programmierung kannst, macht ein CMS keinen Sinn: Du bleibst mit den Entwicklungen und Code-Befehlen nur vertraut, wenn Du sie anwendest.

Weitere Vorteile des Selbergestaltens:

- Individuelles Design
- Unabhängigkeit von Drittanbietern
- Nicht den Grenzen des CMS unterworfen

Kommentar von medmonk ,

Gerade wenn Du Web-Programmierung kannst, macht ein CMS keinen Sinn:

Das stimmt so nicht. Gerade als Web-Entwickler sollte man sich wenigstens mit einem CMS ausreichend auseinandergesetzt haben. Allein schon der Nachfrage wegen. Das eigene Wissen ist dann vor allem für die Entwicklung von Kunden-spezifischen Modulen (Plugins) Gold wert. 

- Individuelles Design

Individuelle Designs kann man mit jedem x-beliebigen CMS realisieren. Da sind einem so erst einmal keine Grenzen gesetzt. Dank der großen Menge an Plugins kann man hier und da auch etwas an Zeit sparen. Jedoch sollte man es mit jenen auch nicht übertreiben bzw. nur jene Plugins verwenden, die auch vom jeweiligen Entwickler gepflegt werden. 

- Nicht den Grenzen des CMS unterworfen

Stimmt auch nur teilweise. Die kleineren (eher unbekannten) CMS sind sicher in ihrer Erweiterbarkeit hier und da eingeschränkt. Bei den größeren gibt es hingegen kaum Grenzen.  Wenn es doch mal irgendwo nicht weitergeht, gibt es genügend Entwickler, die ein passendes Module entwickeln. Sofern man nicht selber an den Schrauben dreht. ;-) Dir aber in sofern recht gebe, das manches einfach nicht oder der Performance wegen eher ungünstig ist/wäre. 

Ich selber arbeite wie bereits erwähnt überwiegend mit WordPress, Typo3 und einem Haus eigenem CMS. Bei WordPress ist vor allem die Mutlisite-Funktionalität klasse. Auch sonst lässt es sich ganz gut damit arbeiten. Das Backend (Dashboard) ist übersichtlich und kann bei Bedarf mit relative wenig Aufwand individuell gestaltet werden. Was wir hier und da auch machen, um selbiges an ein bestehendes Corporate Design anzupassen oder die Bedienung noch weiter zu vereinfachen. 

Aber jedem das seine. Ich selber kann sowohl mit als auch ohne. Missen möchte solche Systeme nicht. Jedoch immer von Projekt zu Projekt entschieden wird, ob und wenn ja welches CMS eingesetzt wird. Wobei der Kunde da ausschlaggebend ist. Schließlich hat nicht jeder das Budget, die Zeit und Nerven für eine Schulung. Wobei man vieles auch als un-versierter User schnell verinnerlicht hat. 

LG medmonk 

Antwort
von tWeuster, 66

Deine Frage ist falsch gestellt. Du vergleichst in der Frage Äpfel mit Birnen. Sie sollte eher so gestellt sein: "Ein CMS selbst erstellen oder ein fertiges nehmen?" - dann ergibt sich die Antwort mit ein bisschen Menschenverstand von selbst.

Fertige CMS liefern eine Lösung für häufig auftretende Probleme. Wenn du z.B. einen kleinen Blog brauchst, wieso selbst einen basteln. Dafür gibt es Standard Lösungen. Wenn du eine kleine "Visitenkarte" ins Netz stellen willst gibt es ebenfalls Lösungen.

Selbst Handanlegen musst du nur, wenn du etwas brauchst, dass es perse nicht gibt. Da ist dann aber wieder die Frage - eine Standard Lösung nehmen und durch ein eigenes Plugin aufbohren oder gleich alles komplett neu schreiben.

Kommentar von whuiapefhaurgqp ,

wie kommst du darauf, dass ich selbst ein cms erstellen will?

Kommentar von tWeuster ,

Es steht in deiner Frage, die du selbst geschrieben hast! Dieses fett geschrieben ganz oben. Das in den größeren Buchstaben.

Kommentar von whuiapefhaurgqp ,

okay... dann lies mal das kleiner gedruckte darunter... ich will nicht selbst ein cms schreiben, sondern meine HP selbst schreiben

-> ohne cms

Antwort
von fluffiknuffi, 29

Oder der Mittelweg: Ein Framework.

Kommentar von whuiapefhaurgqp ,

damit hab ich noch nie gearbeitet... kannst du mir da mal einige vor- und nachteile nennen?

Kommentar von fluffiknuffi ,

Pro:

- Moderne Frameworks bringen viel in Sachen Sicherheit bereits von Haus aus mit
- Vieles schon vorgefertigt, muss nicht neu programmiert oder auf GitHub zusammen gesucht werden
- Vorteilhaft wenn man mit mehreren an einem Projekt arbeitet, weil es eine Dokumenation gibt, bei größeren Frameworks auch Tutorials, Foren, Videos etc., eventuell auch ein komplettes Ökosystem (z. B. Webspace-Hoster die das Framework direkt unterstützen)
- Allgemeine Vorteile der Nutzung von Open-Source-Software wie bspw. einfach, dass da viele talentierte Entwickler mit arbeiten
- Häufig gibt es auch viele Packages die extra für ein Framework geschrieben wurden und die man dann darin einfach und komfortabel verwenden kann (einfacher als wenn man generische Packages/Libraries in sein selbst geschriebenes Projekt integrieren muss)
- moderne Frameworks sind eben... modern. Moderne Architektur, moderner PHP-Code, Unterstützung für wichtige akuelle Tools / 3rd Party Packages etc.
- es gibt bestimmt noch viele weitere Vorteile dir mir aber gerade nicht einfallen

Contra:

- man muss sich in das Framework einarbeiten
- Frameworks sind in der Regel mehr oder weniger überdimensioniert
- Interna teilweise schwer zu verstehen
- zwingen einem eine Architektur, einen Stil etc. auf (was zugleich aber auch als Vorteil gewertet werden kann)
- man ist ggf. davon abhängig, dass ein Framework langfristig weiterentwickelt wird
- es gibt bestimmt noch viele weitere Nachteile dir mir aber gerade nicht einfallen

Aber ganz ehrlich, wenn du ein großes, professionelles Projekt, ggf. mit mehreren Mitarbeitern starten willst dann sollte man in irgend einer Form eine Art Framework verwenden - wenn auch nur ein selbst geschriebenes oder eines das man sich aus verschiedenen Komponenten Dritter selber zusammengebaut hat. Aber man sollte nicht versuchen für jedes Projekt alles neu zu schreiben - das ist Schwachsinn. 

Kommentar von medmonk ,

Aber man sollte nicht versuchen für jedes Projekt alles neu zu schreiben - das ist Schwachsinn. 

Schwachsinn ist es sicher nicht. Klar, manche Sachen kann und sollte man wiederverwerten. Es spricht aber nichts dagegen, jedes Projekt neu aufzusetzen. Da kommt es viel mehr auf das wie und die verwendeten Technologien an. Ich arbeite fast ausschließlich mit Preprocessoren (Jade, Sass + Compass oder Bourbon) und Gulp. Da spielt auch der Umfang eines Projekts keine Rolle. 

Für mehr Tempo auch überwiegend mit der Konsole arbeite und diverse (eigene) Batch laufen lasse. Sei es nur um schnell gewünschte Verzeichnisstrukturen anzulegen. Dummy-Files werden auch gleich angelegt. Im Ganzen also Recht flott. 

Kommentar von fluffiknuffi ,

Hm vielleicht meinst du etwas anderes als ich?

Ich bezog mich auf PHP und also aufs Backend. Sowas wie Yeoman benutze ich persönlich auch nicht - halte es für Overkill.

Ich dachte an so etwas wie für jedes PHP-Projekt den Autoloader, das User-Management, die Logging-Klasse, die Caching-Klasse, die Routing Komponente, usw. neu zu schreiben.

Keine passende Antwort gefunden?

Fragen Sie die Community