JetBrains Compose för skrivbord och webb är nu i alfa

click fraud protection

JetBrains har släppt Compose for Desktop and Web, en port av Googles Jetpack Compose för Android, till alpha. Här är vad som är nytt.

Om du inte har hört talas om Jetpack Compose, var har du varit på sistone? Google skapade detta deklarativa ramverk för gränssnittet för att ersätta den vanliga XML-layoutmotorn i Android. Compose låter utvecklare skapa sina layouter och tillhörande logik allt i Kotlin. JetBrains, företaget bakom Kotlin, kom också med på Compose-åtgärden och arbetar med att porta den till både skrivbord och webb.

JetBrains Compose för skrivbord och webb har varit under utveckling ett tag nu. Den har haft en offentlig pre-alfa "Technology Preview" som utvecklare kan använda för att skapa plattformsoberoende appar i Compose. Jag har personligen använt det till min Samsung Firmware Downloader-app, och det fungerar ganska bra.

Idag marknadsför JetBrains sin version av Compose till alfa. Det innebär ett mer stabilt API, tillsammans med några nya funktioner och ändringar.

Skriv för webben

Först ut, webben. Compose for Web är jämnt nyare än Compose for Desktop, och det saknas en hel del. Det betyder dock inte att det är värdelöst. Även om utvecklare kanske inte får de snygga gränssnittselementen som är tillgängliga för Desktop och Android, får utvecklare fortfarande fördelarna med att skriva i Kotlin med deklarativa designprinciper.

Nu när Compose är i ett alfastadium bör webb-API: et vara mer stabilt, med färre, om några, brytande ändringar som görs över tiden.

Skriv fönsterhantering

Tillbaka till skrivbordet, det finns några ändringar i hur utvecklare interagerar med Windows i sin app.

Den första är en ny komponerbart fönster API. Detta låter utvecklare interagera med fönstren i sin app på ett deklarativt sätt. Till exempel kan fönstertiteln nu ändras med ett tillstånd, och fönster kan till och med öppnas och stängas baserat på tillstånd.

En annan del av det nya fönster-API: et låter utvecklare välja att ha nya fönster öppna med en adaptiv (istället för fast) storlek. Det betyder att Compose kommer att beräkna hur stort ett fönster behöver vara baserat på dess innehåll, automatiskt ställa in den ursprungliga storleken och sedan öppna fönstret.

Plugins

JetBrains Compose har alltid haft en Gradle-plugin för att utföra kompilering och exekvering. Med alpha får detta plugin en versionsbump, tillsammans med några buggfixar.

Utöver Gradle-pluginet finns det dock nu ett IDE-plugin för IntelliJ IDEA och Android Studio för att bättre stödja Compose för skrivbord och webb. På samma sätt som Compose för Android låter detta plugin utvecklare kommentera komponerbara funktioner som förhandsvisningar och visa layoutförhandsvisningar direkt i IDE.

Plugin är väldigt grundläggande just nu. Den enda andra funktionen som den har just nu tar bort IDE-luddvarningen om att använda skiftläge för titel för komponerbara funktionsnamn. Men det kommer att få fler funktioner allt eftersom, till exempel liveförhandsvisning.

Arkitekturstöd

Även om målet för JetBrains Compose är att vara plattformsoberoende, har det inte fullt stöd för alla CPU-arkitekturer än. Alfa utökar det nuvarande stödet till följande:

  • macOS: x86-64 (amd64), arm64
  • Windows: x86-64 (amd64)
  • Linux: x86-64 (amd64), arm64
  • Webb: allt nyligen

Även om det verkligen inte täcker allt där ute, kommer supporten bara att bli bättre i framtiden.

Framtida utveckling

JetBrains val att flytta Compose till ett alfatillstånd är viktigt. Det betyder att de planerar att fortsätta utvecklas för det, med eventuella beta- och stabila stadier. Och, naturligtvis, fler funktioner.

Slutsats

Det är ganska spännande att se vad Compose har att tillföra. På Android ersätter den en föråldrad (även om den är perfekt användbar) layoutmotor. På skrivbordet och webben ger den deklarativ design med ett starkt skrivet språk som är lättare att använda (åtminstone för mig) än TypeScript-baserade språk. Speciellt på skrivbordet hjälper Compose att fylla ett ganska stort tomrum för funktionella layoutmotorer.

Om du är intresserad av att testa JetBrains Compose själv, kolla in GitHub-förvaret för mer information om hur du kommer igång.