Jetpack Compose for Web är ett nytt UI-ramverk för webbutveckling

click fraud protection

JetBrains tar med Jetpack Compose, Googles deklarativa designramverk för Android, till webben. Den är tillgänglig som förhandsvisning idag.

Under de senaste åren har det skett en ganska stor satsning på plattformsoberoende programutveckling. Ramverk som React och Flutter skapades för att göra det möjligt för utvecklare att dela en enda kodbas över Android, iOS, stationära datorer och till och med webben. Till och med JetBrains, företaget bakom några av de mest populära IDE: erna och programmeringsspråket Kotlin, har arbetat med plattformsoberoende utveckling. Först med Kotlin Multiplatform men på senare tid med Jetpack Compose.

För ett tag sedan portade JetBrains Jetpack Compose, Googles deklarativa designramverk för Android, till skrivbordet. Detta möjliggjorde plattformsoberoende skrivbordsutveckling baserad på Javas JVM. Med Jetpack Compose kan du skapa en app för Android, macOS, Windows och till och med Linux, allt från en kodbas. Men förutom iOS saknas det en ganska stor plattform från Compose: webben.

Men det är på väg att ändras. JetBrains har släppte vad de kallar en Technology Preview av Jetpack Compose for Web.

Nu är Technology Preview i grunden ett fint namn för pre-alpha. Compose for Web är långt ifrån redo att användas i produktionen. Det finns inga handledningar, väldigt lite dokumentation och API: erna är inte i närheten av kompletta. Med det sagt, låt oss se vad Compose for Web erbjuder hittills.

I den aktuella versionen finns det två sätt du kan utveckla i Compose for Web: med DOM API, eller genom att använda befintliga Compose-widgets, som kolumn eller text.

Om du använder DOM API kommer du att ha API-namn som representerar de olika HTML-elementen, som t.ex sid, a, och så vidare. Den stora skillnaden mellan Compose och klassiska Kotlin JS är dock att du kan använda tillståndsbaserad deklarativ design. Det här alternativet verkar vara lite av en brygga mellan klassisk webbutveckling och fullständig deklarativ UI-utveckling. Utöver att skapa en layout låter Compose for Web dig också skapa dynamiska, tillståndsbaserade stilmallar.

Det andra alternativet är det som kommer att se mer bekant ut för Android- och Compose-utvecklare. Det finns färdiga komponenter, som Column, Row och Slider, som du kan använda för att bygga ett webbgränssnitt. Just nu är dessa inte särskilt kompletta och stilar och alternativ är inte fullt implementerade. Men det ger oss åtminstone en uppfattning om vad JetBrains har i beredskap för Compose for Web.

Sammantaget finns det för närvarande inte så mycket att skriva för webben. Det är fortfarande i sin mycket tidiga dagar. Men det kan betyda mycket för framtiden. Personligen, som Android-utvecklare, har jag haft problem med att komma in i webbläsarbaserade layoutramar. Grundläggande HTML och CSS kan vara klumpiga, och syntaxerna React och Flutter är fortfarande baserade på HTML-design.

Ett fullfjädrat, plattformsoberoende designspråk som inte är baserat på webbdesignprinciper är ganska spännande. Även om Jetpack Compose fortfarande har en lång väg kvar att gå, kan det JetBrains har planerat betyda mycket för framtiden för UI-design.

Om du vill lära dig mer om Compose for Web, kolla in JetBrains tillkännagivande. Om du är intresserad av att leka med den nuvarande implementeringen, gå över till GitHub-förvaret.