Sluit Logo DX Solutions

7 redenen om Symfony te ontdekken

8 september 2016 - Niels
De vraag is niet welk framework het beste scoort, maar wel: waarom kiezen om al dan niet met Symfony te werken?

De vraag welk PHP framework of CMS het beste is, blijft een groot discussiepunt in onze branche. Deze blogpost gaat niet over welk framework het beste scoort, maar wel over onze keuze om al dan niet met Symfony te werken.

Nog voor de opstart van een project steken we met een aantal developers de koppen samen om de technologieën en structuur van de webapplicatie te bespreken en stellen we ons enkele vragen:

  • Gaat het over een eenvoudige website, web applicatie, mobiele applicatie, koppelingen met andere systemen, … ?
  • Complexe interne logica?
  • Is de snelheid van de website een grote factor?
  • Grootte (omvang) van de website of applicatie
  • Gemiddeld aantal bezoekers van de website
  • ….

 

Bij DX-Solutions focussen we ons op grotere webapplicaties en minder op kleinere websites. Voor deze complexe webapplicaties gaan we vaak gebruiken maken van het PHP framework Symfony. In deze blogpost deel ik graag met jullie wanneer we Symfony gebruiken en wanneer niet.

 

Situaties waarin je geen Symfony moet gaan gebruiken:

Website versus web applicatie

Er is een verschil tussen het bouwen van een “website” en het bouwen van een “web applicatie”. Wanneer je een vrij eenvoudige “content-driven” website bouwt zonder al te veel ingewikkelde logica of functionaliteiten, zou ik adviseren om een andere optie te kiezen zoals bijvoorbeeld Wordpress of een “microframework” zoals Silex.  Want hiervoor is Symfony ietwat overkill.  Symfony zou nog steeds prima kunnen werken, maar is in dit geval misschien niet de beste optie.

 

Project met korte deadline zonder Symfony kennis

Wanneer je een project start met een korte deadline en je niet de  tijd hebt om een framework zoals Symfony te leren kennen. In zo’n geval kan het behalen van de deadline belangrijker zijn tegenover de onderhoudskost die zal oplopen door een “legacy framework” te gebruiken of zelfs geen framework.

 

7 goeie redenen om Symfony wel te gebruiken:

1. Documentatie

De documentatie staat ver boven alle andere PHP frameworks die er op de markt zijn. Het wordt geüpdatet bij iedere release en alle versies zijn steeds eenvoudig te vinden op hun website.

 

2. “Pluggable library support”

Er zijn heel veel “bundles” voor bijna iedere “third party service” die je ooit zou willen integreren. Benieuwd? Hier vind je een overzicht van veel gebruikte “bundles”. Helaas is de kwaliteit en de documentatie niet altijd optimaal. Deze bundles zijn bijna altijd open source en worden dus onderhouden door de community.

 

3. Code testen in Symfony

Het schrijven van code die gemakkelijk getest kan worden is één van de belangrijkste doelstellingen van Symfony. Het ontwerp is sterk gericht op het triggeren van ontwikkelaars om modulaire code te schrijven die eenvoudig kan getest worden.

 

4. “Long term support releases”

Op deze pagina vind je een overzicht van hun “release” planning. Wanneer je een webapplicatie aan het maken bent die voor lange tijd moet ondersteund worden, dan kan je erop vertrouwen dat jouw versie van Symfony eveneens voor lange tijd kan ondersteund worden.

 

5. “A history of not making huge backwards compatibility breaks”

De laatste keer dat er een grote “backwards compatibility break” was van Symfony 1.4 naar Symfony 2.0 in 2010. Deze update was noodzakelijk omdat de fundamenten van de 1.4 architectuur zeer gebrekkig waren. In de laatste 6 jaren waren er veel minder “backwards compatibility breaks” en eventuele problemen bij het updaten naar een nieuwe versie werden vlug opgelost

.release-process

 

6. Trendsetter

Symfony composer

Symfony is min of meer de trendsetter in de PHP gemeenschap. Het was één van de eerste PHP frameworks die gebruik maakte van de “dependency manager” Composer.

 

7. Leuk om mee te werken

Symfony is gewoon aangenaam om mee te werken. De eerste indruk kan overweldigend lijken als je niet bekend bent met de verschillende componenten waarop Symfony gebouwd is. Maar die fase gaat snel voorbij. Met zeer goede documentatie, grote community support via blogs en artikelen en wat oefening kan je uiterst productief werken met Symfony!