Blog de programación, errores, soluciones

Chose Language:
Author: Admin/Publisher |finished | checked

Primer programa utilizando Astilectron-go

Como vimos en guis y frameworks de go astilectron nos permite crear aplicaciones cross-plataform con la ayuda de electron.

la necesidad de crear este pequeño articulo se debió a que hay muchos tutoriales de como hacer una app con astilectron pero todas ellas son una copia una de otra y no nos dicen bien como hacer la app en si, ademas de no ser una app simple para iniciar.

En este articulo haremos todo lo contrario haciendo una app, tan simple como un Hello World ya que muchas personas se han con estos otros ejemplos que no son los mejores para empezar con la GUI.

Para poder instalar astilectron debera tener golang(go language) instalado.

Primer paso: importar astilectron

Para importar astilectron deberemos abrir nuestra terminal(cmd, linux terminal, mac terminal, etc) la que sea y correr:

go get -u github.com/asticode/go-astilectron

luego deberíamos posicionarnos en la carpeta src de go y crear una carpeta ahí.

Segundo Paso: creando muestro main.go

En la documentación oficial no da información como hacerlo pero no como hacerlo realmente, para que el código que esta funcione realmente deberemos importar electron y astielectron con import.

main.go
package main

import (
	"log"
	"os"

	"github.com/asticode/go-astikit"
	"github.com/asticode/go-astilectron"
)

func main() {
	var a, _ = astilectron.New(log.New(os.Stderr, "", 0), astilectron.Options{
		AppName: "AE",
	})
	defer a.Close()

	// Start astilectron
	a.Start()
	nwin(a)
	// Blocking pattern
	a.Wait()
}

func nwin(parent *astilectron.Astilectron) {
	var w, _ = parent.NewWindow("http://127.0.0.1:4000", &astilectron.WindowOptions{
		Center: astikit.BoolPtr(true),
		Height: astikit.IntPtr(600),
		Width:  astikit.IntPtr(600),
	})
	w.Create()
}

ok deberiamos correr go mod init y go mod tidy corramos go build también para ver lo que hemos creado hasta ahora

Al correr el exe(caso windows) nos debería abrir una ventana cromium en este caso con título AE.

Bien, ya tenemos andando astilectron.

Paso 3: Agregando HTML

Hasta ahora teníamos una ventana vacía, lo que nos falta es utilizar HTML dentro de la ventana, tenga en cuenta que además de HTML podemos usar React, Vue y otros framework en conjunto con astielectron. En este caso utilizaremos HTML solo.

Para cambiar esto cambiemos parte de donde se crea la ventana:

main.go
func nwin(parent *astilectron.Astilectron) {
	var w, _ = parent.NewWindow("index.html", &astilectron.WindowOptions{
		Center: astikit.BoolPtr(true),
		Height: astikit.IntPtr(600),
		Width:  astikit.IntPtr(600),
	})
	w.Create()
}

Ahora deberíamos de hacer un archivo index.html como por ejemplo el siguiente:

index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>
<body>
    <h1>Hello World!</h1>
</body>
</html>

Este es el programa más básico que podemos hacer con astilectron, espero que le fuera de ayuda. En caso de que desee una continuación del tema, puede contactarme en twitter.

Category: go
Something wrong? If you found an error or mistake in the content you can contact me on Twitter | @luisg2249_luis.
Last 4 post in same category