Et første blikk på Enonic XP 8
Den neste store utgivelsen av Enonic-plattformen er rett rundt hjørnet. Du kan forvente universelle API-er, sikkerhet som standard og mer.
Written by Vegard Ottervig on
Den neste store utgivelsen av Enonic-plattformen er rett rundt hjørnet. Du kan forvente universelle API-er, sikkerhet som standard og mer.
Written by Vegard Ottervig on
På en nylig Enonic-meetup ga arkitekt Sergey fellesskapet en aller første livedemonstrasjon av Enonic XP 8 – et spennende sprang fremover for utviklere som bygger sikre, moderne og fleksible nettløsninger.
Fra det nye universelle API-laget til runtimefunksjoner som injeksjon av virtuell vertskontekst, er XP 8 fullpakket med forbedringer som effektiviserer utviklingen samtidig som de strammer inn kontroll og sikkerhet.
Se presentasjonen:
Frem til nå har XP-utviklere jobbet med API-er gjennom tjenester, endepunkter og rammeverk som Guillotine.
Selv om disse mønstrene er kraftige, krevde de ofte implisitt forståelse av hvordan XP var koblet. I XP 8 blir API-utvikling en førsteklasses, eksplisitt funksjon.
Kjernen i dette er det nye /api
-endepunktet – et dedikert, synlig og sikkert inngangspunkt for alt som har med API å gjøre. Du kan nå bla gjennom, konsumere og eksponere API-er akkurat som enhver moderne plattform.
Og hvis du bygger headless, innebygde verktøy eller hybrid-frontender, kommer dette til å føles som en enorm oppgradering av livskvaliteten.
Det universelle API-et er en av hjørnesteinene i XP 8. I stedet for å spre API-er over tjenesteendepunkter og tilpassede stier, introduserer XP 8 et enhetlig grensesnitt:
/api
Denne tilnærmingen gir rent skille og synlighet. For eksempel ligger nå Guillotine GraphQL API-et komfortabelt under /api/guillotine
, og du kan definere egendefinerte API-er som /api/myapp/hello
.
Trenger du JSON-introspeksjon? XP 8 tilbyr også et /api.json
-endepunkt, slik at API-oppdagelse kan automatiseres eller integreres i verktøy.
Sergey viste hvor enkelt det er å definere og eksponere egendefinerte API-er. Du skriver en deskriptor og en kontroller, som i tidligere versjoner – men nå ligger det i en dedikert apis/
-mappe. Etter distribusjon blir endepunktet ditt synlig under /api/your-app/your-api
.
Men her er tvisten: det fungerer ikke før du gjør det tilgjengelig. I XP 8 er det en bevisst handling å eksponere et API. Du må montere det enten globalt eller per nettsted, og det vil ikke svare på forespørsler med mindre det er tillatt. Denne defensive holdningen forhindrer utilsiktede lekkasjer og forsterker beste praksis fra dag én.
Enda kraftigere: du kan nå montere API-er på spesifikke nettsteder, med støtte for stibegrensning via _
(underscore)-stien. Dette lar deg bygge API-er for flere leietakere eller regionspesifikke API-er uten å tilgrise det globale navnerommet.
XP 8 introduserer også en funksjon som kalles injeksjon av virtuell vertskontekst. Tenk deg at du serverer lokaliserte versjoner av nettstedet ditt i forskjellige land. Med XP 8 kan du injisere attributter som timezone
, region
eller language
direkte inn i forespørselskonteksten – basert på domene- eller host-mapping.
Dette betyr at API-ene og applikasjonene dine kan svare dynamisk på regionale behov uten å hardkode logikk eller bygge komplekse rutingtrær.
For eksempel kan en GET /api/time
-forespørsel returnere et lokalisert tidsstempel basert på om den besøkende kom fra api.example.no
eller api.example.us
.
XP 8 vil ikke stoppe ved universelle API-er og virtuell vertskontekst. Sergey hintet frempå flere funksjoner som allerede er under utvikling:
Enonic XP 8 signaliserer et sterkt skifte mot modularitet, sikkerhet og utviklerklarhet. Enten du bygger moderne frontender med React4XP, distribuerer headless content-API-er eller lager interne verktøy med administrasjonsendepunkter, gir XP 8 en konsistent, transparent og skalerbar arkitektur.
Fra GraphQL til REST, fra tilpasset forretningslogikk til datalevering på flere nettsteder, lar det universelle API-systemet utviklere bygge mer mens de bekymrer seg mindre.
XP 8 er fortsatt under utvikling, men allerede funksjonell. Din tilbakemelding er velkommen. Dette er din plattform – formet av dine behov.
Få enda mer innsikt 🤓