# Byg en bankapp Del 1: HTML-skabeloner og ruter i en webapp ## Quiz før lektionen [Quiz før lektionen](https://ff-quizzes.netlify.app/web/quiz/41) ### Introduktion Siden JavaScript blev introduceret i browsere, er hjemmesider blevet mere interaktive og komplekse end nogensinde før. Webteknologier bruges nu ofte til at skabe fuldt funktionelle applikationer, der kører direkte i en browser, og som vi kalder [webapplikationer](https://en.wikipedia.org/wiki/Web_application). Da webapps er meget interaktive, ønsker brugerne ikke at vente på, at hele siden genindlæses, hver gang en handling udføres. Derfor bruges JavaScript til at opdatere HTML direkte via DOM'en for at give en mere flydende brugeroplevelse. I denne lektion vil vi lægge fundamentet for at skabe en bankwebapp ved at bruge HTML-skabeloner til at lave flere skærme, der kan vises og opdateres uden at genindlæse hele HTML-siden. ### Forudsætninger Du skal bruge en lokal webserver for at teste den webapp, vi bygger i denne lektion. Hvis du ikke har en, kan du installere [Node.js](https://nodejs.org) og bruge kommandoen `npx lite-server` fra din projektmappe. Det vil oprette en lokal webserver og åbne din app i en browser. ### Forberedelse På din computer skal du oprette en mappe kaldet `bank` med en fil ved navn `index.html` indeni. Vi starter med denne HTML-[grundstruktur](https://en.wikipedia.org/wiki/Boilerplate_code): ```html Bank App ``` --- ## HTML-skabeloner Hvis du vil oprette flere skærme til en webside, kunne en løsning være at lave en HTML-fil for hver skærm, du vil vise. Denne løsning har dog nogle ulemper: - Du skal genindlæse hele HTML'en, når du skifter skærm, hvilket kan være langsomt. - Det er svært at dele data mellem de forskellige skærme. En anden tilgang er kun at have én HTML-fil og definere flere [HTML-skabeloner](https://developer.mozilla.org/docs/Web/HTML/Element/template) ved hjælp af `