JetBrains udostępnia w Internecie Jetpack Compose, deklaratywne środowisko projektowania Google dla systemu Android. Jest dostępny w formie podglądu już dziś.
W ciągu ostatnich kilku lat nastąpił duży nacisk na rozwój programów wieloplatformowych. Struktury takie jak React i Flutter zostały stworzone, aby umożliwić programistom udostępnianie jednej bazy kodu w systemach Android, iOS, na komputerach stacjonarnych, a nawet w Internecie. Nawet JetBrains, firma stojąca za niektórymi z najpopularniejszych IDE i językiem programowania Kotlin, pracowała nad rozwojem wieloplatformowym. Najpierw z Kotlin Multiplatform, ale ostatnio z Jetpack Compose.
Jakiś czas temu JetBrains przeniósł Jetpack Compose, deklaratywne środowisko projektowania Google dla Androida, na pulpit. Umożliwiło to tworzenie wieloplatformowych komputerów stacjonarnych w oparciu o JVM Java. Korzystając z Jetpack Compose, możesz stworzyć aplikację na Androida, macOS, Windows, a nawet Linux, wszystko z jednej bazy kodu. Ale oprócz iOS w Compose brakuje dość dużej platformy: Internetu.
To się jednak wkrótce zmieni. JetBrains ma wydany to, co nazywają podglądem technologii Jetpack Compose for Web.
Technology Preview to w zasadzie fantazyjna nazwa wersji pre-alfa. Aplikacja Compose for Web nie jest jeszcze gotowa do użycia w środowisku produkcyjnym. Nie ma tutoriali, jest bardzo mało dokumentacji, a interfejsy API nie są jeszcze kompletne. Powiedziawszy to, zobaczmy, co do tej pory oferuje Compose for Web.
W bieżącej wersji istnieją dwa sposoby programowania w aplikacji Compose for Web: przy użyciu interfejsu API DOM lub przy użyciu istniejących widżetów Compose, takich jak Kolumna lub Tekst.
Jeśli używasz interfejsu API DOM, będziesz mieć nazwy API reprezentujące różne elementy HTML, takie jak P, A, i tak dalej. Jednak duża różnica między Compose a klasycznym Kotlinem JS polega na tym, że można używać projektowania deklaratywnego opartego na stanach. Ta opcja wydaje się czymś w rodzaju pomostu pomiędzy klasycznym tworzeniem stron internetowych a pełnym, deklaratywnym tworzeniem interfejsu użytkownika. Oprócz tworzenia układu aplikacja Compose for Web umożliwia także tworzenie dynamicznych arkuszy stylów opartych na stanach.
Druga opcja będzie wyglądać bardziej znajomo programistom Androida i Compose. Istnieją gotowe komponenty, takie jak Kolumna, Wiersz i Suwak, których można użyć do zbudowania internetowego interfejsu użytkownika. W tej chwili nie są one zbyt kompletne, a style i opcje nie są w pełni zaimplementowane. Ale to przynajmniej daje nam pojęcie o tym, co JetBrains przygotował dla Compose for Web.
Ogólnie rzecz biorąc, w tej chwili nie ma zbyt wiele do komponowania dla Internetu. Nadal jest w swoim bardzo Początki. Ale może to wiele oznaczać na przyszłość. Osobiście, jako programista Androida, miałem problemy z dostaniem się do frameworków układu opartych na przeglądarce. Podstawowy HTML i CSS mogą być nieporadne, a składnie React i Flutter nadal opierają się na projekcie HTML.
W pełni funkcjonalny, wieloplatformowy język projektowania, który nie jest oparty na zasadach projektowania stron internetowych, jest całkiem ekscytujący. Chociaż przed Jetpack Compose jest jeszcze długa droga, to, co zaplanował JetBrains, może mieć duże znaczenie dla przyszłości projektowania interfejsu użytkownika.
Jeśli chcesz dowiedzieć się więcej o aplikacji Compose for Web, sprawdź ogłoszenie JetBrains. Jeśli chcesz pobawić się bieżącą implementacją, przejdź do repozytorium GitHub.