"Det hodeløse CMS-et reiser snart fra trikkestallen i Oslo til Silicon Valley" skrev kode24 i starten av 2019 om det norske selskapet Sanity.
Den reisen er nå godt i gang, og utviklerne kunne nylig melde om at de hadde sikra seg 9,3 millioner dollar, over 85 millioner norske kroner, i finansering. Fra folk som tidligere har finansiert giganter som Twitter, Medium, Xamarin, Heroku og Vercel.
Vi inviterte "head of developer relations and support", eller utviklerkompis som han ofte kaller seg, Knut Melvær til kode24-timen for å ta en preik om veien videre, hva Sanity egentlig er for noe, hvordan de lager det og hvorfor norske utviklere bør teste det.
Episoden finner du på telefonen din, og svarene på noen av spørsmålene finner du under!
Hva er Sanity?
- Vi kaller Sanity en plattform for strukturert innhold, forteller Melvær i kode24-timen.
- Det betyr at Sanity kommer med en rekke API-er for å jobbe med innhold. Og et open source redaksjonsgrensesnitt, som kan du kan tilpasse til det du trenger det til. Og en rekke spesifikasjoner og teknologier for å gjøre det lettere å jobbe med innhold som data, fortsetter han.
- Det er heispitchen.
Om du vil skjønne hva det dreier seg om i praksis, på imponerende kort tid, kan du sjekke ut sanity.io/create. Der kan du opprette og rulle ut en enkel blogg med Sanity Studio for å skrive innhold og for eksempel Gatsby for å vise det fram, gjennom Netlify.
Er Sanity et hodeløst CMS?
- Vi er ikke så kjempeglade i det begrepet. Vi ser egentlig ikke på Sanity som et hodeløst CMS, men mer som "the next thing", svarer utviklerkompisen.
Han forklarer at hodeløse CMS-er ble definert som et motstykke til tradisjonelle CMS-er som Wordpress, som blir levert med blant annet nettside-motorer for å tegne ut innholdet. Mens hodeløse CMS-er bare gir deg et API for å lagre og lese dataen.
- Vi har jo noe av disse greiene, og vi kan brukes som et hodeløst CMS, men vi har også ting som går utover dette, mener Melvær, og sikter da blant annet til verktøyene for å strukturere data.
- Og nå som mange CMS-er har begynt å tilby API-er, blant annet Wordpress, begynner forskjellen mellom tradisjonelle og hodeløse CMS-er å viskes ut.
Hvordan kodes Sanity?
- Bak dokumentbasen bruker vi litt forskjellige databaseteknologier; kjedelige, proven teknologier som Elasticsearch, PostgreSQL og så videre, forteller Melvær.
- Alt er skrudd sammen i Go, som gjør at ting går kjapt. Også har vi endel mikrotjenester som stort sett er skrevet i Node, og kjøres ut i verden med Kubernetes på Google Cloud-plattformen, fortsetter han.
- Det er den beste plattformen for dette. Kontroversielt å si, kanskje, men vi leverer rundt tre milliarder API-spørringer i måneden.
Bruk Wordpress som headless CMS, med Kurts Gatsby-løsning
Hva skiller Sanity fra andre hodeløse CMS-er, som Prismic og Contentfull?
- De andre CMS-ene har ofte mange web-antakelser bygd inn, mener Melvær i Sanity.
Han viser for eksempel til hvordan Prismic antar at du vil vise rik tekst som HTML, at det kan være begrensa hvor dype innholdsstrukturer du kan bygge og at det kan mangle funksjonalitet for å skrive innhold gjennom API-et. Contentfull synes han dessuten er dyrt.
- Dessuten er alt i sanntid i Sanity, og det gir deg mer kontroll over hvordan du vil gjøre ting, hevder utviklerkompisen.
«De andre CMS-ene har ofte mange web-antakelser bygd inn.»
Hvorfor ikke bare bruke databaser, som Firebase?
- Du får et redaksjonsgrensesnitt, som du kan sette opp selv. Det får du ikke i for eksempel Firebase, svarer Melvær.
- Også mener vi at vi har mer fleksible måter å legge inn data på, og du kan lage referanser mellom JSON-objektene, som gjør det lettere å spørre på data, og forme det som du vil, fortsetter han.
Sanity har blant annet bygd sitt eget spørrespråk; GROQ. Melvær beskriver det som et slags "SQL for JSON".
Hvem bruker Sanity, til hva?
- Det er mye nettsider, det er ofte der folk begynner før man oppdater at Sanity kan brukes til mye mer, sier Melvær i kode24-timen.
Blant annet har Sanity blitt brukt til å skrive fysiske bøker, den brukes til den offiselle taleassistenten til Las Vegas, og en av deres største kunder er det Melvær kaller "en multinasjonal restaurantkjede", som han ikke får lov til å si navnet på.
Kristoffer klarer seg ikke uten Sanity
Men det kan kode24 "avsløre": Det er Burger King, som blant annet kommer fram i Sanitys jobbannonser. Burger King bruker Sanity til å blant annet vise menyinformasjonen sin på alt fra skjermene bak skranka til nettsidene og apper.
Sanity ramser opp en rekke andre store aktører på nettsidene sine, som Sonos, Nike, National Geographic, norske reMarkable og Figma, uten at Melvær får lov til å si nøyaktig hva de bruker systemet til. Men som han sier i ukas episode av kode24-timen:
- Sanity gir deg en sanntidsdatabase du kan putte inn data og ta det ut som du vil. Da blir det ubegrensa hva du kan bruke det til.
Svar på enda flere spørsmål, og alle spørsmålene fra kode24-klubben, får du i ukas episode av kode24-timen! 🎧
Derfor velger Sanity Google for det meste
- Det beste nettverket i verden, forteller driftsansvarlig.