JetBrains пусна Compose за настолен компютър и уеб, порт на Jetpack Compose на Google за Android, в алфа версия. Ето какво е новото.
Ако не сте чували за Jetpack Compose, къде беше напоследък? Google създаде тази декларативна рамка на потребителския интерфейс, за да замени стандартната машина за XML оформление в Android. Compose позволява на разработчиците да създават своите оформления и съпътстваща логика изцяло в Kotlin. JetBrains, компанията зад Kotlin, също се включи в действието Compose и работи върху пренасянето му както на настолен компютър, така и в мрежата.
JetBrains Compose за настолен компютър и уеб се разработва от известно време. Имаше публичен пре-алфа „Преглед на технологията“, който разработчиците могат да използват за създаване на междуплатформени приложения в Compose. Аз лично съм го ползвал за моето приложение за изтегляне на фърмуер на Samsung, и работи доста добре.
Днес JetBrains промотира своята версия на Compose към алфа. Това означава по-стабилен API, заедно с някои нови функции и промени.
Създаване за уеб
Първо, мрежата. Създаване за уеб е дори по-ново от Compose for Desktop, и липсва доста. Това обаче не означава, че е безполезно. Въпреки че разработчиците може да не получат фантастичните основни елементи на потребителския интерфейс, налични за настолен компютър и Android, разработчиците все още получават предимствата на писането на Kotlin с декларативни принципи на дизайна.
Сега, когато Compose е в алфа етап, уеб API трябва да е по-стабилен, с по-малко, ако има такива, нарушаващи промените, направени с течение на времето.
Съставяне на управление на прозореца
Обратно към работния плот, има някои промени в начина, по който разработчиците взаимодействат с прозорците в приложението си.
Първият е нов API за композируем прозорец. Това позволява на разработчиците да взаимодействат с прозорците в приложението си декларативно. Например заглавието на прозореца вече може да се променя със състояние и прозорците дори могат да се отварят и затварят въз основа на състояния.
Друга част от API за нови прозорци позволява на разработчиците да избират да отварят нови прозорци с адаптивен (вместо фиксиран) размер. Това означава, че Compose ще изчисли колко голям трябва да бъде прозорец въз основа на съдържанието му, автоматично ще зададе първоначалния размер и след това ще отвори прозореца.
Плъгини
JetBrains Compose винаги е имал Gradle плъгин за извършване на компилация и изпълнение. С алфа версията този плъгин получава подобрение във версията, заедно с някои корекции на грешки.
В допълнение към приставката Gradle обаче има сега IDE плъгин за IntelliJ IDEA и Android Studio за по-добра поддръжка на Compose за настолен компютър и уеб. Подобно на Compose за Android, този плъгин позволява на разработчиците да коментират композируеми функции като визуализации и да преглеждат визуализации на оформление директно в IDE.
Приставката е много проста в момента. Единствената друга функция, която има в момента, премахва предупреждението за мъх на IDE относно използването на главни букви за имена на функции, които могат да се съставят. Но с течение на времето ще получи повече функции, като например преглед на живо.
Архитектурна поддръжка
Въпреки че целта на JetBrains Compose е да бъде междуплатформен, той все още няма пълна поддръжка за всички CPU архитектури. Алфата разширява текущата поддръжка до следното:
- macOS: x86-64 (amd64), arm64
- Windows: x86-64 (amd64)
- Linux: x86-64 (amd64), arm64
- Уеб: всичко скорошно
Въпреки че това със сигурност не покрива всичко, поддръжката ще се подобрява само в бъдеще.
Бъдещи развития
Изборът на JetBrains да премести Compose в алфа състояние е важен. Това означава, че те планират да продължат да се развиват за него, с евентуални бета и стабилни етапи. И, разбира се, повече функции.
Заключение
Доста вълнуващо е да видим какво може да донесе Compose. В Android той заменя остарелия (макар и напълно използваем) механизъм за оформление. На настолни компютри и в мрежата той носи декларативен дизайн, използвайки строго типизиран език, който е по-лесен за използване (поне за мен) от езиците, базирани на TypeScript. Особено на работния плот, Compose помага да се запълни доста голяма празнина за функционални машини за оформление.
Ако се интересувате сами да изпробвате JetBrains Compose, разгледайте хранилището на GitHub за повече подробности как да започнете.