Membawa Kotlin ke Web

MEI 10, 2023
Vivek Sekhar Product Manager

This post describes early experimental work from JetBrains and Google. You can learn more in the session on WebAssembly at Google I/O 2023.

Developer aplikasi ingin menjangkau sebanyak mungkin pengguna di sebanyak mungkin platform yang mereka bisa. Hingga sekarang, untuk mencapai tujuan tersebut berarti harus membangun aplikasi di Android, iOS, dan Web, serta membangun server backend dan infrastruktur untuk mendukungnya.

kotlinWeb1

Untuk mengurangi beban, beberapa developer menggunakan bahasa dan framework multiplatform untuk mengembangkan logika bisnis dan UI aplikasi mereka. Membawa aplikasi multiplatform ini ke Web berarti "mengompilasi" kode aplikasi bersama ke versi JavaScript yang lebih lambat yang bisa berjalan di browser. Sebagai gantinya, developer sering kali harus menulis ulang aplikasi mereka dalam JavaScript, atau cukup mengarahkan pengguna Web untuk mendownload aplikasi seluler native mereka.

Komunitas Web sedang mengembangkan alternatif yang lebih baik: dukungan Web langsung untuk bahasa modern berkat teknologi baru yang disebut WebAssembly GC. Fitur Web baru ini memungkinkan kode lintas platform yang ditulis dalam bahasa yang didukung untuk berjalan dengan performa yang mendekati native dalam semua browser utama.

Kami sangat antusias dapat meluncurkan dukungan eksperimental untuk kemampuan baru ini di Web untuk Kotlin, membuka peluang berbagi kode baru dengan performa yang lebih cepat untuk developer Android dan Web.

Pengembangan Kotlin Multiplatform di Web

Kotlin adalah bahasa produktif dan efektif yang digunakan oleh 95% dari 1.000 aplikasi Android teratas. Developer mengatakan bahwa mereka lebih produktif dan membuat lebih sedikit bug setelah beralih ke Kotlin.

Framework Kotlin Multiplatform Seluler dan Compose Multiplatform dari JetBrains membantu developer berbagi kode antara aplikasi Android dan iOS. Framework ini sekarang menawarkan dukungan eksperimental untuk kompilasi Kotlin ke WebAssembly. Eksperimen awal menunjukkan bahwa kode Kotlin berjalan hingga 2x lebih cepat di Web menggunakan WebAssembly daripada JavaScript.

kotlinWeb2

JetBrains membagikan lebih banyak detail dalam catatan rilis untuk versi 1.18.20 dari compiler K2 mereka, serta dokumentasi tentang cara mencoba Kotlin/Wasm dengan aplikasi Anda.

Melakukannya

Membawa bahasa seluler modern seperti Kotlin ke Web membutuhkan pemecahan masalah teknis yang menantang, seperti pembersihan sampah memori multi-bahasa dan interoperabilitas JavaScript. Anda bisa mempelajari lebih lanjut dalam sesi tentang bahasa WebAssembly baru dari konferensi Google I/O tahun ini.

Pekerjaan ini tidak akan mungkin terwujud tanpa adanya kolaborasi terbuka antara vendor browser, akademisi, dan penyedia layanan di Web sebagai bagian dari W3C WebAssembly Community Group. Dalam beberapa minggu mendatang, kami akan membagikan detail teknis tentang pekerjaan inovatif ini di Blog V8.

Looking ahead: Web and Native Development

Selama beberapa dekade, developer telah memimpikan Web menjadi semacam "runtime universal", sementara pada saat yang sama mengakui adanya kesenjangan fitur atau performa tertentu dibandingkan dengan platform native. Developer sudah sejak lama harus beralih antara bekerja di Web atau aplikasi seluler native mereka.

Namun, kami ingin Anda dapat bekerja di Web dan pengalaman native secara bersamaan, tidak hanya untuk membantu Anda mengurangi kesulitan, tetapi juga untuk membantu Anda memanfaatkan kekuatan super Web yang unik.

Di web terbuka, aplikasi Anda hanya perlu satu klik dari pengguna baru, yang dapat menemukannya dan membagikannya semudah mereka membagikan halaman web, tanpa ada app store yang menghalangi dan rasio bagi hasil yang memengaruhi profitabilitas Anda.

Produktivitas pengembangan lintas platform, performa aplikasi seluler native, dan keterbukaan web. Itu sebabnya kami menyukai WebAssembly.

Kami tak sabar ingin segera melihat kreasi Anda yang berikutnya!