JetBrains telah merilis Compose untuk Desktop dan Web, port dari Jetpack Compose Google untuk Android, ke versi alfa. Inilah yang baru.
Jika Anda belum pernah mendengarnya Penulisan Jetpack, kemana saja kamu akhir-akhir ini? Google membuat kerangka UI deklaratif ini untuk menggantikan mesin tata letak XML standar di Android. Compose memungkinkan pengembang membuat tata letak dan logika yang menyertainya, semuanya di Kotlin. JetBrains, perusahaan di belakang Kotlin, juga ikut serta dalam tindakan Compose dan berupaya memindahkannya ke desktop dan web.
JetBrains Compose untuk Desktop dan Web telah dikembangkan selama beberapa waktu sekarang. Ini memiliki "Pratinjau Teknologi" pra-alfa publik yang dapat digunakan pengembang untuk membuat aplikasi lintas platform di Compose. Saya pribadi telah menggunakannya untuk aplikasi Pengunduh Firmware Samsung saya, dan itu bekerja dengan cukup baik.
Saat ini, JetBrains mempromosikan versi Compose ke alfa. Itu berarti API yang lebih stabil, bersama dengan beberapa fitur dan perubahan baru.
Tulis untuk Web
Pertama, web. Compose untuk Web merata lebih baru dari Compose untuk Desktop, dan ada sedikit yang hilang. Namun bukan berarti tidak ada gunanya. Meskipun pengembang mungkin tidak mendapatkan elemen inti UI yang bagus untuk Desktop dan Android, pengembang masih mendapatkan manfaat menulis di Kotlin dengan prinsip desain deklaratif.
Sekarang Compose berada dalam tahap alfa, Web API seharusnya lebih stabil, dengan lebih sedikit, jika ada, perubahan yang dapat menyebabkan gangguan seiring berjalannya waktu.
Tulis Manajemen Jendela
Kembali ke Desktop, ada beberapa perubahan pada cara pengembang berinteraksi dengan jendela di aplikasi mereka.
Yang pertama adalah yang baru API jendela yang dapat disusun. Hal ini memungkinkan pengembang berinteraksi dengan jendela di aplikasi mereka secara deklaratif. Misalnya, judul jendela kini dapat diubah berdasarkan status, dan jendela bahkan dapat dibuka dan ditutup berdasarkan status.
Bagian lain dari API jendela baru memungkinkan pengembang memilih untuk membuka jendela baru dengan ukuran adaptif (bukan ukuran tetap). Artinya Compose akan menghitung seberapa besar jendela yang dibutuhkan berdasarkan kontennya, secara otomatis mengatur ukuran awal, lalu membuka jendela.
Plugin
JetBrains Compose selalu memiliki plugin Gradle untuk melakukan kompilasi dan eksekusi. Dengan versi alfa, plugin ini mendapatkan peningkatan versi, bersama dengan beberapa perbaikan bug.
Di atas plugin Gradle, ada sekarang menjadi plugin IDE untuk IntelliJ IDEA dan Android Studio agar lebih mendukung Compose untuk Desktop dan Web. Mirip dengan Compose untuk Android, plugin ini memungkinkan pengembang memberi anotasi pada fungsi yang dapat dikomposisi sebagai pratinjau dan melihat pratinjau tata letak langsung di IDE.
Plugin ini sangat mendasar saat ini. Satu-satunya fitur lain yang dimilikinya saat ini menghilangkan peringatan lint IDE tentang penggunaan kapitalisasi judul untuk nama fungsi yang dapat dikomposisi. Namun seiring berjalannya waktu, ia akan mendapatkan lebih banyak fitur, seperti pratinjau langsung.
Dukungan Arsitektur
Meskipun tujuan JetBrains Compose adalah untuk menjadi lintas platform, JetBrains Compose belum memiliki dukungan penuh untuk semua arsitektur CPU. Alfa memperluas dukungan saat ini sebagai berikut:
- macOS: x86-64 (amd64), arm64
- Windows: x86-64 (amd64)
- Linux: x86-64 (amd64), arm64
- Web: sesuatu yang terkini
Meskipun hal tersebut tidak mencakup semuanya, dukungan akan semakin baik di masa mendatang.
Perkembangan Masa Depan
Pilihan JetBrains untuk memindahkan Compose ke status alfa sangatlah penting. Artinya, mereka berencana untuk terus mengembangkannya, dengan tahap beta dan tahap stabil. Dan tentu saja fiturnya lebih banyak.
Kesimpulan
Sangat menarik untuk melihat apa yang dihadirkan Compose. Di Android, ini menggantikan mesin tata letak yang ketinggalan jaman (meskipun dapat digunakan dengan sempurna). Di Desktop dan Web, ia menghadirkan desain deklaratif menggunakan bahasa yang diketik dengan kuat yang lebih mudah digunakan (setidaknya bagi saya) daripada bahasa berbasis TypeScript. Khususnya di Desktop, Compose membantu mengisi kesenjangan yang cukup besar untuk mesin tata letak fungsional.
Jika Anda tertarik untuk mencoba JetBrains Compose sendiri, lihat repositori GitHub untuk rincian lebih lanjut tentang cara memulai.