# Browser Technologies

{% hint style="success" %}
*You learn what Progressive Enhancement is and how you can apply it to a website or web-application*
{% endhint %}

Ik heb me tijdens dit project willen focussen op het schrijven van een aantal serverless functions. Het eerste wat ik me daarbij af vroeg is: "Hoe gaan we dit laten werken zonder JavaScript?" omdat ik in eerste instantie dacht dat serverless functions alleen maar aangeroepen kunnen worden vanuit JavaScript.

Echter, na het gesprek met Janno drong het tot me door dat een serverless function uiteindelijk ook maar een url is op je website, dus zou je die ook altijd aan kunnen roepen. Daarna heb ik mezelf ertoe gezet om een progressively enhanced oplossing te verzinnen voor het verwerken van formulieren.

Dit maakte dat ik aan de voorkant een formulier heb gebouwt met een  *action* attribuut die gericht is naar de serverless function. In die serverless function kon ik toen bijvoorbeeld de request body uitlezen, gebruiken en vervolgens in plaats van bijvoorbeeld JSON gewoon HTML over de lijn terugsturen.

Dit maakt dat je best wel veel geavanceerde dingen kan regelen op de achterkant (in de serverless function) zonder dat je daarbij client-side JavaScript nodig hebt.

Ik ben mede door dit project zo op te zetten nog meer gaan geloven in de kracht van progressive enhancement. Het zorgt er namelijk niet alleen voor dat je website op de meeste devices en in de meeste contexten werkt maar maakt ook dat je website in mijn optiek vaak lichter wordt omdat je eerder gaat nadenken over pragmatischere oplossingen voor bepaalde problemen. Een vraag die ik mezelf daarbij vaak stel is: "Kunnen we dit niet op een manier bouwen die dichter bij het web ligt?".
