¿Porque escoger Go para crear una API?
Go es un lenguaje pensado para la web por Google y se caracteriza por:
- lenguaje rápido: por ser compilado y tener poca locación de memoria.
- Fuertemente tipado: facilitando la creación de código limpio y fácil de leer.
- Eficiente para crear servidores y aplicaciones web: Es un leguaje pensado para la web preparado con multi-hilo y asincronismo.
Por lo que es perfecto para crear API rápidamente y con un buen rendimiento.
¿Que es Fiber y porque debería usarlo?
Fiber es un framework web inspirado en Express construido sobre Fasthttp, el motor HTTP más rápido para Go. Diseñado para facilitar las cosas para un desarrollo rápido con cero asignación de memoria y rendimiento en mente.
Existen varios Frameworks de Go, pero entre todos Fiber es mi favorito, bastante sencillo de usar y con gran rendimiento, sirve tanto para un proyecto pequeño como para uno grande. Es ideal para comenzar con Go, tiene una buena documentación, y en caso de necesitar ayuda tiene un servidor de Discord muy activo (En ingles 😎).
¿Bien, Como empiezo?
Primero que nada necesitas Go para trabajar con Go (🤪) así que hay que descargarlo en la pagina oficial de Go, descargan la version mas nueva de Go, una vez instalado ejecutan este comando:
> go version
go version go1.15.6 windows/amd64
¡Genial! ¡Ya tenemos Go instalado!
¡Ahora necesitamos crear nuestro gran proyecto! Vamos a usar “Go Modules” para crear un proyecto en cualquier carpeta, ejecutamos este comando:
> go mod init asombrosoProyecto
go: creating new go.mod: module asombrosoProyecto
creara un nuevo proyecto en la carpeta con el nombre asombrosoProyecto, puedes cambiarlo por lo que quieras, y sera la ruta base de nuestro proyecto. Además notaras el archivo go.mod
el cual fue creado y nos dice el nombre del proyecto, la version de Go y las dependencias que tenemos, que de momento no tenemos ninguna.
¿Que necesitamos para crear una API con Fiber? Pues Fiber ¿no? 🤣
Para instalar un ejecutamos el comando go get
seguido del nombre del paquete, para instalar fiber ejecutamos:
> go get github.com/gofiber/fiber/v2
go: downloading github.com/gofiber/fiber/v2 v2.3.3
Esto agregara fiber como dependencia a nuestro go.mod , en este punto debería verse así:
module asombrosoProyecto
go 1.15
require github.com/gofiber/fiber/v2 v2.3.3
Tambien habrá creado un go.sum el cual se encargará de gestionar nuestras versiones e indicar el hash de integridad de cada una de ellas, permitiendo trabajar con las dependencias.
¡Listo! ¡Ya tenemos todo lo necesario para empezar a escribir código! 🤩
Escribir el código de nuestra API
Creamos un archivo main.go
y abrimos nuestro editor de código de preferencia, agregamos log
y fiber a nuestro programa:
package main
import (
"log"
"github.com/gofiber/fiber/v2"
)
esto importara log
y fiber para ser usado en nuestro código, en nuestra función main
agregamos este código:
func main() {
//Crear nuestra aplicación de Fiber
app := fiber.New()
/*Esto creara una petición GET en la ruta base
Regresara un simple string
Primero se agrega un string que sera el path de la ruta
y luego se agrega la funcion handler, el cual tiene
siempre esa forma*/
app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("Hello, World 👋!")
})
/*Se ejecuta el servidor y en caso de fallar mostrara
log.Fatal con el error*/
log.Fatal(app.Listen(":3000"))
}
Ahora para ejecutar el servidor, ejecutamos go run main.go
pero primero, para evitar errores con las dependencias, ejecutamos:
go mod tidy
Esto para garantizar que los módulos de los que depende tu proyecto no cambien inesperadamente, ya sea por razones maliciosas, accidentales o de otro tipo.
Ahora si, ejecuta:
go run main.go
Y deberían ver algo como esto:
¡Felicidades! ¡Tienes tu primera API con Go Fiber! visita localhost:3000
en tu navegador y deberías ver:
Para seguir aprendiendo te recomiendo que mires:
- Fiber Recipes: Un conjunto de ejemplos creados con fiber, diferentes bases de datos, tecnologías o testing.
- Fiber Docs: La documentación tiene todo lo que necesitas para crear una aplicación, pequeña o grande.
Pero sobre todo, no dejes de aprender y exprimentar. Nunca pares de aprender.
En un futuro Post cubriré como crear un CRUD e integrarlo con PostgreSQL 😘 Gracias por leer.
Top comments (2)
Gracias por compartir! justo lo que andaba buscando para empezar a usar fiber.
Gracias a ti, me alegro que te haya servido 🤗.