Laravel und Lumen - ein PHP-Framework-Vergleich

07. Dezember 2016

Veröffentlicht in:

Webentwicklung

Laravel und Lumen - ein PHP-Framework-Vergleich

Full-Stack-Framework oder Microframework

PHP-Frameworks erfreuen sich bei Webentwicklern einer immer größeren Beliebtheit. Ein Vorreiter dabei ist das Framework Laravel. Es zählt zu den wohl bekanntesten und beliebtesten Frameworks, die derzeit verwendet werden. Laravel wird als ein Full-Stack Framework klassifiziert. Lumen, eine abgespeckte Version von Laravel, wird hingegen den Micro-Frameworks zugeordnet. Doch was zeichnet die beiden Produkte eigentlich aus? Welches der beiden Systeme ist besser? Wann ist welches der beiden Systeme zu empfehlen?

Was genau ist ein PHP-Framework?

Ein Webframework ist eine Software, ähnlich wie ein Content Management System für Webseiten, das Entwicklern dabei hilft, PHP-Anwendung zu entwickeln. Sie bündeln dabei je nach Umfang eine Vielzahl von technischen Komponenten, welche die initiale Projekteinrichtung deutlich beschleunigt. Die mitgebrachten Funktionalitäten müssten ansonsten bei jedem Projekt individuell programmiert oder durch Bibliotheken eigenhändig zusammengestellt und auf Kompatibilität geprüft werden. Dem Entwicklerteam wird damit unnötige Arbeit genommen und schafft damit mehr Zeit für die individuelle Produktentwicklung. Ein weiterer Vorteil: die Frameworks werden sehr gut getestet und stetig Sicherheits- und Funktionsupdates unterzogen. Dies führt zu mehr Sicherheit und spart Betriebskosten einer Anwendung im Livebetrieb. Kurzum, der Einsatz eines Framework löst mehrere Probleme:

  • Die Kosteneffizienz des Backend-Entwicklerteams kann gesteigert werden.
  • Die verwendeten Komponenten sind ideal aufeinander abgestimmt.
  • Es trägt zu einem zuverlässigen, sicheren und skalierbaren Produkt bei.
  • Es ermöglicht die effiziente Weiterentwicklung des Produkts.

Unterschiede zwischen Full-Stack und Micro-Webframeworks

Im Falle von PHP-Frameworks, wie auch bei manchen weiteren, ähnlichen Produkten, unterteilen sich diese in Full-Stack sowie in Micro-Frameworks. Ein Full-Stack Framework ist ein Framework, das versucht dem Entwickler das höchste Maß an Funktionalität sowie einen maximalen Funktionsumfang zu bieten. Es handelt sich bei diesen also um ein großes Paket, das keine Wünsche offen lässt. Server Datenbank Management, Benutzer- und Sessionverwaltung, Template-Engine oder Prozesse zur Steuerung von Formularen. Es gibt keine Aufgabe, denen ein solches Full-Stack Framework nicht gewachsen ist. Das führt jedoch auch dazu, dass diese Programme zumeist sehr groß und komplex sind. Es gibt viel zu lernen und viele Funktionen und Möglichkeiten werden unter Umständen gar nicht erst gebraucht.

Hier kommt ein Micro-Framework ins Spiel. Anders als ein Full-Stack System, versucht ein Micro-Framework nur das absolut notwendige an Funktionen und Möglichkeiten für den Entwickler zur Verfügung zu stellen. Alternativ konzentriert es sich auch auf einen ganz speziellen Bereich. In den ein umfangreicheres System überdimensioniert wäre und damit zu Performance-Problemen kommen kann. Das macht die Micro Frameworks zu einem idealen Tool, wenn es um die Entwicklung von kleinen oder vielen identischen bzw. ähnlichen Programmen geht. Trotz dieser Möglichkeiten, eignen sich Micro-Frameworks jedoch nur bedingt für wechselnde Entwicklungsumgebungen, da für jede neue Anwendung, für die das Framework nicht entwickelt wurde, zunächst die passende Erweiterung gefunden und installiert werden muss. Gibt es dann zufällig genau diese Erweiterung nicht, dann ist häufig der Nutzen eines wieder anderen Micro-Frameworks oder aber der Umstieg auf ein Full-Stack Framework unumgänglich.

Die Unterschiede zwischen Lumen und Laravel

Mit dem oben genannten Vorwissen im Hinterkopf ist es nun einfacher, einen Vergleich zwischen den beiden Frameworks Lumen und Laravel vorzunehmen und beide Programme genauer unter die Lupe zu nehmen. Dabei fällt primär erst einmal auf, dass es sich bei Lumen um ein leichtgewichtiges und sehr effizientes Micro-Framework handelt. Es basiert auf einigen Komponenten von Laravel, welches seinerseits aber ein Full-Stack-Framework ist. Da Lumen die selbe Syntax wie Laravel nutzt, ist auch ein Upgrade des Web-Frameworks auf den großen Full-Stack Bruder problemlos möglich.

Lumen ist ein sehr spezialisiertes und vor allem schnelles Framework, dem viele ressourcenintensive Funktionen von Laravel entnommen wurden. Es ist vor allem auf das Design von Micro-Diensten und auf die API-Bereitstellung spezialisiert. In diesem Bereich spielt Lumen seine Stärken auch komplett aus. Es beinhaltet alle notwendigen Funktionen, für diese Aufgaben. Auf der anderen Seite wurden jedoch viele Funktionen eingespart: Dinge wie HTTP Sessions, Cookies oder Templating sind für die API Entwicklung und für die Arbeit mit Micro-Diensten unnötig und wurden daher bei Lumen entfernt. Wichtige Funktionen, wie etwa Routing, Logging, Caching, oder die Queues sind hingegen erhalten.

Im Vergleich zu Laravel setzt Lumen also vor allem auf Geschwindigkeit und Performance. Laravel auf der anderen Seite ist als Full-Stack Framework bestens auf jede Art von Problem vorbereitet. Die meisten Funktionen und Optionen sind bereits von Hause aus vorhanden. Diese Vielfältigkeit hat jedoch auch ihren Preis. So ist Laravel nicht nur deutlich größer beim Download, sondern agiert generell deutlich langsamer als der kleine Bruder Lumen.

Laravel oder Lumen - Funktionsumfang oder Systemperformance

Wie Sie aus den oben genannten Informationen erkennen, ist es nicht wirklich möglich, Lumen und Laravel direkt miteinander zu vergleichen, da es sich bei beiden System um zwei völlig verschiedene Dinge handelt, die ein völlig verschiedenes Aufgabenfeld haben. Zusammenfassend kann man jedoch folgendes sagen: Sind sie auf der Suche nach einem Framework, dass Ihnen die API Entwicklung möglichst einfach macht und das vor allem schnell und leichtgewichtig sein soll, dann ist Lumen unschlagbar und sicherlich Ihr Kandidat. Sind Sie hingegen ein Entwickler, der an einem großen Spektrum an Produkten arbeitet und sehen Sie sich daher einem häufig und / oder schnell wechselndem Arbeitsumfeld ausgesetzt, dann ist Laravel das Programm Ihrer Wahl. Es ermöglicht Ihnen das volle Spektrum an Hilfen und Möglichkeiten bei der PHP-Entwicklung, auf Kosten von Performance und Geschwindigkeit.

Sie haben Fragen zu Laravel und Lumen? Sprechen Sie uns an! Bei mindtwo in Bonn beraten wir Sie gerne bei Ihrem Webprojekt.

Können wir weiterhelfen?

Sie haben ein spannendes Projekt und möchten mit uns zusammenarbeiten? Kontaktieren Sie uns jetzt!

Kostenloses Erstgespräch

Bildnachweis/e: © feferoni - photodune.net