![Symfony Symfony](https://digital-smartness.de/wp-content/uploads/2021/03/laptop-2587219_1280-678x381.jpg)
WebFramework Symfony – ein Blick auf das System
Symfony ist ein WebFramework für die Entwicklung von dynamischen Webseiten. Das System baut auf der Programmiersprache PHP auf und ist betont modular aufgebaut. Unterstützt wird die Entwicklung des Systems von der französischen Firma SensioLab.
Was ist ein WebFramework?
Ein WebFramework ist eine Softwarelösung für die Erstellung dynamischer Webseiten oder Webapplikationen. Ihnen als Entwickler werden von einem solchen Framework vorgefertigte Funktionen angeboten, die Sie nach Bedarf zusammensetzen können. Auf diese Weise lassen sich Webseiten wesentlich rascher als mit einer direkten Programmierung erstellen, was besonders für die ersten Prototypen gilt. Mit einem WebFramework haben Sie mehr Freiheit als mit einem CMS, trotzdem müssen Sie nicht jede Funktion selbst neu programmieren. Durch die Verwendung standardisierter Komponenten wird nicht nur die Entwicklung beschleunigt, die so erstellte Webseite lässt sich auch leichter warten. Das ist gerade dann der Fall, wenn sich für diese Aufgabe Projekt-externe Entwickler erst einarbeiten müssen.
Was ist Symfony?
Das WebFramework Symfony ist in der Programmiersprache PHP geschrieben und besteht aus über 60 Komponenten, die Sie nach Bedarf kombinieren können. Das System folgt dem Grundsatz, dass jede Funktion nur einmal programmiert werden sollte und verwendet in diesem Sinn bereits verfügbare PHP-Projekte. Ruby on Rails basiert auf der Programmiersprache Ruby, mit Symfony verfolgten die Entwickler die Absicht, ein analoges System auf der Basis von PHP zur Verfügung zu stellen.
Wer entwickelt Symfony?
Die Entwicklung wird von der französischen Softwarefirma SensioLabs unterstützt, wo der Chefentwickler Fabien Potencier dafür verantwortlich zeichnet. Der Name Symfony wurde beim Übergang auf ein quelloffenes System gewählt, dessen erste Version im Jahr 2005 präsentiert wurde. Seit einigen Jahren wird jedes Jahr im Mai und im November eine neue Version veröffentlicht. Auch diese Regelmäßigkeit gehört zu den zahlreichen Vorteilen des Systems.
Wo und wie wird Symfony eingesetzt?
Ein besonderer Vertrauensbeweis in die Qualität des Systems ergibt sich daraus, dass zahlreiche Content Management Systems sich zum Teil auf Komponenten von Symfony stützen. Dazu gehören etwa Drupal 8, Laravel und Silex. Eine ganze Reihe von großen online-Shops hat sich ebenfalls für Symfony entschieden. Ein Beispiel für eine andere dynamische Webseite ist Meetic, die zu den größten Datingplattformen weltweit gehört.
Vorteile von Symfony
- Das System ist einfach in der Benutzung, und zwar sowohl für Entwickler als auch für Systemadministratoren.
- Bei dem WebFramework handelt es sich um quelloffene Software, die stabil durch SensioLabs unterstützt wird. Dazu können Sie sich auf eine große Community von Entwicklern stützen, die zum Beispiel auf Stackoverflow organisiert sind.
- SensioLabs verfolgt innovative Ansätze in der Softwareentwicklung, die auch für die Entwicklung des Frameworks zum Einsatz kommen.
- Sinnvollerweise wird von den Entwicklern bei Sensiolabs der de-facto-Standard PHPUnit respektiert. Die Einhaltung dieser Konventionen macht die Einarbeitung von neuen Webentwicklern viel einfacher und schneller.
- Das System gehört von allen verfügbaren zu den am besten dokumentierten Frameworks.
- Der Betrieb des Frameworks ist nicht an eine bestimmte Datenbank gebunden. Ein Wechsel der Datenbank lässt sich mit dem Ändern einiger Parameter bewerkstelligen.
Nachteile von Symfony
- Diese beziehen sich darauf, dass mehr Flexibilität und Freiheit notwendigerweise mit einigem zusätzlichem Aufwand verbunden sind. Für weniger komplexe Projekte ist dieses Framework möglicherweise ein Overkill, da Sie dann ohne zwingende Notwendigkeit eine relativ steile Lernkurve bewältigen müssen.
- Ein analoger Punkt gilt für die Anforderungen an den Hosting Server. Ein größeres System wie Symfony braucht entsprechend mehr Rechenleistung als eine einfachere Lösung.
Kosten
Da das System von der betreuenden Firma quelloffen zur Verfügung gestellt wird, fallen für das Programmpaket selbst keine Kosten an. Indirekt können natürlich Training und Support Kosten verursachen, die von der jeweiligen Anbieterfirma abhängen.