Dashboard

Symfony framework

Een applicatie laten maken in het Symfony-framework? Benieuwd naar de voor- en nadelen? We vertellen je graag de mogelijkheden van Symfony en een aantal voorbeelden van applicaties.

Wat is Symfony?

Symfony is een open-source PHP framework voor het bouwen van geavanceerde webapplicaties en API’s. 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.

symfony framework logo

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.

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.

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 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.

Afbeelding voor Timo

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

Timo Bakx, backend developer bij Linku

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.

timo als spreker bij symfony conferentie
Timo spreekt over Dependency Injection tijdens SymfonyCon Amsterdam 2019

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.

Voorbeelden Symfony applicaties

API-driven ontwikkeling op basis van Symfony

Bekijk de case van Visser Contactlenzen
de webapplicatie van visser
Next lineVan papier naar digitaal met een webapplicatie voor Visser Contactlenzen

Admin panel en website backend op basis van Symfony

Bekijk de case van Becruit
Afbeelding voor ‘Be your own recruiter’ op vacatureplatform Becruit
Next line‘Be your own recruiter’ op vacatureplatform Becruit

Een backend API op basis van Symfony

Bekijk de case van Walker Fire
walker fire inspectie app
Next lineInspecties brandveiligheid beter én veiliger met een kostenbesparende app

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 Ionic, Angular en React Native om tot complete oplossingen te komen.

Het werken met het framework geeft ons bovendien plezier in ons werk! We zijn dan ook benieuwd of we jou kunnen helpen met de ontwikkeling van een oplossing. We vertellen je graag vrijblijvend wat wij voor je kunnen betekenen.

Neem contact op Next line
thomas linku

Direct contact? Thomas beantwoordt graag je vragen