Verwandte Themen : Soll ich als Anfängerprogrammierer lieber meine eigenen Bibliotheken als Bibliotheken von Drittanbietern erstellen?
Soll ich als PHP-Webentwickler für Fortgeschrittene (bis zu 15 Jahre alt) ein völlig neues CMS für meine Website erstellen oder mich auf vorgefertigte Software wie WordPress oder Drupal verlassen?
Ich habe nicht das Gefühl, dass WordPress mächtig / skalierbar genug ist, um mit meinen Versuchen fertig zu werden, und nachdem ich in den letzten Tagen einiges an Drupal herumgebastelt habe, scheint es einfach nicht so zu sein, wie ich es mag und es ist auch nicht gut dokumentiert, so dass ich ein bisschen Probleme habe, es dazu zu bringen, bestimmte einfache Aufgaben zu erledigen. Ich würde gerne so etwas wie ExpressionEngine verwenden, aber ich habe nicht das Geld, um eine kommerzielle Lizenz auszuteilen, die derzeit bei rund 300 US-Dollar liegt. Das ist also ein No-Go.
Ich habe ursprünglich damit begonnen, meine Website als temporäres System zu codieren, damit meine Benutzer Upgrades und andere Dinge wie die Spielwährung kaufen können, bis ich eine neue Website erstellen kann. Nachdem ich damit begonnen hatte, wurde mir jedoch schnell klar, dass ich sie skalierbar machen musste Von da an habe ich mit dem Gedanken programmiert, es zu einer voll funktionsfähigen Website zu machen. Es hat nur ein paar Tage gedauert, aber alle Grundlagen sind vorhanden (Registrierung, Anmeldung, Kontoänderungen usw.) und ich glaube, es wäre ein großartiger Start für ein privates CMS.
Das Letzte, was ich hinzufügen möchte, ist, wenn ich mein eigenes CMS bauen würde, sollte ich ein PHP-Framework wie CodeIgniter verwenden, mit dem ich ziemlich viel Erfahrung habe?
Vielleicht könnten andere Entwickler mich darauf hinweisen, worauf ich mich einlasse.
Antworten:
Das hängt ganz von Ihrer Situation ab. Mit CMS wurden großartige Websites erstellt. Ich denke, wir sollten zuerst zwei Konzepte verstehen, CO und TCO.
CO (Betriebskosten)
Wenn Sie etwas kaufen, ist der Betrag, den Sie dafür bezahlen, CO. Im Falle von WordPress ist dies nichts, da WordPress (oder viele andere CMS-Programme) kostenlos sind.
TCO (Total Cost of Ownership)
Stellen Sie sich vor, Sie kaufen einen PC für 10000 Dollar. Dann was? Nehmen Sie sich Zeit für die Installation der Software (Zeit ist eine wertvolle Ressource, weshalb Sie immer noch Geld für diesen PC ausgeben), und kaufen Sie eine Webcam, einen weiteren DVD-Brenner und einige zusätzliche Kabel. Dann müssen Sie lernen, wie man installierte Software benutzt. Mit anderen Worten, die Gesamtkosten für den Besitz eines PCs betragen nicht 10.000 US-Dollar. Es ist viel mehr als das.
Im Falle von CMS-Software ist deren CO wirklich nichts zu sehr niedrigen Raten. Viele Erfahrungen zeigen jedoch, dass die Gesamtbetriebskosten nicht niedrig sind. Große Unternehmen geben fast Tausende von Dollar aus, um eine gute Site in Joomla oder WordPress zu erhalten.
Ein weiterer Faktor ist der Grad der Anpassung . Manchmal wollen Sie eine Software verwenden , wie ohne Änderung. In diesem Fall könnten WordPress, Joomla, Drupal oder ein anderes CMS ein sehr guter Kandidat sein, und Sie sollten kein eigenes CMS schreiben. Es gibt jedoch Situationen, in denen ein hohes Maß an Anpassung erforderlich ist. In diesem Fall ist es sehr frustrierend, ein einsatzbereites CMS an Ihre Anforderungen anzupassen.
Eigentlich wollte ich fertige CMS-Software verwenden, aber nachdem ich eine wertvolle Zeit damit verbracht hatte, verschiedene CMSs zu lernen und Schwächen von jedem zu finden, habe ich schließlich mein eigenes CMS erstellt. Thought Results ist meine persönliche Seite und wird über dieses CMS erstellt. Ich werde es bald veröffentlichen, damit andere es auch verwenden können.
Ein weiterer Faktor ist die Erweiterbarkeit . Glauben Sie mir, es macht Sie alt, ein CMS vom statischen in den erweiterbaren Zustand zu versetzen. Vorlagen, Module, Plugins, Anbieter, Datenbanken und Speicher, Routing-Mechanismen und fast alle Teile eines Good CMS sollten erweiterbar sein.
Schließlich ist mein persönlicher Vorschlag, mit dem Aufbau eines CMS zu beginnen, damit Sie zumindest einige der grundlegendsten Konzepte kennenlernen, die dahinter stehen. Versuchen Sie aber auch, vorhandene zu verwenden. Viel Glück.
quelle
Ich spiele Devils Advocate hier, aber es muss gesagt werden. Einige der häufigsten Probleme mit Softwareentwicklern:
Sind Sie sicher, dass Sie keinen dieser Fehler machen, denn selbst für einen 15-jährigen könnten in ein paar Wochen 300 US-Dollar verdient werden, und was Sie vorschlagen, könnte Monate dauern. Überlegen Sie, was passieren würde, wenn Sie einen bezahlten Job bekämen und ExpressionEngine mit dem Geld kauften. Würde es früher geliefert werden, mit noch besseren Eigenschaften als ein Heimwerkerjob?
quelle
Darauf gibt es zwei Antworten.
Eins ist einfach: Nein - erfinde das Rad nicht neu. Es gibt viele exzellente CMS-Systeme. Wenn Sie lernen, ein CMS gut zu verwenden, können Sie sich darauf konzentrieren, ein Plug-In für diesen Zweck zu erstellen, anstatt das Plug-In neu zu erfinden Rad.
Der zweite ist etwas weniger offensichtlich: Ja. Wenn Sie verstehen möchten, wie ein CMS funktioniert und welche Probleme bei der Erstellung eines CMS auftreten, können Sie problemlos ein eigenes CMS erstellen. Es wird wahrscheinlich nie die Leistungsfähigkeit und Flexibilität eines der vorhandenen CMS-Systeme haben und da es ungefähr 100000000000 PHP-Content-Management-Systeme in der Nähe gibt, ist die Wahrscheinlichkeit sehr gering, dass sich irgendjemand jemals dafür interessieren wird, aber dies wird auch nicht der Fall sein Haben Sie das Zeug, das Sie nicht brauchen, und es wird wahrscheinlich viel kleiner und einfacher als jedes der größeren Systeme funktionieren. Es wird viel Zeit in Anspruch nehmen, die Ergebnisse werden wahrscheinlich nicht so gut sein und es wird keinen Unterschied für den Rest der Welt bedeuten, aber in Bezug auf Ihre Entwicklung und Ihr Lernen könnte es eine nützliche Übung sein.
In jedem Fall würde ich, bevor Sie sich an die Entwicklung Ihrer eigenen Systeme machen, die verfügbaren Mainstream-Systeme ausprobieren, um eine Vorstellung davon zu bekommen, wie sie funktionieren, was sie gut machen und was sie Ihrer Meinung nach besser machen könnten. Ein gutes Verständnis dieser Faktoren kann Ihre Entscheidung darüber beeinflussen, ob es von Vorteil ist, eine eigene zu erstellen.
quelle
Wenn Sie noch nie versucht haben, ein CMS zu programmieren, ist dies möglicherweise eine sehr gute Gelegenheit, dies zu tun. Sie werden eine Menge lernen und unabhängig davon, ob Sie es beenden, haben Sie eine sehr gute Vorstellung von zB:
Bei einigen von ihnen haben Sie vielleicht sogar gelernt, wie man es nicht macht. Diese Erfahrung ist auch wichtig.
Persönlich habe ich ein Stadium erreicht, in dem ich gelernt habe, dass das "Wie schwer kann es sein" nur ein paar Prozent der Arbeit abdeckt, die tatsächlich für die Erstellung eines qualitativ hochwertigen Produkts erforderlich ist, und wenn ich ein CMS wählen würde, würde ich Ich würde nach einem populären suchen, das über eine barrierefreie Codebasis und eine gute Dokumentation sowie eine gute Plugin-Architektur verfügt, mit der ich einfach geeignete Plugins schreiben und dann das Basis-CMS aktualisieren kann, wenn eine neue Version herauskommt.
quelle
Dies ist nur eine geringfügige Antwort auf Ihre Frage. Ich bin davon ausgegangen, dass Sie sich für PHP und nicht für den vorgefertigten CMS-Weg interessieren. Willkommen im Klub! Viele von uns sind den gleichen Weg gegangen. Einige Ratschläge, die Ihre Last erleichtern könnten.
Ich habe angefangen, ein eigenes CMS, eine MVC-Implementierung, einen Internationalisierungs- (i18n) -Handler, einen Session-Handler, eine Art Datenbankabstraktionsschicht, eine Art Formularhandler usw. zu erstellen. Dann stellte ich fest, dass das, was ich tat, tatsächlich getan wurde vorher, aber besser durch Frameworks. Das bedeutet, dass Sie das Rad nicht komplett neu erfinden müssen, sondern genau dort, wo es Ihren Anforderungen entspricht. Frameworks erleichtern Ihnen das Leben, erfordern jedoch viel Aufwand, um darin zu lesen und zu lernen. Ich habe ein Jahr gebraucht, um Symfony wirklich zu meistern, und ich bereue es keine Sekunde.
Und Sie haben Glück, denn im Moment gibt es viel mehr hochwertige Frameworks als zuvor. Um ein paar zu nennen :
CakePHP : Habe es vor langer Zeit benutzt und konnte die Dokumentation nicht durchstehen. Anscheinend ist das jetzt besser und wahrscheinlich eine Überlegung wert.
Yii : Habe es nicht benutzt, aber es gibt in letzter Zeit eine Menge Unklarheiten, die wahrscheinlich Ihre Aufmerksamkeit wert sind.
CodeIgniter : Viele Leute loben Codeigniter für seine einfache Lernkurve und Benutzerfreundlichkeit. Habe es nicht benutzt.
Wenn Sie Python ausprobieren möchten, loben viele Leute auch Django und natürlich Ruby on Rails.
Es gibt wahrscheinlich mehr, aber das sollte dir nützlich sein. Wenn Sie sie nicht verwenden möchten, können Sie dennoch viel von diesen Frameworks lernen. Viel Glück!
quelle
Die Antwort hängt weitgehend davon ab, was Sie erreichen möchten.
Wenn Sie beabsichtigen, Ihre Fähigkeiten zu entwickeln, sich mit Content Management usw. vertraut zu machen, dann sollten Sie auf jeden Fall Ihre eigenen Fähigkeiten entwickeln. Wenn Sie ein Framework erlernen möchten, verwenden Sie es ebenfalls.
Wenn Sie sich jedoch auf das von Ihnen erwähnte Spiel und seine Spieler konzentrieren, lautet die Antwort mit ziemlicher Sicherheit Nein. Ihre Zeit ist eine begrenzte und daher teure Ressource. Die für die Entwicklung eines CMS aufgewendete Zeit ist die Zeit, die nicht für die Entwicklung des Spiels aufgewendet wird, und es ist das Spiel, das Einnahmen generiert. Stellen Sie sich also die Frage. Wird die für die Entwicklung dieses CMS aufgewendete Zeit die Spielerfahrung verbessern, anstatt eine zu beschaffen, mehr als die für die Entwicklung des Spiels aufgewendete Zeit? Wenn die Antwort ja ist, dann entwickle sie, sonst nicht.
Ebenso sollte die Entscheidung von Open Source CMS über ExpressionEngine ToC zum Erliegen bringen, wie Saeed sagt. Einfach ausgedrückt, wenn Kosten (Wordpress)> Kosten (ExpressionEngine), dann geben Sie die 300 $ aus. Hier betragen die Kosten für den Kauf + (Stunden_zum_Anpassen * Ihr_Stundentarif).
quelle
Suchen Sie ein CMS, das 90% Ihrer Anforderungen erfüllt, und ändern Sie es im Laufe der Zeit, um Funktionen hinzuzufügen, die es nicht bietet.
Auf diese Weise können Sie frühzeitig starten und sich anpassen, wenn sich die Anforderungen Ihrer Benutzer ändern.
quelle
Ich empfehle Ihnen, Ihr eigenes CMS zu erstellen. Es ist bei weitem der beste Weg, die Besonderheiten eines solchen Systems in Bezug auf Anpassung und Sicherheit zu kennen. Aber ich muss fragen, wie fortgeschritten Sie mit Ihren PHP-Kenntnissen sind. Dies ist nicht in Bezug auf Ihr Alter, glauben Sie mir.
Die Flagge für mich war: "Ich habe nicht das Gefühl, dass WordPress mächtig / skalierbar genug ist, um mit dem fertig zu werden, was ich versuche, und nachdem ich in den letzten Tagen ein bisschen mit Drupal herumgebastelt habe, sieht es einfach nicht so aus für meinen Geschmack auf dem neuesten Stand und auch nicht gut dokumentiert, so dass ich ein bisschen Probleme habe, bestimmte einfache Aufgaben zu erledigen. "
Die Fülle an Büchern und Websites zum Anpassen von Worpress und Drupal sowie die bekannten Websites, auf denen diese ausgeführt werden, beweisen, dass Sie wissen müssen, was Sie tun, um Websites wie diese zu erhalten. Ganz zu schweigen davon, dass ganze Budgets für die Ausführung dieser Websites vorgesehen sind.
Links zum Beispiel:
http://drupal.org/cases
http://wpmu.org/wordpress-showcase-20-high-profile-sites-running-on-wordpress
Dies soll Sie nicht entmutigen, was Sie versuchen, auf alle Fälle für es zu tun. Ich möchte nur sicherstellen, dass Sie nicht zu viel Zeit investieren (das Rad neu erfinden) und an einem bestimmten Punkt frustriert sind. Sagen Sie einfach "eff it", wenn Sie Ihre Talente ausbauen und Menschen zeigen können, auch Arbeitgebern , was Sie mit den derzeit verfügbaren Tools haben. In der realen Welt und der gegenwärtigen Wirtschaft ist Zeit Geld, und Unternehmen und Organisationen haben nicht die Zeit und / oder das Budget, um Projekte von Grund auf neu zu erstellen.
Informationen bewegen sich heute mit Lichtgeschwindigkeit, weshalb Programmierer gefragt sind, die das Rauschen trennen und in angemessener Bearbeitungszeit zielgerichtete Inhalte / Apps / Systeme erstellen können.
quelle
Nur Sie können antworten, ob Wordpress oder Drupal das kann, was Sie von einem CMS erwarten. Wenn Sie sie jedoch ausprobieren möchten, können Sie eine virtuelle Maschine von Turnkey Linux verwenden , z. B. eine für Wordpress , Drupal , Joomla oder eine von die anderen mit dem Content-Management- Tag.
Angenommen, Sie haben VMware Player oder VirtualBox bereits installiert, und Sie können die Software innerhalb weniger Minuten nach dem Herunterladen einer dieser Appliances mit minimalem Zeitaufwand selbst ausprobieren.
quelle