Wil je een website maken of updaten? Moet je een WordPress of Drupal CMS gebruiken, zoals 50 zakelijke websites van %? Of ontwikkel je je eigen site op maat? Van ontwikkeltalen tot databasebeheer, wij leggen uit hoe je je project kunt voltooien met de webtechnologieën die het beste aansluiten bij jouw behoeften.
Webtechnologieën evolueren voortdurend. Sommige verdwijnen om plaats te maken voor andere. Er zijn echter een paar dingen die zeker zijn. PHP is er daar één van. Deze taal wordt volgens W3Techs gebruikt door 76,7 % van alle websites ter wereld en vormt ook de basis van populaire CMS'en zoals WordPress en Drupal.
In Frankrijk maakt meer dan de helft van alle bedrijfswebsites gebruik van een van deze twee contentmanagementsystemen, volgens een onderzoek onder 800.000 bedrijven uitgevoerd door het webbureau Kernix in 2023. In tegenstelling tot wat vaak wordt gedacht, zijn CMS'en net zo aantrekkelijk voor micro-ondernemingen en KMO's als voor grote CAC40-concerns.
De keuze van een ontwikkeltechnologie heeft invloed op veel aspecten van uw website- of webapplicatieproject. Functionaliteit, prestaties, beveiliging en ontwikkelings- en onderhoudskosten hangen er allemaal vanaf.
Aan de slag: webstandaarden
Een technologie voor webontwikkeling, ook wel bekend als een technologiestack, bestaat uit frontend- en backendtalen, een databasebeheersysteem (DBMS) en het hele ecosysteem eromheen (bibliotheken, API's, frameworks, gebruikersinterfaces, enzovoort). Maar zelfs voordat je deze vragen aanpakt wanneer je aan een project begint, is het belangrijkste om eerst de webomgeving onder de knie te krijgen. En, meer specifiek, webstandaarden.
Het is zelfs in ons belang om propriëtaire technologieën te vermijden ten gunste van webstandaarden. Anders bestaat het risico dat je in de val loopt van browsers die niet alle extensies ondersteunen... Deze standaarden zijn gedefinieerd door het W3C (World Wide Web Consortium), het internationale orgaan dat als hoofddoel heeft dit te bereiken. Browsers die standaarden en interoperabiliteit respecteren, voldoen aan de aanbevelingen van het W3C.
HTTP, het basisprotocol
Deze gestandaardiseerde technologieën omvatten communicatieprotocollen tussen de client en de server, zoals Hypertext Transfer Protocol (HTTP). Een basiskennis van hoe dit werkt is essentieel voor elk ontwikkelingswerk. Daarom zeggen we dat de eerste 'taal' die je onder de knie moet krijgen, of in ieder geval moet begrijpen, HTTP is.
Het protocol is aanzienlijk geëvolueerd sinds 1997 en HTTP/1. In 2015 introduceerde HTTP/2 multiplexing van verzoeken om het laden van webpagina's te versnellen. En omdat alle sites nu veilig zijn dankzij TLS (HTTPS), resulteert dit in extra controles en laadtijd. Dit leidde in 2018 tot de creatie van HTTP/3 om de laadsnelheid van beveiligde pagina's verder te verbeteren. Je kunt dus het beste controleren of je webserver HTTP/3 ondersteunt, of HTTP/2 als dat niet het geval is!
Aan de clientzijde (voorkant) : HTML, CSS en JavaScript, de 3 standaarden
Dit "openbare" deel van de uitwisseling tussen de client en de server is gebaseerd op drie standaardtalen:
- HTMLis een taggingtaal. Het wordt gebruikt om de inhoud van een webpagina te structureren (definiëren van een titel, paragraaf, afbeeldingen/video, links, enz.)
- CSS, een stijlbladtaal. Hiermee kunt u de webpagina opmaken
- JavaScriptde programmeertaal voor webinterfaces die interactiviteit toevoegt.
Om uw pagina aan te passen aan alle media (smartphone, tablet, groot scherm, audionavigatiesysteem, etc.) is het belangrijk om de inhoud goed te scheiden van de presentatie ervan. Voor een schermlezer gebruiken we bijvoorbeeld een tag <strong> in HTML om het belang te benadrukken zonder visuele connotatie, en in CSS om ze vakkundig te versieren.
Aan de klantzijde, de beste aanpak voor webontwikkelaars is het gebruik van de debugger of het browserontwikkelprogramma. Dit wordt gebruikt om te controleren wat er is overgebracht in HTTP, de broncode van de pagina, netwerkprestaties, stylesheets, enzovoort, en om JavaScript-programma's stap voor stap vooruit te helpen.
Aan de serverkant (back-end) : PHP is essentieel
Aan de serverkant daarentegen heb je een keur aan wapens! Aangezien het niet nodig is om een standaard webtaal te gebruiken om de applicatie te ontwikkelen, is het scala aan programmeertalen enorm... maar de drie huidige favorieten onder ontwikkelaars zijn PHP, Java en Python.. Het is allemaal een kwestie van voorkeur van de ontwikkelaar(s). Prestatie-eisen en de technische omgeving van het project kunnen de taalkeuze ook beïnvloeden.
Bij wijze van voorbeeld, PHP is erg populair voor webontwikkeling. Vooral vanwege de vele open source CMS in PHP die beschikbaar zijn zoals WordPress of Drupal. De CMS oplossing is erg gewild om zijn eenvoud en stelt je in staat om inhoud te produceren zonder dat je uitgebreide ontwikkelingsvaardigheden nodig hebt. Het enige wat je moet doen is je pagina's in HTML structureren... of zelfs sjablonen gebruiken.
Kaders en databases
Het is natuurlijk mogelijk om de volledige ontwikkeling van het project uit te voeren om iets geavanceerder, persoonlijker en aangepast aan specifieke behoeften te verkrijgen.. We gebruiken dan back-end ontwikkelingsframeworks. Ook hier biedt elke taal een breed scala aan frameworks, maar de meest gebruikte vandaag de dag zijn nog steeds :
Het is allemaal een kwestie van voorkeuren (en ervaring) van de ontwikkelaar. Het belangrijkste is om ervoor te zorgen dat je een taal en het bijbehorende framework kiest die gelijke tred houden met de marktontwikkelingen.
Tot slot hebben deze systemen een database nodig. En ook hier is er geen tekort aan opties. Er zijn twee hoofdfamilies van DBMS: SQL (Structured Query Language) en NoSQL-databases (niet te begrijpen als " Nee SQL" in plaats van niet alleen SQL). SQL-databases zijn erg wijdverspreid, maar de laatste jaren is er een verschuiving naar NoSQL. Een ander selectiecriterium kan ook een voorkeur zijn tussen (of een behoefte aan) een gelicentieerde en betaalde oplossing (Orakel, SQL-server) en een open source relationele oplossing (PostgreSQL, MySQL, MariaDB) of NoSQL (MongoDB, Cassandra).