# Bygg en bankapp Del 1: HTML-maler og ruter i en webapp ## Quiz før forelesning [Quiz før forelesning](https://ff-quizzes.netlify.app/web/quiz/41) ### Introduksjon Siden JavaScript kom til nettlesere, har nettsteder blitt mer interaktive og komplekse enn noen gang. Webteknologier brukes nå ofte til å lage fullt funksjonelle applikasjoner som kjører direkte i en nettleser, og som vi kaller [webapplikasjoner](https://en.wikipedia.org/wiki/Web_application). Siden webapper er svært interaktive, ønsker ikke brukerne å vente på at hele siden skal lastes inn på nytt hver gang en handling utføres. Derfor brukes JavaScript til å oppdatere HTML direkte via DOM, for å gi en smidigere brukeropplevelse. I denne leksjonen skal vi legge grunnlaget for å lage en bankapp ved å bruke HTML-maler for å lage flere skjermer som kan vises og oppdateres uten å måtte laste inn hele HTML-siden på nytt. ### Forutsetninger Du trenger en lokal webserver for å teste webappen vi skal bygge i denne leksjonen. Hvis du ikke har en, kan du installere [Node.js](https://nodejs.org) og bruke kommandoen `npx lite-server` fra prosjektmappen din. Dette vil opprette en lokal webserver og åpne appen din i en nettleser. ### Forberedelse På datamaskinen din, opprett en mappe som heter `bank` med en fil som heter `index.html` inni. Vi starter med denne HTML-[grunnstrukturen](https://en.wikipedia.org/wiki/Boilerplate_code): ```html Bank App ``` --- ## HTML-maler Hvis du ønsker å lage flere skjermer for en nettside, kan en løsning være å opprette én HTML-fil for hver skjerm du vil vise. Denne løsningen har imidlertid noen ulemper: - Du må laste inn hele HTML-en på nytt når du bytter skjerm, noe som kan være tregt. - Det er vanskelig å dele data mellom de forskjellige skjermene. En annen tilnærming er å ha kun én HTML-fil og definere flere [HTML-maler](https://developer.mozilla.org/docs/Web/HTML/Element/template) ved å bruke `