webontwikkeling is niet slechts één ding. Het omvat meerdere vaardigheden, en er zijn verschillende soorten carrières binnen de webontwikkelingsruimte. Drie vaak gebruikte termen zijn ‘front-end’, ‘back-end’ en ‘full-stack’. Hier zijn de belangrijkste verschillen tussen de drie.
Front-end webontwikkeling
Front-end ontwikkeling, hoewel de componenten ervan altijd veranderen, heeft in wezen betrekking op de naar buiten gerichte delen van een website of webapplicatie. In de kern houdt front-end ontwikkeling in HTML, CSSen JavaScript:
- HTML: HyperText Markup Language, of HTML, is het belangrijkste structurele onderdeel van alle websites op internet. Zonder dit kunnen webpagina's niet bestaan.
- CSS: CSS voegt stijl toe aan HTML. Ik gebruik graag de analogie dat HTML als een gezicht is en CSS als de make-up.
- JavaScript: JavaScript, of JS, is de afgelopen jaren geëvolueerd. Met betrekking tot front-end ontwikkeling is JS belangrijk omdat het helpt webpagina's interactief te maken.
De front-end wordt geassocieerd met lay-out- en ontwerpprincipes, maar front-end-ontwikkelaars zijn niet noodzakelijkerwijs ontwerpers. Kortom, front-end-ontwikkelaars construeren het uiterlijk: de websitepagina's die gebruikers zien. Dit betekent dat de front-end ontwikkelaar rekening moet houden met de leesbaarheid en bruikbaarheid van de site en/of applicatie. Bovendien draait de front-end op de client (dat wil zeggen de lokale computer van de gebruiker), in de meeste gevallen de webbrowser. En informatie wordt niet aan de klantzijde opgeslagen.
Back-end webontwikkeling
Back-end webontwikkeling is wat er achter de schermen gebeurt. De back-end maakt de front-end-ervaring mogelijk.
Om het u gemakkelijk te maken, kunt u de voorkant beschouwen als onderdeel van de ijsberg boven het water. Het is wat de gebruiker ziet: de strak ogende site. De achterkant is de rest van het ijs; het is niet zichtbaar voor de eindgebruiker, maar het is het meest fundamentele element van een webapplicatie. De back-end draait op de server, of, zoals het vaak wordt genoemd, ‘server-side’.
In tegenstelling tot de front-end-ontwikkeling (die voornamelijk HTML, CSS en JavaScript gebruikt), kan de back-end-webontwikkeling vertrouwen op een reeks talen en frameworks.
Een paar populaire talen gebruikt op de back-end zijn onder meer:
- Robijn (vaak gebruikt in combinatie met het Rails-framework - AKA Ruby on Rails)
- Python (dat vaak wordt gebruikt met het Django-framework aan de backend)
- PHP (het populaire WordPress CMS gebruikt PHP in de back-end - PHP heeft een paar populaire frameworks, waaronder Laravel)
- Knooppunt.js (wordt steeds populairder - dit is een back-endomgeving voor webapps gebouwd met JavaScript)
Om grootschalige websites en webapplicaties te laten werken, is het meer dan een back-endtaal en -framework. Alle informatie op een website of applicatie moet ergens worden opgeslagen.
Dit is waar databases in beeld komen. Back-end-ontwikkelaars behandelen deze ook.
Populaire databases zijn onder meer:
- MySQL
- PostgreSQL
- MongoDB
- En anderen
Doorgaans vereisen bepaalde back-endtalen/frameworks een bepaalde database. Het MEAN full-stack-framework vereist bijvoorbeeld MongoDB.
Naast het kennen van een back-endtaal/framework en het draaien van databases, moeten back-endontwikkelaars ook inzicht hebben in de serverarchitectuur.
Door een server op de juiste manier in te stellen, kan een site snel werken, niet crashen en geen fouten geven aan gebruikers. Dit valt onder het domein van de back-endontwikkelaar, omdat de meeste fouten aan de achterkant optreden en niet aan de voorkant.
Volledige stapel
Fullstack is de combinatie van zowel de frontend als de backend. Een full-stack ontwikkelaar is een alleskunner. Zij zijn verantwoordelijk voor alle ontwikkelingsniveaus, van hoe de server is ingericht tot de ontwerpgerelateerde CSS.
Tegenwoordig komt er zoveel kijken bij webontwikkeling dat het bijna onmogelijk is om beide kanten op te gaan. Hoewel veel mensen kunnen beweren dat ze full-stack zijn, of dat in feite ook zijn, richten ze zich doorgaans nog steeds meer op één kant: de client of de server.
Bij kleinere bedrijven/startups is het waarschijnlijker dat één persoon verantwoordelijk is voor alle kanten van het webontwikkelingsspectrum. Bij grotere bedrijven werken mensen echter in teams en hebben ze gespecialiseerde rollen: de ene richt zich uitsluitend op de serverarchitectuur, de andere (of een paar mensen) op de front-end, enz.
Conclusie
Webontwikkeling heeft vele gezichten en evolueert elke dag meer. Er valt veel te leren, maar voel je niet onder druk gezet om alles in één keer te leren. Houd er rekening mee dat u op de werkvloer meestal samen met anderen in een team zit. Concentreer u op het aanscherpen van uw vaardigheden in één aspect van webontwikkeling tegelijk. Laat je niet overweldigen en voor je het weet ben je een professional.