Würde die Erstellung eines benutzerdefinierten PHP-Framework von Grund auf völlig sinnlos für eine kleine digitale Agentur sein?
Ich habe kürzlich von einem Freund gehört, dass seine Kollegen tatsächlich Zeit für ein solches Projekt in ihrer Agentur haben. Ihr Argument gegen die Verwendung eines anderen wie Kuchen oder Zend ist, dass sie mit so vielen ungenutzten Funktionen und daher viel unnötigem Code kommen.
Ich hätte gedacht, dass ein solches Vorgehen völlig sinnlos und in der Tat eine Verschwendung von Zeit und Geld ist. Sicherlich wäre es sinnvoller, ein Framework, das Ihren Anforderungen entspricht, so nah wie möglich auszuwählen und dann anzupassen / zu erweitern. Auf solchen Frameworks wie zend wird der Code sicherlich von einem viel besseren / getesteten Niveau sein als das von 1 oder 2 Programmierern in ein paar Monaten schaffen könnte.
Es macht einfach keinen Sinn für mich - kann mich jemand anders verfolgen?
Nein, ich denke, Sie werden feststellen, dass die meisten hier mit Ihnen übereinstimmen würden - ich bin sicher, dass es eine völlige Zeitverschwendung ist. Vor allem, da sie eine kleine Agentur sind, könnten ihre begrenzten Ressourcen besser woanders ausgegeben werden.
Da sie sich Gedanken über ein aufgeblähtes Framework machen, schlage ich vor, dass sie stattdessen ein leichtgewichtiges PHP-Framework wie CodeIgniter und Kohana .
Die Verwendung eines eigenen Frameworks hat einen großen Vorteil gegenüber anderen Lösungen. Es bedeutet, dass Sie total haben, ich meine GESAMT! kontrolliere es darüber. Egal, was mit anderen Frameworks passiert, denn eines Tages haben Sie Open-Source-Software und an einem anderen Tag könnte das Projekt abgebrochen oder gestoppt werden. Und Ihr Framework wird noch entwickelt werden. Selbst wenn es bedeutet, dass Sie ständig einige Funktionen hinzufügen müssen, wird es sich mit der Zeit auszahlen. Außerdem ist PHP wie ein riesiger Rahmen, und es entwickelt sich weiter. Wenn du dein eigenes Framework schreibst, wirst du mit dieser Technologie auf dem neuesten Stand bleiben :) Natürlich ist es auch gut, mit anderen Frameworks oder CMSs zu arbeiten, weil deine Kunden sie vielleicht verwenden wollen und du auch von ihnen lernen und einige Lösungen umsetzen kannst Ihre Software: D
Ich sehe es sinnlos. Aber es ist ein Fluch von PHP-Programmierern, die das Rad immer wieder neu erfinden. Ich weiß wovon ich rede. Ich habe es auch versucht.
Der beste Ansatz scheint zu sein, einen Rahmen zu lernen und wenn es nicht passt, fragen Sie Freunde, die andere Frameworks kennen, um zu lernen, wie das spezielle Problem in anderen Frameworks gelöst wird und wenn keiner von ihnen gut aussieht, dann ist es Zeit Beginnen Sie mit der Arbeit an einem neuen Framework.
Der Punkt mit viel ungenutztem Code ist nicht vollständig gültig. Zend enthält Klassen, die, soweit ich weiß, entfernt werden können.
BEARBEITEN: Die Leistung von PHP kann zum Beispiel über eAccelerator verbessert werden. Ich finde es einfacher, als einen brandneuen Rahmen zu bauen.
MVC FW ist weniger als 5% der durchschnittlichen Projektcode-Basis, daher empfehle ich dringend, MVC für jedes Projekt zu erstellen und es an die Projektspezifikationen anzupassen. Wenn jemand genug Wissen über MVC-Muster und etwas Erfahrung in der Verwendung und dem Aufbau von MVC-Frameworks hat, kann es in einigen Tagen erstellt werden.
Die allgemeinen Argumente sind Geschwindigkeit und Leistung, die von der benutzerdefinierten FW vorgegeben werden.
Manchmal, wenn Menschen Angst vor Veränderungen haben und neue Dinge lernen, haben sie viele dumme Gründe, warum etwas schlecht ist und nicht verwendet werden sollte.
Ich habe einmal in einer Firma gearbeitet, die entschlossen war, ihr eigenes Web-Framework zu schreiben, anstatt Django zu benutzen. Einer der Entwickler, der am "admin" -Teil des Frameworks arbeitete, sagte, ich wollte, dass er seinen Job verliert, da Django automatisch generierten Admin hat.
Es sei denn, es ist ein sehr spezifischer Rahmen und Sie haben sehr gute Gründe und genügend Mittel für das Projekt. Es ist nie eine gute Idee, das Rad neu zu erfinden, wenn Sie es nicht genauso oder besser machen können als das, was bereits da draußen ist.
Es hängt davon ab, welche Art von Projekten sie durchführen und welche Bedürfnisse sie haben. Vergessen Sie nie, dass in der Software das "Beste" immer davon abhängt, was Sie tun. Es gibt keine "goldene Lösung" für alles. Dies beinhaltet mvcs.
Es gibt verschiedene Gründe, einen eigenen mvc zu programmieren:
Ganz zu schweigen davon, dass Sie mit einem externen mvc, den Sie verwenden, dem Projektteam von mvc für viele Dinge verpflichtet sind. Sie haben vielleicht bereits Dinge, die Sie nicht mögen, oder können sie einführen, oder sogar Ihre spezifischen Anwendungen behindern.
Ganz zu schweigen davon, dass sie einfach aufgegeben werden. Kann dem Größten passieren. Codiegniter war der letzte Schrei. Was ist passiert ? Ellis ist es im Grunde genommen. Die Entwicklung verlangsamte sich. Wahrscheinlich bald völlig stockend. Open Source ist kein Garant für ein Projekt - es gab viele Open-Source-Projekte, die ähnliche Wege gehen.
Was passiert mit Leuten, die wichtige Anwendungen mit Codeigniter programmiert haben? Werden sie die Sicherheit der Codeigniter-Installationen, die sie selbst besitzen, übernehmen? De facto zu Maintainern ihres eigenen mvc zu werden? Oder werden sie externe Parteien einstellen, um den mvc für sie aufrechtzuerhalten?
Keine gute Zukunftsinvestition.
Meine Präferenz für die Programmierung meines eigenen mvc besteht hauptsächlich darin, einen mvc zu haben, der zu meinem eigenen Codierungsstil passt. Meine Kriterien für ein mvc:
Ich habe vorher ein großes mvc für mich selbst programmiert. und ich betreibe es immer noch erfolgreich auf einer meiner Hobby-Webseiten, die ~ 600.000-1.200.000 Unique Visitors pro Monat bearbeiten. Zu einem bestimmten Zeitpunkt können mehr als 250 Besucher (Google Analytics - es enthält keine Bots) auf der Seite präsent sein, Seite für Seite gehämmert. Und es blinkt nicht einmal. Ich mag es. Obwohl es verschiedene Mängel hat, die ich nicht mag, funktioniert es spektakulär.
Im aktuellen Modus mache ich die Lektionen, die ich aus dem vorherigen gelernt habe, so wie sie für meine speziellen Zwecke gelten.
Nicht zu vergessen, es ist eine großartige Möglichkeit, neue Fähigkeiten zu entwickeln und zu verfeinern.
Aber eine Sache ist ein Muss: Plane es sehr gut und baue darauf weiter, verändere und verbessere es.
Für jedes Framework
Vorteile
Nachteile
Persönlich empfehle ich, bestehende Frameworks zu untersuchen, bevor Sie überhaupt daran denken, Ihre eigenen zu schreiben. Denken Sie daran, dass es in Ordnung ist, wenn Sie nicht alles an einem Tag verstehen!
Es ist nicht unbedingt Zeitverschwendung, aber ich stimme dir zu, ich habe es auch selbst ausprobiert. Ich verwende Zend, Code Igniter und Fuel, je nachdem, an welchem Projekt ich gerade arbeite.
Die Folge, die ich hatte, um meinen eigenen Rahmen zu schaffen, ist die Deadline. Wenn Sie an einem Projekt mit sehr knappen Fristen arbeiten, wäre die Erstellung eines eigenen Frameworks eine schlechte Idee.
Tags und Links php model-view-controller