suji - Pengganti Electron
(github.com/ohah)Versi mirip Electron yang dibuat dengan Zig.
Judulnya memang saya tulis agak keren, tapi pada dasarnya ini hanyalah framework desktop yang dibuat dengan Zig.
Menurut saya, Electron pada dasarnya adalah aplikasi yang sulit dihindari saat mengembangkan aplikasi desktop,
terutama ketika harus mempertimbangkan lingkungan Mac dan Windows secara bersamaan, serta ingin mempertahankan produktivitas yang tinggi, saya rasa tidak ada framework yang semenarik Electron.
Ekosistem JS bisa dimanfaatkan apa adanya, sudah teruji di pasar (vscode, slack, discord, dll.)
dan karena kegunaan umum serta kelebihannya, penggunaan Electron sangat luas, sehingga kekurangannya juga banyak dikenal dan banyak dikritik.
Saya juga salah satu pengguna yang punya ketidakpuasan seperti itu,
karena tidak suka hal tersebut saya sempat mencoba Tauri, tetapi Tauri juga punya keterbatasan kronis(?) berupa system webview, dan jika memakai Tauri bahasa backend jadi terbatas ke Rust,
kalau memakai Electron terbatas ke Node,
dan kalau memakai Wails terbatas ke Go.
Tentu saja kalau memakai FFI bahasa lain juga bisa dimasukkan, tapi..
sejujurnya, apalagi di zaman sekarang ketika hambatan antarbahasa sudah banyak runtuh, saya tidak suka ada pembatasan bahasa gara-gara framework.
zig, rust, go, lua, node
bisa dipilih masing-masing sebagai bahasa backend, dan sekaligus juga bisa memilih beberapa bahasa untuk menyiapkan beberapa backend sekaligus.
Saya berencana terus menambahkan bahasa backend sebanyak mungkin.
python dan Ruby juga.
Karena bisa memasukkan beberapa bahasa sekaligus, masing-masing bahasa backend juga bisa saling berkomunikasi melalui IPC.
Misalnya saat memanggil SQLite, di Node biasanya
harus menginstal better-sqlite3, tetapi untuk SQLite sudah disertakan sebagai plugin bawaan, dan Node bisa memanggil Zig secara langsung untuk menggunakannya.
Saat ini juga sudah bisa dibangun untuk mobile, tetapi selain Mac masih belum stabil.
Hanya iOS yang, karena kebijakan platform, tidak bisa menggunakan Node sebagai bahasa backend.
Saat ini Mac sudah dalam kondisi benar-benar siap untuk build dan produksi produk, sedangkan Windows dan Linux masih perlu beberapa penyempurnaan.
Dukungan mobile juga sedang direncanakan.
Karena kekurangan system webview yang saya alami di Tauri,
di Mac saya tidak berencana memakai system webview.
API dan cara pakainya saya buat semirip mungkin dengan API Electron,
dan karena ada dokumentasi serta spesifikasi yang mudah dipakai AI untuk pengembangan, pada praktiknya cukup menaruh tautan dokumentasi maka AI bisa memverifikasi sampai E2E sendiri, jadi bisa dibilang ini framework dengan produktivitas AI yang jauh lebih baik dibanding framework pesaing lainnya.
Sejujurnya ini saya buat karena kesal dengan Electron dan Tauri,
dan secara pribadi sekarang kalau membuat alat DX atau aplikasi desktop saya mengembangkannya dengan suji,
Mungkin saja pengukuran saya salah, tetapi menurut saya dibanding pemanggilan lewat FFI, struktur ini memungkinkan komunikasi antarbahasa yang lebih cepat, jadi saya lebih puas.
Untuk membuat aplikasi sederhana dan menghasilkan sesuatu dengan cepat tanpa terikat bahasa, saya merasa ini lebih cepat daripada Electron atau Tauri, jadi secara pribadi saya cukup puas.
Saya juga penasaran apakah ini memang bagus atau saya hanya puas karena saya sendiri yang membuatnya, dan saya ingin mendengar pendapat orang lain tentang ide dan pendekatan seperti ini, jadi saya mempostingnya di sini!
Belum ada komentar.