webzen es un motor de juego Go dirigido a WebAssembly, lo que le permite crear aplicaciones web con Go. Te ayuda a crear tus juegos de forma fácil y rápida. Este proyecto aprovecha syscall/js
para interactuar con el tiempo de ejecución de JavaScript en el navegador.
Tenga en cuenta que webzen se encuentra actualmente en alto mantenimiento y no está listo para producción. El proyecto se está desarrollando y mejorando activamente, por lo que solo hay una rama
dev
disponible. Actualmente está en estado Beta.
webzen no necesita nada excepto la versión Go superior a 1.18. No se necesita ningún compilador de C ni nada, pero recomendamos wasmserve para ejecutar rápidamente su código.
webzen es un paquete go normal, por lo que puedes obtenerlo usando este comando:
go get github.com/dimkauzh/ webzen @latest
El paquete también está disponible en pkg.go.dev.
Para ejecutar el ejemplo proporcionado en este repositorio, siga estos pasos:
git clone github.com/dimkauzh/ webzen .git
cd webzen
Primero, asegúrese de tener Go instalado; en segundo lugar, ejecute make install para instalar todo lo necesario:
make setup
make example
Abra su navegador web y vaya a http://localhost:8080 para ver el ejemplo en acción.
Para crear una aplicación WebAssembly lista para producción con webzen , siga estos pasos:
Compile su código Go en WebAssembly usando los indicadores GOOS=js y GOARCH=wasm. Reemplace build_path/file_name.wasm y file_path/file_name.go con la ruta del archivo de salida y el archivo fuente que desee, respectivamente:
GOOS=js GOARCH=wasm go build -o build_path/file_name.wasm file_path/file_name.go
Luego puede incluir el archivo .wasm generado en su aplicación web y cargarlo usando JavaScript.
No dude en explorar el ejemplo proporcionado en este repositorio para comprender mejor cómo funciona webzen y cómo puede crear sus propias aplicaciones web impulsadas por Go.
La documentación para webzen está disponible en https://github.com/dimkauzh/webzen/wiki
Este proyecto tiene la licencia GPLv3; consulte el archivo de LICENCIA para obtener más detalles.