Innledning

Overgangen til webrammeverk som React og AngularJS er å regne som ett av de største paradigmeskiftene i webutviklings historie. Emnet gir en innføring i og praktisk erfaring med god praksis og ulike verktøy til bruk under utvikling av webapplikasjoner og Application Programming Interfaces (API-er) innenfor dette nye paradigmet.

Læringsutbytte

Kunnskaper 

Studenten...

  • har god kjennskap til komponentene i en stack med database, server med semantisk API, og webklient
  • vet hvordan et Application Programming Interface (API) fungerer
  • kan forklare abstraksjonen REpresentational State Transfer (REST), og i hvilke tilfeller denne bør benyttes
  • kjenner til WebSockets og hvilke tilfeller disse burde benyttes,
  • kjenner til mekanikken Cross-Origin Resource Sharing (CORS) og dens betydning for utvikling av et API som støtter flere klienter,
  • kan forklare sentrale egenskaper ved en dokumentdatabase som MongoDB, og hvordan denne skiller seg fra en relasjonsdatabase som MySQL
  • kjenner til grunnleggende informasjonssikkerhetsmessige aspekter ved utvikling av en webapplikasjon med et API

Ferdigheter 

Studenten...

  • skal være i stand til å designe, implementere, og automatisere testing av et RESTful API med tilstrekkelig sikring av data
  • skal være i stand til å designe, implementere, og automatisere testing av webapplikasjoner og mobilapplikasjoner som kommuniserer med API-et
  • skal være i stand til å rulle ut webløsningen og API-et til en skytjeneste som Heroku eller DigitalOcean
  • skal raskt kunne bygge og rulle ut én eller flere applikasjoner som benytter API-et ved hjelp av en god verktøykjede

Generell kompetanse

Studenten...

  • skal ha kjennskap till sentrale konsepter relatert til utviklingen av SPAs
  • skal ha kjennskap til sentrale konsepter relatert til utvikling av et RESTful API som støtter ulike typer klienter
  •  skal kunne vurdere behov for tilgangsstyring til og sikring av informasjon i et API eller en webløsning

Emnet inngår i

Bachelor i informasjonsteknologi - Frontend- og mobilutvikling

Bachelor i informasjonsteknologi - Programmering

Læringsaktiviteter

Forelesninger, øvingsoppgaver, selvstudie, og innleveringsoppgaver.

Anbefalt tidsbruk

Deltakelse i undervisning og veiledning - 48 timer

Selvstudium - 52 timer

Gjennomføring av og forberedelse til eksamen - 100 timer

Anbefalt tidsbruk totalt - 200 timer

Arbeidsverktøy

  • Webserver bygget på Node.js,

  • webrammeverk for nettleser,

  • modul-bundler for JavaScript,

  • transpilator for JavaScript,

  • versjoneringsverktøy,

  • verktøy for utvikling med moderne JavaScript

Eksamen

Eksamensdel: Skriftlig individuell hjemmeeksamen

Varighet: 48 timer

Gradering: Nasjonal karakterskala A - F (F er ikke bestått)

Vekting: 100 % av hel vurdering

Hjelpemidler: Alle hjelpemidler tillatt

Vurderingskriterier

Konferer læringsutbyttebeskrivelsen.

Læremidler

Oppdatert informasjon om pensumlitteratur og andre læremidler publiseres per program på vår elektroniske læringsplattform i forkant av semesterstart. Informasjon finnes også per program på våre hjemmesider. I tillegg til litteratur og andre læremidler, inngår timeplanfestet undervisning og andre timeplanfestede læringsaktiviteter alltid i gjeldende pensum.

Merknader

For å få fullt utbytte av undervisningen, bør studenten ha grunnleggende kunnskap om webutvikling, f.eks. HTML og CSS.