JetBrains Compose für Desktop und Web befindet sich jetzt in der Alpha-Phase

JetBrains hat Compose für Desktop und Web, eine Portierung von Googles Jetpack Compose für Android, in die Alpha-Phase gebracht. Hier erfahren Sie, was es Neues gibt.

Falls Sie noch nichts davon gehört haben Jetpack Compose, Wo warst du in letzter Zeit? Google hat dieses deklarative UI-Framework erstellt, um die Standard-XML-Layout-Engine in Android zu ersetzen. Mit Compose können Entwickler ihre Layouts und die zugehörige Logik vollständig in Kotlin erstellen. JetBrains, das Unternehmen hinter Kotlin, beteiligte sich ebenfalls an der Compose-Aktion und arbeitet daran, sie sowohl auf den Desktop als auch auf das Web zu portieren.

JetBrains Compose für Desktop und Web befindet sich bereits seit einiger Zeit in der Entwicklung. Es gab eine öffentliche Pre-Alpha-„Technologievorschau“, mit der Entwickler plattformübergreifende Apps in Compose erstellen können. Ich persönlich habe es dafür verwendet meine Samsung Firmware Downloader-App, und es funktioniert ziemlich gut.

Heute bringt JetBrains seine Compose-Version in die Alpha-Phase. Das bedeutet eine stabilere API sowie einige neue Funktionen und Änderungen.

Für das Web komponieren

Zunächst das Internet. Compose for Web ist sogar neuer als Compose for Desktop, und es fehlt ziemlich viel. Das bedeutet jedoch nicht, dass es nutzlos ist. Auch wenn Entwickler möglicherweise nicht auf die schicken Kernelemente der Benutzeroberfläche zugreifen können, die für Desktop und Android verfügbar sind, profitieren Entwickler dennoch von den Vorteilen des Schreibens in Kotlin mit deklarativen Designprinzipien.

Da sich Compose nun im Alpha-Stadium befindet, sollte die Web-API stabiler sein und im Laufe der Zeit, wenn überhaupt, weniger wichtige Änderungen vornehmen.

Compose-Fensterverwaltung

Zurück zum Desktop: Es gibt einige Änderungen an der Art und Weise, wie Entwickler mit Fenstern in ihrer App interagieren.

Das erste ist ein neues Zusammensetzbare Fenster-API. Dadurch können Entwickler deklarativ mit den Fenstern in ihrer App interagieren. Beispielsweise kann der Fenstertitel nun mit einem Status geändert werden und Fenster können sogar basierend auf Status geöffnet und geschlossen werden.

Ein weiterer Teil der neuen Fenster-API ermöglicht es Entwicklern, neue Fenster mit einer adaptiven (statt einer festen) Größe zu öffnen. Das bedeutet, dass Compose anhand seines Inhalts berechnet, wie groß ein Fenster sein muss, automatisch die Anfangsgröße festlegt und dann das Fenster öffnet.

Plugins

JetBrains Compose verfügt seit jeher über ein Gradle-Plugin zur Kompilierung und Ausführung. Mit der Alpha erhält dieses Plugin eine Versionserhöhung sowie einige Fehlerbehebungen.

Zusätzlich zum Gradle-Plugin gibt es jedoch noch eines jetzt ein IDE-Plugin für IntelliJ IDEA und Android Studio zur besseren Unterstützung von Compose für Desktop und Web. Ähnlich wie Compose für Android können Entwickler mit diesem Plugin zusammensetzbare Funktionen als Vorschauen mit Anmerkungen versehen und Layoutvorschauen direkt in der IDE anzeigen.

Das Plugin ist derzeit sehr einfach. Die einzige andere Funktion, die derzeit verfügbar ist, entfernt die IDE-Lint-Warnung bezüglich der Verwendung der Groß-/Kleinschreibung für zusammensetzbare Funktionsnamen. Mit der Zeit wird es jedoch weitere Funktionen geben, beispielsweise eine Live-Vorschau.

Architekturunterstützung

Obwohl das Ziel von JetBrains Compose darin besteht, plattformübergreifend zu sein, werden noch nicht alle CPU-Architekturen vollständig unterstützt. Die Alpha erweitert die aktuelle Unterstützung auf Folgendes:

  • macOS: x86-64 (amd64), arm64
  • Windows: x86-64 (amd64)
  • Linux: x86-64 (amd64), arm64
  • Web: alles Aktuelle

Auch wenn das sicherlich nicht alles abdeckt, wird der Support in Zukunft nur noch besser.

Zukünftige Entwicklungen

Die Entscheidung von JetBrains, Compose in einen Alpha-Zustand zu versetzen, ist wichtig. Das bedeutet, dass sie planen, die Entwicklung fortzusetzen, mit eventuellen Beta- und stabilen Phasen. Und natürlich noch mehr Funktionen.

Abschluss

Es ist ziemlich spannend zu sehen, was Compose zu bieten hat. Auf Android ersetzt es eine veraltete (obwohl einwandfrei verwendbare) Layout-Engine. Auf dem Desktop und im Web ermöglicht es deklaratives Design mithilfe einer stark typisierten Sprache, die (zumindest für mich) einfacher zu verwenden ist als TypeScript-basierte Sprachen. Insbesondere auf dem Desktop hilft Compose dabei, eine ziemlich große Lücke bei funktionalen Layout-Engines zu schließen.

Wenn Sie daran interessiert sind, JetBrains Compose selbst auszuprobieren, Schauen Sie sich das GitHub-Repository an Weitere Informationen zum Einstieg finden Sie hier.