Core PHP versus PHP Framework: wat moet je gebruiken?

Ik bouw sinds 2012 Core PHP- en PHP-frameworkteams in India. Hier mijn ervaring:

1) Kleine tot middelgrote webapplicaties: gebruik een PHP-framework

Kleine tot middelgrote webapplicaties hebben meestal een specifiek doel, zoals:

  • prijzen vergelijken en de beste prijs tonen
  • verschillende producten tonen en gebruikers deze laten doorzoeken
  • registreren voor een bepaalde service en gebruikers de cursussen en producten laten downloaden
  • een boeking maken voor kamers of taxi’s of iets dergelijks
  • enz.

Het aantal gebruikers zal in deze toepassingen rond de 100 tot 1000 per dag liggen.

Deze criteria zullen gelden voor ongeveer 90 procent van alle webapplicaties.

Voor hen kun je een PHP-framework gebruiken. Ik zou een van de volgende voorstellen:

  • Laravel: het modernste PHP-framework. Het is gemaakt in 2011 en heeft sindsdien een ongelooflijke acceptatie door webontwikkelaars gezien.
  • Symfonie: dit is wat je een webframework op bedrijfsniveau zou noemen. Het wordt meestal gebruikt door IT-afdelingen van middelgrote en grote bedrijven, die kleine en middelgrote platforms bouwen voor hun klanten of hun andere afdelingen (marketing, verkoop, HR, boekhouding, enz.)
  • Zend: is een ander raamwerk op ondernemingsniveau, dat al vele jaren beproefd en getest is.

Nieuwe projecten worden meestal gestart met Laravel. Maar de meeste projecten uit het verleden waren gestart in Symfony of Zend, dus ook hier zie je veel kansen.

Er zijn andere frameworks zoals CodeIgniter, CakePHP en YII. Ze worden niet zo veel meer gebruikt. Maar toch zijn er webontwikkelaars die deze technologieën gebruiken.

2) Maximale flexibiliteit of maximale aanpasbaarheid nodig: gebruik Core PHP

Stel dat u een webapplicatie bouwt, die u van plan bent aan andere bedrijven in licentie te geven. Zoals een ERP, CRM, Account Software of iets dergelijks. Gebruik dan Core PHP of pure PHP, zoals je het noemde.

De reden hiervoor is dat u uw applicatie wilt bouwen zoals u dat wilt.

Een figuurlijk voorbeeld: vergelijk het met een plaatje. Je kunt helemaal opnieuw tekenen wat je nodig hebt en bovenop die afbeelding bouwen wat je maar wilt. In een raamwerk zouden sommige mensen en tafel en achtergronden al vooraf zijn gedefinieerd, wat u niet zou helpen, omdat uw plan niet is om de afbeelding snel te tekenen, maar volgens uw wensen.

Vooral als je van tijd tot tijd nieuwe modules bouwt, wil je misschien geen raamwerk hebben dat je “tegenhoudt” of functionaliteiten biedt die je misschien niet nodig hebt.

Voor- en nadelen van elke benadering

1) Kader

Voordelen:

  • Sneller bouwen: Het grote voordeel is, dat u sneller kunt bouwen. In een wereld waar u geld wilt besparen en snel resultaten wilt boeken, is deze aanpak logisch. Veel functionaliteiten, zoals formulieren, beveiligingsfuncties zijn al beschikbaar en kunnen snel worden ingebouwd.
  • Makkelijker voor junior ontwikkelaars: Een junior ontwikkelaar kan veel fouten maken bij het bouwen van een nieuwe webapplicatie (vanaf het begin een nieuw plaatje schilderen), maar door een PHP-framework te gebruiken, kan hij of zij vertrouwen op best practices.
  • Veiliger bouwen: Enterprise- en andere webapplicaties worden verondersteld veilig te zijn. Deze beveiligingsfuncties zijn ingebouwd in Laravel en andere technologieën.

nadelen:

  • Minder flexibel: Soms kun je niet zomaar dingen vanaf nul doen, maar moet je bouwen op functionaliteiten die in dat specifieke project misschien niet nodig zijn.
  • overhead: Dit sluit ook weer aan op het eerste punt van flexibiliteit. Mogelijk hebt u niet alle dingen nodig die bij het raamwerk worden geleverd.

2) Pure PHP

Voordelen:

  • Flexibiliteit: Bouw wat je maar wilt. Bouw een nieuw PHP-framework dat u indien nodig kunt hergebruiken voor andere projecten.
  • Jij hebt de controle: Jij hebt het stuur. Maak de applicatie zo snel als je wilt, bouw er een geweldige schaalbaarheid in.

nadelen:

  • Meer tijd nodig voor ontwikkeling: Voor kleinere applicaties kan de ontwikkeltijd hetzelfde zijn als bij frameworks. Maar als het gaat om middelgrote tot grote applicaties, is er veel meer tijd nodig voor ontwikkeling.
  • Structuur moet worden gevolgd: In Laravel en vergelijkbare technologieën is er al een best-practice-pad dat u kunt volgen in webontwikkeling. Dit is niet het geval voor pure PHP. Hier moet u webontwikkelingspraktijken volgen die niet ingebouwd zijn. Je moet de discipline hebben om ze te volgen. Anders krijg je de zogenaamde spaghetticode waarvoor PHP geen goede reputatie heeft.

Andere dingen om te overwegen

Lange tijd werd PHP gezien als een verouderde technologie. Vooral Ruby on Rails werd gezien als een geweldig alternatief.

Vooral het spaghetticode-argument van vroeger was een van de redenen waarom veel bedrijven terugdeinzen voor het gebruik van deze technologie.

Met Laravel veranderde dit idee. De acceptatiegraad is veelvoudig toegenomen. Vooral Zend-ontwikkelaars zijn overgestapt op Laravel.

De meeste projecten worden gestart met een van de frameworks. Het komt zelden voor dat alleen PHP wordt gebruikt.

MAAR: Als het gaat om weboplossingen die in licentie zijn gegeven aan andere bedrijven (of krimpfolie-software, zoals je het zou noemen), worden die oplossingen vaak gemaakt in PHP.

PHP is de laatste jaren wijdverbreid geworden

Hier enkele technologieën die zijn gebouwd op PHP of PHP-frameworks:

  • Winkelbenodigdheden: Een online winkelsysteem dat veel wordt gebruikt bij middelgrote bedrijven in Centraal-Europa.
  • Magento: Dit winkelsysteem is gebaseerd op Zend en wordt wereldwijd door middelgrote bedrijven gebruikt.
  • WordPress: Wie kent WordPress niet? Het is het meest gebruikte Content Management Systeem ter wereld. Andere voorbeelden zijn: TYPO3 , Drupal en Contao .
  • Een groot aantal maatwerk weboplossingen: In dit bericht is het al meerdere keren genoemd. Er zijn veel ERP, CRM, Accounting, Marketing, Sales-software oplossingen gebouwd met PHP.

Conclusie

Als u een aantal aangepaste oplossingen voor uw klanten bouwt, zoals een zakelijke klant, die een webtoepassing nodig heeft om hun processen te verbeteren of een softwareoplossing voor hun marketingafdeling heeft (vul een andere afdeling in), gebruik dan een PHP-framework. Omdat de ontwikkeling sneller zal gaan (wat meestal een vereiste is bij dit soort klanten) en ook goedkoper zal zijn om te ontwikkelen (wat het verkoopproces ten goede komt).

Als u een oplossing voor uzelf bouwt, die u in licentie wilt geven aan andere bedrijven of internetgebruikers. Stel jezelf dan de volgende vraag: is het een meer standaard weboplossing, zoals een online platform om prijzen te vergelijken, of een andere standaardoplossing. Of heb je een heel specifieke set aan functionaliteiten nodig, zoals je eigen type CRM-systeem? Dan is core PHP wellicht de betere oplossing.

Wat is jouw ervaring?

Enkele interessante links:
Een goed artikel dat PHP en de framework-benadering vergelijkt
Het verschil in ontwikkeling met behulp van deze technologieën wordt getoond in dit blogartikel


De auteur: Sascha Thattil werkt bij Software-Developer-India.com, een onderdeel van de YUHIRO Group. YUHIRO is een Duits-Indiase onderneming die programmeurs levert aan IT-bedrijven, agentschappen en IT-afdelingen.

Geef een reactie

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.