Core PHP vs. PHP Framework: Was sollten Sie verwenden?

Ich baue seit 2012 Core PHP- und PHP-Framework-Teams in Indien auf. Hier meine Erfahrung:

1) Kleine bis mittelgroße Webanwendungen: Verwenden Sie ein PHP-Framework

Kleine bis mittelgroße Webanwendungen haben normalerweise einen bestimmten Zweck wie:

  • Preise vergleichen und den besten Preis anzeigen
  • verschiedene Produkte anzeigen und Benutzer durchsuchen lassen
  • Registrieren Sie sich für einen Service und lassen Sie die Benutzer die Kurse und Produkte herunterladen
  • Buchen Sie Zimmer oder Taxis oder ähnliches
  • usw.

Die Zahl der Benutzer wird bei diesen Anwendungen etwa 100 bis 1000 pro Tag betragen.

Diese Kriterien werden auf rund 90 Prozent aller Webanwendungen zutreffen.

Für sie können Sie ein PHP-Framework verwenden. Ich würde einen der folgenden vorschlagen:

  • Laravel: das modernste PHP-Framework. Es wurde 2011 erstellt und seitdem von Webentwicklern unglaublich angenommen.
  • Symfonie: Dies ist, was Sie ein Web-Framework auf Unternehmensebene nennen würden. Es wird hauptsächlich von IT-Abteilungen mittlerer und großer Unternehmen verwendet, die kleine und mittlere Plattformen für ihre Kunden oder ihre anderen Abteilungen (Marketing, Vertrieb, Personal, Buchhaltung usw.)
  • Zend: ist ein weiteres Framework auf Enterprise-Ebene, das sich seit vielen Jahren bewährt hat.

Neue Projekte werden normalerweise mit Laravel gestartet. Aber die meisten Projekte aus der Vergangenheit wurden in Symfony oder Zend gestartet, so dass Sie auch hier viele Möglichkeiten sehen werden.

Es gibt andere Frameworks wie CodeIgniter, CakePHP und YII. Sie werden nicht mehr so oft verwendet. Trotzdem gibt es Webentwickler, die diese Technologien verwenden.

2) Maximale Flexibilität oder maximale Anpassbarkeit erforderlich: Verwenden Sie Core PHP

Angenommen, Sie erstellen eine Webanwendung, die Sie an andere Unternehmen lizenzieren möchten. Wie ein ERP, CRM, Account Software oder ähnliches. Dann verwenden Sie Core PHP oder reines PHP, wie Sie es genannt haben.

Der Grund dafür ist, dass Sie Ihre Anwendung so erstellen möchten, wie Sie es möchten.

Ein bildliches Beispiel: Vergleichen Sie es mit einem Bild. Sie können von Grund auf neu zeichnen, was Sie brauchen, und auf diesem Bild aufbauen, was Sie wollen. In einem Rahmen wären schon einige Personen und Tische und Hintergründe vordefiniert, was dir nicht weiterhelfen würde, da dein Plan das Bild nicht schnell, sondern nach deinen Wünschen zeichnen soll.

Vor allem, wenn Sie von Zeit zu Zeit neue Module erstellen, möchten Sie vielleicht kein Framework haben, das Sie „hinhält“ oder Funktionalitäten bietet, die Sie möglicherweise nicht benötigen.

Vor- und Nachteile jedes Ansatzes

1) Rahmen

Vorteile:

  • Schneller bauen: Der große Vorteil ist, dass Sie schneller bauen können. In einer Welt, in der Sie Geld sparen möchten und schnell Ergebnisse erzielen müssen, ist dieser Ansatz sinnvoll. Viele Funktionalitäten wie Formulare, Sicherheitsfunktionen sind bereits verfügbar und können schnell eingebaut werden.
  • Einfacher für Junior-Entwickler: Ein Junior-Entwickler kann beim Erstellen einer neuen Webanwendung viele Fehler machen (ein neues Bild von Grund auf zeichnen), aber durch die Verwendung eines PHP-Frameworks kann er sich auf Best Practices verlassen.
  • Sicherer bauen: Unternehmens- und andere Webanwendungen sollen sicher sein. Diese Sicherheitsfunktionen sind in Laravel und anderen Technologien integriert.

Nachteile:

  • Weniger flexibel: Manchmal kann man Dinge nicht einfach von Grund auf neu machen, sondern muss auf Funktionalitäten aufbauen, die in einem bestimmten Projekt möglicherweise nicht benötigt werden.
  • Gemeinkosten: Dies schließt auch an den ersten Punkt der Flexibilität an. Möglicherweise benötigen Sie nicht alle Dinge, die mit dem Framework geliefert werden.

2) Reines PHP

Vorteile:

  • Flexibilität: Bauen Sie, was Sie wollen. Erstellen Sie ein neues PHP-Framework, das Sie bei Bedarf für andere Projekte wiederverwenden können.
  • Sie haben die Kontrolle: Du hast das Lenkrad. Machen Sie die Anwendung so schnell, wie Sie möchten, und bauen Sie eine großartige Skalierbarkeit ein.

Nachteile:

  • Mehr Zeit für die Entwicklung benötigt: Bei kleineren Anwendungen kann die Entwicklungszeit die gleiche sein wie bei Frameworks. Bei mittleren bis großen Anwendungen wird jedoch viel mehr Zeit für die Entwicklung benötigt.
  • Struktur muss eingehalten werden: Bei Laravel und ähnlichen Technologien gibt es bereits einen Best-Practice-Pfad, dem Sie in der Webentwicklung folgen können. Dies ist bei reinem PHP nicht der Fall. Hier müssen Sie Webentwicklungspraktiken befolgen, die nicht integriert sind. Sie müssen die Disziplin haben, ihnen zu folgen. Sonst landet man am sogenannten Spaghetti-Code, für den PHP keinen guten Ruf hat.

Andere Dinge zu beachten

PHP galt lange Zeit als veraltete Technologie. Vor allem Ruby on Rails wurde als tolle Alternative angesehen.

Vor allem das Spaghetti-Code-Argument von früher war ein Grund, warum viele Unternehmen diese Technologie nicht einsetzen.

Mit Laravel hat sich diese Vorstellung geändert. Die Adoptionsrate ist um ein Vielfaches gestiegen. Vor allem Zend-Entwickler sind auf Laravel umgestiegen.

Die meisten Projekte werden mit einem der Frameworks gestartet. Selten kommt nur PHP zum Einsatz.

ABER: Wenn es um Weblösungen geht, die an andere Unternehmen lizenziert werden (oder wie man es nennen würde), werden diese Lösungen oft in PHP erstellt.

PHP hat sich in den letzten Jahren weit verbreitet

Hier einige Technologien, die auf PHP oder PHP-Frameworks aufbauen:

  • Shopware: Ein Online-Shop-System, das bei mittelständischen Unternehmen in Mitteleuropa weit verbreitet ist.
  • Magento: Dieses Shopsystem basiert auf Zend und wird von mittelständischen Unternehmen weltweit eingesetzt.
  • WordPress: Wer kennt WordPress nicht? Es ist das am weitesten verbreitete Content-Management-System der Welt. Andere Beispiele sind TYPO3 , Drupal und Contao .
  • Eine Vielzahl individueller Weblösungen: In diesem Beitrag wurde es mehrfach erwähnt. Es gibt viele ERP-, CRM-, Buchhaltungs-, Marketing- und Vertriebssoftwarelösungen, die mit PHP erstellt wurden.

Fazit

Wenn Sie benutzerdefinierte Lösungen für Ihre Kunden erstellen, z. B. einen Unternehmenskunden, der eine Webanwendung zur Verbesserung seiner Prozesse benötigt, oder eine Softwarelösung für seine Marketingabteilung haben (geben Sie eine andere Abteilung ein), verwenden Sie ein PHP-Framework. Weil die Entwicklung schneller ist (was normalerweise von dieser Art von Kunden gefordert wird) und auch billiger zu entwickeln ist (was beim Verkaufsprozess hilft).

Wenn Sie eine Lösung für sich selbst erstellen, die Sie an andere Unternehmen oder Webbenutzer lizenzieren möchten. Dann fragen Sie sich: Handelt es sich eher um eine Standard-Weblösung, wie eine Online-Plattform zum Preisvergleich, oder um eine andere Standardlösung. Oder benötigen Sie ganz bestimmte Funktionalitäten, wie zum Beispiel Ihr eigenes CRM-System? Dann könnte Core PHP die bessere Lösung sein.

Was ist Ihre Erfahrung?

Einige interessante Links:
Ein guter Artikel, der PHP und den Framework-Ansatz vergleicht
Die Unterschiede in der Entwicklung mit diesen Technologien werden in diesem Blogartikel gezeigt


Der Autor: Sascha Thattil arbeitet bei Software-Developer-India.com die zur YUHIRO Gruppe gehört. YUHIRO ist ein deutsch-indisches Unternehmen, das Programmierer an IT-Unternehmen, Agenturen und IT-Abteilungen vermittelt.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.