๐Ÿš€Webontwikkeling basics ยท Les 3

โš™๏ธ Frontend en backend

Je hebt geleerd dat een website uit HTML, CSS en JS bestaat โ€” en hoe die bestanden via het internet bij de bezoeker komen. Nu gaan we dieper in op waar code draait: in de browser of op de server?

๐Ÿ• ~12 minuten Bouwt voort op Les 2

Twee werelden

Als webdeveloper schrijf je code die op twee totaal verschillende plekken kan draaien: in de browser van de bezoeker (frontend), of op de server (backend). Dit onderscheid is fundamenteel โ€” het bepaalt welke talen je gebruikt en wat je code kan doen.

๐Ÿ’ป

Frontend

Draait in de browser van de bezoeker

  • โ€ข HTML โ€” structuur
  • โ€ข CSS โ€” uiterlijk
  • โ€ข JavaScript โ€” interactie

Zichtbaar voor iedereen via DevTools

๐Ÿ–ฅ๏ธ

Backend

Draait op de server, onzichtbaar voor bezoekers

  • โ€ข PHP (Symfony)
  • โ€ข Python, Node.js, Ruby, Goโ€ฆ
  • โ€ข Leest/schrijft naar een database

Verborgen โ€” de bezoeker ziet alleen het resultaat

๐Ÿ’ก Wat betekent dit?

Frontend developer = bouwt wat de gebruiker ziet en aanraakt. Backend developer = bouwt de logica erachter. Fullstack developer = doet beide. Bij MBO Software Developer leer je alle drie.

Statisch vs dynamisch

Niet elke website heeft een backend nodig. Er zijn twee soorten websites:

๐Ÿ“„ Statische website

Vaste bestanden op de server. Elke bezoeker ziet exact hetzelfde. Geen database, geen backend-code.

index.html โ† altijd hetzelfde

style.css

script.js

Voorbeelden: portfolio, documentatie, landingspagina

โš™๏ธ Dynamische website

De server genereert de HTML op het moment dat een bezoeker de pagina vraagt. De inhoud hangt af van: wie bent je, wat staat er in de database, welke taal spreak je?

GET /profiel/jan

โ†’ Server zoekt Jan op in database

โ†’ Bouwt HTML: "Welkom Jan, je hebt 3 berichten"

โ†’ Stuurt HTML naar browser

Voorbeelden: webshop, social media, e-mail, bank

๐Ÿ’ก Wat betekent dit?

In de HTML-track bouw je statische websites. Zodra je inloggen, winkelmandjes of gepersonaliseerde content wil, heb je een backend nodig โ€” dat leer je in de PHP- en Symfony-track.

De database

De backend praat met een database โ€” een georganiseerde opslag van gegevens. Denk aan een supergeordend spreadsheet dat razendnel doorzoekbaar is.

Tabel: gebruikers

id naam email aangemeld
1 Jan Jansen jan@example.com 2024-01-15
2 Lisa Pietersen lisa@example.com 2024-02-03
3 Ahmed Yilmaz ahmed@example.com 2024-02-21

De taal om data in een database op te zoeken en te wijzigen heet SQL (Structured Query Language). Zo vraag je alle namen op:

SELECT naam, email

FROM gebruikers

WHERE aangemeld > '2024-02-01';

๐Ÿ’ก Wat betekent dit?

In Symfony gebruik je Doctrine โ€” een laag die SQL voor je schrijft, zodat je in PHP-objecten denkt in plaats van SQL-queries. Maar de SQL-track is alsnog waardevol: je begrijpt wat er achter de schermen gebeurt.

API โ€” de ober-metafoor

Een API (Application Programming Interface) is een afgesproken manier waarop twee systemen met elkaar communiceren. Het makkelijkste om te begrijpen via een restaurant-metafoor:

๐Ÿ‘ค

Jij (klant)

= de Frontend (browser/app)

Je bestelt iets en wacht op je eten

๐Ÿง‘โ€๐Ÿณ

De ober

= de API

Brengt de bestelling door en brengt het eten terug

๐Ÿณ

De keuken

= de Backend + Database

Bereidt het eten โ€” jij ziet niet hoe

In de praktijk: een app op je telefoon praat met een API. De API vraagt data op uit de database en stuurt het terug in een gestandaardiseerd formaat โ€” meestal JSON:

// API-response: GET /api/gebruikers/1

{

"id": 1,

"naam": "Jan Jansen",

"email": "jan@example.com"

}

๐Ÿ’ก Wat betekent dit?

In Symfony bouw je zelf API-endpoints. In JavaScript gebruik je fetch() om data op te halen van een API โ€” dat leer je in de JavaScript-track. Het geheel heet een REST API.

โœ… Wat heb je geleerd?

  • โœ“ Frontend = code in de browser (HTML, CSS, JS). Backend = code op de server (PHP, Python, etc.).
  • โœ“ Statische websites sturen altijd dezelfde bestanden. Dynamische websites genereren HTML op basis van data.
  • โœ“ Een database slaat gegevens op in tabellen. Je praat er mee via SQL.
  • โœ“ Een API is een afgesproken manier waarop frontend en backend data uitwisselen โ€” meestal in JSON-formaat.

๐Ÿง  Kennischeck

Bijna klaar!

ร‰รฉn les te gaan: je gaat je eerste echte HTML-bestand aanmaken en openen in je browser.