webzen adalah Go Game Engine yang menargetkan WebAssembly, memungkinkan Anda membangun aplikasi web dengan Go. Ini membantu Anda membuat game dengan mudah dan cepat. Proyek ini memanfaatkan syscall/js
untuk berinteraksi dengan runtime JavaScript di browser.
Harap dicatat bahwa webzen saat ini sedang dalam pemeliharaan tinggi dan belum siap produksi. Proyek ini sedang dikembangkan dan ditingkatkan secara aktif, itulah sebabnya hanya cabang
dev
yang tersedia. Saat ini dalam status Beta
webzen tidak memerlukan apa pun kecuali versi Go yang lebih tinggi dari 1,18. Tidak diperlukan kompiler C atau apa pun, tetapi kami menyarankan wasmserve untuk menjalankan kode Anda dengan cepat.
webzen adalah paket go biasa, jadi Anda bisa mendapatkannya menggunakan perintah ini:
go get github.com/dimkauzh/ webzen @latest
Paket ini juga tersedia di pkg.go.dev.
Untuk menjalankan contoh yang disediakan dalam repositori ini, ikuti langkah-langkah berikut:
git clone github.com/dimkauzh/ webzen .git
cd webzen
Pertama, pastikan Anda telah menginstal Go, kedua, jalankan make install untuk menginstal semua yang diperlukan:
make setup
make example
Buka browser web Anda dan kunjungi http://localhost:8080 untuk melihat contoh tindakan.
Untuk membangun aplikasi WebAssembly siap produksi dengan webzen , ikuti langkah-langkah berikut:
Kompilasi kode Go Anda ke WebAssembly menggunakan flag GOOS=js dan GOARCH=wasm. Ganti build_path/file_name.wasm dan file_path/file_name.go masing-masing dengan jalur file keluaran dan file sumber yang Anda inginkan:
GOOS=js GOARCH=wasm go build -o build_path/file_name.wasm file_path/file_name.go
Anda kemudian dapat memasukkan file .wasm yang dihasilkan ke dalam aplikasi web Anda dan memuatnya menggunakan JavaScript.
Silakan jelajahi contoh yang diberikan dalam repositori ini untuk lebih memahami cara kerja webzen dan cara membuat aplikasi web yang didukung Go.
Dokumentasi untuk webzen tersedia di https://github.com/dimkauzh/webzen/wiki
Proyek ini dilisensikan di bawah Lisensi GPLv3 - lihat file LISENSI untuk detailnya.