Gå til hovedinnhold

Bruk av GraphQL-klienter i basisapplikasjonene

Vi skal bruke veletablerte GraphQL-klienter som støtter fragmenter i basisapplikasjonene våre

Kontekst

Vi skal etablere basisapplikasjoner for de respektive brukergruppene våre. Disse skal erstatte FS-klienten, Studentweb, Arbeidslivsportalen m.m. Omfanget av denne oppgaven er svært stor og krever langsiktige verktøy som skalerer godt.

FS vil levere en plattform der institusjoner og tredjepartsaktører kan lage tjenester og løsninger som benytter seg av data eller funksjonalitet i FS-plattformen. Utviklingen vil være basert på prinsipper om åpen kildekode. Standardiseringselementet løftes opp. — [Produktstrategien for FS](vedlegg/Sak 42-21, vedlegg 4, Produkstrategi for FS.pdf)

Det følger av produktstrategien at vi skal se etter muligheter for gjenbrukbarhet og standardisering. Dette gjelder også for basisapplikasjonene vi skal utvikle. Her er Sikt sitt komponentbibliotek en god start.

Artikkelen Thinking in Relay gir forøvrig grunn til å tro at potensialet for gjenbrukbarhet er langt større som følge av at vi bruker GraphQL. Netflix snakker også om dette konseptet i presentasjonen Building Federated Workflows with Shared Components.

Konklusjon

Vi bør velge en GraphQL-klient som støtter fragmenter, slik at vi kan utforske potensialet for gjenbrukbarhet som ligger der. Det å bytte GraphQL-klient i basisapplikasjoner forventes å være en større operasjon, dermed bør vi velge en veletablert GraphQL-klient. Vi anbefaler Relay eller Apollo Client, da disse oppfyller kriteriene og fremstår som gode valg.

Konsekvens

Vi reduserer risikoen for at klientene vi velger blir forlatt/ikke lenger blir vedlikeholdt. Vi fokuserer kompetansebyggingen internt til en eller to klienter, noe som gir et mer fokusert fagmiljø. Vi øker sannsynligheten for å finne gode mønster for gjenbrukbarhet.