Symfony

Een applicatie laten maken in het Symfony-framework? Benieuwd naar de voor- en nadelen? Ontdek de mogelijkheden van Symfony en enkele voorbeelden.
/>
Symfony · Symfony

In een notendop

Symfony is een open-source webapplicatie framework geschreven in de programmeertaal PHP.

icon

Eerste release: 18 oktober 2005

icon

Ontwikkeld door: Fabien Potencier (SensioLabs)

icon

Programmeertalen: o.a. PHP, HTML, CSS, JavaScript

icon

Integraties: o.a. MySQL, PostgreSQL, SQLite en Oracle

icon

Voorbeeld applicaties:scroll naar ↓

icon

Officiële website:Symfony.com

Wat is Symfony?

Symfony is een open-source PHP framework voor het bouwen van geavanceerde webapplicatiesAPI’s en middleware. Een framework kun je zien als het skelet van een applicatie. Het is de taak van ontwikkelaars om daar iets moois omheen te bouwen. Om ze daarbij te helpen biedt Symfony ook een rijke verzameling aan PHP-componenten.

logo van symfony

Op 18 oktober 2005 werd de eerste versie van Symfony (soms verkeerd geschreven als Symphony) uitgebracht door het Franse bedrijf SensioLabs. Geïnspireerd door het Spring-Framework is het doel van Symfony altijd geweest om het ontwikkelproces van webapplicaties te versnellen. Daardoor is het framework goed geschikt voor het maken van complexe bedrijfskritische webapplicaties. Inmiddels zijn er dan ook duizenden Symfony-applicaties gerealiseerd die bedrijven helpen in hun digitale transformatie. In november 2019 werd versie 5 van Symfony gelanceerd.

”Symfony heeft een grote gemeenschap aan bedrijven en developers opgebouwd die de beschikbare code gebruiken en verbeteren.”

Timo
Timo Bakx
backend developer bij Linku

Waarom een framework?

Een framework als Symfony is als een bouwmarkt. Je hebt voorgebouwde onderdelen zoals planken en scharnieren – gemaakt door mensen die goed zijn in hout- en metaalbewerking. Je moet zelf de onderdelen uitzoeken, uitmeten en in elkaar zetten. De kwaliteit van het eindproduct is dus ook afhankelijk van de materialen die je kiest en de vaardigheid van de klusser. Aangezien je veel zelf in de hand hebt, heb je veel keuze- en uitbreidingsvrijheid.

Wanneer je werkt zonder framework (vanilla PHP), is het alsof je werkt in een hout- en metaalwerkplaats. Je hebt alleen ruwe materialen en gereedschap. Je moet dus zelf planken zagen uit een boom en scharnieren maken door metaal te smeden. Dat is veel meer werk en je moet wel heel goed zijn, wil je dezelfde kwaliteit leveren als de bouwmarkt. De keuze voor een framework als Symfony is daarom snel gemaakt.

Voordelen van Symfony

Het Symfony-framework biedt meerdere voordelen in de ontwikkeling van webapplicaties en apps.

screenshots van walker fire

1. Snelle ontwikkeling

Het hoofddoel van Symfony is om het ontwikkelproces te versnellen. Dit doel wordt zeker getroffen en dat is direct een van de grootste voordelen van het framework. Met Symfony boeken ontwikkelaars snelle resultaten vergeleken met vanilla PHP en andere PHP-frameworks. Het is bijvoorbeeld makkelijk om code te hergebruiken. Zo kunnen ontwikkelaars zich beter concentreren op de unieke kernfunctionaliteiten van een webapplicatie.

De beschikbaarheid van Components en Bundles versnellen het ontwikkelproces.  Components zijn herbruikbare standaardfunctionaliteiten die het werk van ontwikkelaars gedeeltelijk wegnemen en ze dus sneller op weg helpen. Bundles zijn een soort Components-pakketten om een specifiek applicatie-onderdeel, zoals routing of authenticatie, te integreren in je applicatie.

Hoe snel een project kan worden opgeleverd hangt natuurlijk sterk af van de scope. In de praktijk biedt het Symfony-framework wel mogelijkheden om een minimum viable product (MVP) op te leveren in 6 tot 8 weken. Dit maakt het een interessante keuze voor bedrijven die snel een idee op de markt willen brengen en daarna willen uitbreiden.

2. Flexibiliteit

Ontwikkelaars hebben volledige controle over het framework wat de ontwikkeling van unieke functionaliteiten goed mogelijk maakt. Er zijn weinig scenario’s waarin Symfony geen passende oplossing biedt. Symfony leent zich dan ook voor zowel simpele als complexe applicaties. Dit maakt het framework naast flexibel ook zeer toekomstbestendig. Een applicatie kan meegroeien met een business.

De flexibiliteit van Symfony komt ook terug in de toegankelijkheid van het framework. Zowel nieuwe als ervaren ontwikkelaars kunnen hun ei erin kwijt. Dit maakt het een interessant framework voor teamgebaseerde projecten. Symfony maakt ontwikkelen leuk voor iedereen.

3. Snelheid en optimalisatie

Symfony gebruikt minder geheugen dan andere frameworks. Webapplicaties laten zich daardoor goed optimaliseren en blijven goed bruikbaar bij beperkte computerkracht. Dit maakt het een uitstekende keuze voor applicaties met een bedrijfskritische rol en applicaties die op uiteenlopende platformen worden gebruikt.

4. Grote community

Als open-source oplossing ligt de kracht van Symfony mede in de grote community. Als je vastloopt tijdens het coderen, is er altijd hulp te vinden van andere PHP-ontwikkelaars in de wereld. De vele forums en handleidingen helpen ontwikkelaars op weg, zodat het wiel niet altijd opnieuw uitgevonden hoeft te worden. De community draagt ook bij aan het maken en verspreiden van Bundles, wat het werken met het framework voor iedereen makkelijker maakt.

Op het moment van schrijven zijn er meer dan 2500 personen die officieel hebben bijgedragen aan de code van Symfony. Ook Linku-werknemer Timo draagt zijn steentje bij. Hij heeft in een blog beschreven waarom het bijdragen aan open source (zoals Symfony) waardevol is.

5. Goede documentatie

Buiten de kracht van de community is de officiële documentatie van Symfony ook prima. Vele frameworks en andere digitale technieken worden geplaagd door onvolledige en gedateerde documentatie. Symfony wordt daarentegen vaak geprijsd vanwege de duidelijke en goed gestructureerde informatie die op elk moment beschikbaar is. De documentatie is behapbaar, actueel en voorzien van voldoende voorbeeldmateriaal.

6. Makkelijk testen

Symfony biedt een eigen testing library om unit en functional tests te schrijven die automatisch inhaken op diverse onderdelen van het framework. Dit maakt het schrijven van tests voor Symfony-applicaties een fluitje van een cent. Daarnaast zijn er door het open karakter van het framework natuurlijk ook altijd mogelijkheden om andere testframeworks te gebruiken, zoals het veelgebruikte PHPUnit en Behat. Bij Linku maken we, afhankelijk van het project, altijd gebruik van één of een combinatie van deze drie.

7. Commerciële ondersteuning

Ondanks dat Symfony middels een open-source licentie door iedereen gratis kan worden gebruikt, wordt het framework commercieel gesteund door de bedenker SensioLabs. Het bedrijf draagt bij aan de groei van het framework met het aanbieden van tutorials en certificatieprogramma’s. Ook steunt Sensiolabs de community als sponsor van o.a. SymfonyCon, een conferentie die we bij Linku graag bijwonen.

8. Stabiel en betrouwbaar

Symfony heeft sinds 2005 een goede reputatie opgebouwd als het gaat om stabiliteit en betrouwbaarheid. SensioLabs ondersteunt nieuwe versies voor een periode tot 3 jaar en als het gaat om veiligheidszaken langer op aanvraag. Oudere versies blijven ook stabiel doordat compatibiliteit gegarandeerd blijft. Zo kun je dus uitgaan van een stabiele en veilige oplossing ongeacht de versie die je gebruikt. Ook andere platformen als Magento, Drupal en EZ Publish vertrouwen het framework en gebruiken Symfony-componenten in hun eigen frameworks.

Nadelen van Symfony

Ondanks de vele voordelen is het framework niet de beste oplossing in elke situatie. Andere populaire frameworks winnen met name op het gebied van eenvoud.

Niet de simpelste oplossing

Symfony wordt vaak tegenover het PHP-framework Laravel geplaatst. Symfony legt het in deze strijd af als het gaat om de eenvoud van ontwikkeling. Laravel is makkelijker om te leren en vereist minder bouw- en configuratietijd. Dat maakt het framework geschikt voor producten die snel opgeleverd moeten worden.

Tegenover Drupal is Symfony ook een minder eenvoudige keuze. Drupal biedt een volledig CMS waarmee je start met een aantal kernfunctionaliteiten. Deze breid je uit aan de hand van modules. Een ontwikkelaar is dus met name aan het configureren en minder aan het bouwen. Dit maakt het ook een eenvoudigere en snellere oplossing.

Voor complexe bedrijfskritische applicaties blijft Symfony wel vaak de beste oplossing. De schaalbaarheid en flexibiliteit is groter in vergelijking met Laravel en Drupal. Ook de toekomst van het framework is beter voorspelbaar dankzij de duidelijke roadmap.

Symfony app maken

Bij Linku zien we veel voordelen in het gebruik van Symfony bij de ontwikkeling van robuuste bedrijfskritische webapplicaties. Het framework bespaart tijd, is betrouwbaar en heeft een goed toekomstperspectief.

We hebben inmiddels dan ook veel ervaring in het ontwikkelen van webapplicaties en API’s op basis van Symfony. We combineren het framework vaak met met React NativeIonicAngular om tot complete oplossingen te komen.

Het werken met Symfony geeft ons bovendien plezier in ons werk!

Vragen?
Timo
Timo
Timo

Aan de slag met Symfony?

Wil jij een product maken op basis van Symfony? Of wil je meer weten over de mogelijkheden van deze techniek? Neem dan contact op.

Stuur een berichtOf bel: 024 3000 316

Meer technieken

Ontdek andere technieken die we toepassen in het ontwikkelen van apps, webapplicaties en websites.

react native logo

React Native

Open-source framework voor het ontwikkelen van apps, maar ook websites en applicaties.

Ontdek React Native
Sanity icon

Sanity

Open-source headless cms voor het ontwikkelen van websites, apps en applicaties.

Ontdek Symfony
API-koppelingen icon

API-koppelingen

Digitaliseren van informatiestromen. Met API-koppelingen laat je software met elkaar communiceren.

Ontdek API-koppelingen
OpenAI icon

OpenAI

Krachtige AI voor diverse toepassingen, van tekst- en beeldgeneratie tot data-analyse.

Ontdek OpenAI