Skip to content

Calculadora web retro construida con Go y WebAssembly. Proyecto simple para experimentar con la compilación de Go a .wasm y su integración con JavaScript en el navegador.

Notifications You must be signed in to change notification settings

DavidDevGt/calc-8-wasm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Calc-8: Calculadora WebAssembly con Go

Versión Licencia Go WebAssembly

Calculadora Calc-8 Preview

📝 Descripción

Calc-8 es una calculadora web retro que implementa operaciones matemáticas usando WebAssembly compilado desde Go. La aplicación combina una interfaz visual con estilo pixel-art con la potencia y eficiencia de código Go compilado a WebAssembly.

✨ Características

  • Operaciones matemáticas básicas: suma, resta, multiplicación y división
  • Manejo de errores en operaciones como división por cero
  • Interfaz retro con estilo pixel-art y animaciones
  • Soporte completo para teclado
  • Diseño responsivo para dispositivos móviles
  • Implementación eficiente usando WebAssembly

🚀 Instalación y Ejecución

Prerrequisitos

  • Go 1.16 o superior
  • Navegador moderno con soporte para WebAssembly
  • Python (opcional, para servir archivos estáticos)

Compilación y Ejecución

  1. Clona el repositorio

    git clone https://github.com/DavidDevGt/calc-8-wasm.git
    cd calc-8-wasm
  2. Compila el codigo Go a WebAssembly

    GOOS=js GOARCH=wasm go build -o web/main.wasm ./cmd/web
  3. Ejecuta el server

    cd web
    python -m http.server 8080
  4. Abre tu navegador en http://localhost:8080

🔍 Documentación

Para documentación técnica detallada, consulta la carpeta docs:

🧰 Tecnologías Utilizadas

  • Frontend: HTML5, CSS3, JavaScript (ES6)
  • Backend: Go 1.16+ compilado a WebAssembly
  • Integración: wasm_exec.js proporcionado por Go

📊 Estructura del Proyecto

└── wasm-test/
    ├── cmd/
    │   └── web/             # Código Go para WebAssembly
    │       └── main.go
    ├── docs/                # Documentación detallada
    │   ├── arquitectura.md
    │   ├── wasm-api.md
    │   ├── development.md
    │   └── images/
    │       └── calculator-preview.png
    ├── web/                 # Frontend
    │   ├── index.html       # Estructura HTML
    │   ├── styles.css       # Estilos CSS
    │   ├── main.js          # Lógica JavaScript
    │   ├── wasm_exec.js     # Runtime para WebAssembly
    │   └── main.wasm        # Binario compilado WebAssembly
    ├── go.mod               # Dependencias Go
    └── README.md            # Este archivo

🤝 Contribuciones

Las contribuciones son bienvenidas. Por favor, sigue estos pasos:

  1. Haz fork del repositorio
  2. Crea una rama para tu feature (git checkout -b feature/nueva-funcionalidad)
  3. Haz commit de tus cambios (git commit -m 'Añadir nueva funcionalidad')
  4. Haz push a la rama (git push origin feature/nueva-funcionalidad)
  5. Abre un Pull Request

Hecho con mucho ☕

About

Calculadora web retro construida con Go y WebAssembly. Proyecto simple para experimentar con la compilación de Go a .wasm y su integración con JavaScript en el navegador.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published