Herramientas necesarias y recomendadas

Abstract

Antes de comenzar a construir bibliotecas de software poderosas, necesitamos preparar nuestro taller. Piensa en estas herramientas como compañeras de aventura: te ayudarán a escribir código con confianza, colaborar con otrxs, automatizar tareas y concentrarte en lo que realmente importa: diseñar soluciones elegantes y funcionales. Esta sección te guiará para dejar todo listo en tu sistema operativo favorito. Algunas herramientas son imprescindibles, otras son opcionales pero recomendadas para mejorar tu experiencia y flujo de trabajo.

Herramientas imprescindibles

  • Git : Control de versiones para gestionar cambios y colaborar con otrxs desarrolladorxs.
  • Java Development Kit (JDK) : Entorno necesario para ejecutar Kotlin. Se recomienda la versión 8 o superior.
  • Kotlin : Lenguaje de programación principal del curso.
  • Gradle : Herramienta para compilar proyectos y gestionar dependencias.

Herramientas recomendadas

Guía de instalación

Aquí encontrarás una guía para instalar las herramientas necesarias en tu sistema operativo, junto con sugerencias para personalizar tu entorno de desarrollo.

Si alguna instrucción no funciona o tienes problemas, revisa la documentación oficial de la herramienta o abre un issue en el repositorio del curso y con gusto te ayudaremos.

Instalación en Windows

Instalando Scoop (gestor de paquetes)

Scoop es un gestor de paquetes para Windows que facilita la instalación de herramientas desde la terminal. Puedes obtener más información en su sitio oficial. Para instalarlo, ejecuta lo siguiente en PowerShell:
# This allows running scripts downloaded from the internet
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# This installs Scoop
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
Verifica que la instalación se haya realizado correctamente:
scoop --version

Mejorando la terminal

Windows incluye una terminal básica, pero puedes mejorar tu experiencia instalando Windows Terminal y personalizándola con Oh My Posh.

scoop install oh-my-posh
oh-my-posh init pwsh | Invoke-Expression

Configuración avanzada de Oh My Posh

Para una mejor experiencia visual, te recomendamos instalar una fuente compatible con símbolos y ligaduras, como Fira Code.
oh-my-posh font install FiraCode
Luego, configura tu terminal para que utilice la fuente instalada. Consulta la guía de configuración de fuente. Puedes elegir un tema visual para el prompt desde la galería de temas disponibles. Para aplicar la configuración automáticamente cada vez que abras PowerShell, edita tu perfil:
# Create the profile if it does not exist
if (-not Test-Path $PROFILE) {
    New-Item -Type File -Path $PROFILE -Force
}
notepad $PROFILE
Dentro del archivo, agrega la siguiente línea para inicializar Oh My Posh automáticamente con tu tema preferido:
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\emodipt-extend.omp.json" |
    Invoke-Expression
Guarda el archivo y reinicia la terminal para que los cambios surtan efecto. Para una personalización aún más completa, consulta la documentación oficial de Oh My Posh.

Instalación de herramientas esenciales

Puedes instalar Git, GitLab CLI, OpenJDK 21, Gradle y JetBrains Toolbox con un solo comando usando scoop:

scoop install git glab openjdk21 gradle jetbrains-toolbox

¿Por qué Java 21?

Java 21 es una versión de soporte extendido (LTS), lo que significa que recibirá actualizaciones y parches durante varios años. Aunque puedes usar versiones más recientes de Java si lo prefieres, no obtendrás beneficios significativos al trabajar con Kotlin, ya que el lenguaje está diseñado para funcionar correctamente con cualquier versión igual o superior a la 8.

Configurando el entorno de desarrollo

Para programar en Kotlin, te recomendamos usar JetBrains Toolbox para instalar IntelliJ IDEA (Community o Ultimate), el entorno de desarrollo más completo para este lenguaje.

¿Prefieres algo más ligero?

Fleet es una alternativa más rápida y minimalista, ideal para proyectos pequeños. También puedes instalarla desde JetBrains Toolbox.

Instalación en macOS

Instalación de Homebrew (gestor de paquetes)

En sistemas macOS y Linux, Homebrew es una herramienta popular para instalar software desde la terminal. Su uso facilita la gestión de herramientas como Git, JDK o Gradle. Instálalo con el siguiente comando:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Verifica que la instalación fue exitosa:
brew --version

¿Usas Linux?

Si estás en Linux, asegúrate de seguir las instrucciones específicas para tu distribución en la documentación oficial de Homebrew para Linux.

Instalación de herramientas esenciales

Con Homebrew puedes instalar las herramientas necesarias para el curso con los siguientes comandos. Esto incluye Git, GitLab CLI, el JDK 21, Gradle y JetBrains Toolbox.
brew install git glab temurin@21 gradle
brew install --cask jetbrains-toolbox

¿Por qué Java 21?

Java 21 es una versión de soporte extendido (LTS), lo que significa que recibirá actualizaciones y parches durante varios años. Aunque puedes usar versiones más recientes de Java si lo prefieres, no obtendrás beneficios significativos al trabajar con Kotlin, ya que el lenguaje está diseñado para funcionar correctamente con cualquier versión igual o superior a la 8.

Configurando el entorno de desarrollo

Para programar en Kotlin, te recomendamos usar JetBrains Toolbox para instalar IntelliJ IDEA (Community o Ultimate), el entorno de desarrollo más completo para este lenguaje.

¿Prefieres algo más ligero?

Fleet es una alternativa más rápida y minimalista, ideal para proyectos pequeños. También puedes instalarla desde JetBrains Toolbox.

Instalación en Linux (Debian/Ubuntu)

¿Y si no uso Debian/Ubuntu? 😭

Entiendo que existen muchas distribuciones de Linux, pero para mantener el enfoque y la claridad, decidimos centrarnos en Debian/Ubuntu por ser las más populares. Aun así, la mayoría de las instrucciones deberían ser fácilmente adaptables a otras distribuciones con gestores de paquetes similares. Si lo deseas, puedes contribuir con una guía para tu distribución favorita en el repositorio del curso. No puedo garantizar que se incluya oficialmente ni que su contenido se mantenga actualizado, pero sin duda puede ser útil para otrxs.

Instalación de Git

Para instalar Git en Debian o Ubuntu, ejecuta los siguientes comandos:
sudo apt update
sudo apt install git

Instalación de GitLab CLI

Guarda el siguiente script como install_glab.sh :

Script de instalación de GitLab CLI (requiere curl )
#!/bin/bash
set -e

# Prefer /usr/local/bin, but if not running as root, fallback to ~/.local/bin
INSTALL_DIR=/usr/local/bin
if [ "$(id -u)" -ne 0 ]; then
  echo "Warning: not running as root; installing to ~/.local/bin instead"
  INSTALL_DIR="$HOME/.local/bin"
  mkdir -p "$INSTALL_DIR"
fi

# Map uname to release naming
arch=$(uname -m)
case "$arch" in
  x86_64) arch_label="amd64" ;;
  aarch64) arch_label="arm64" ;;
  *) echo "Unsupported architecture: $arch"; exit 1 ;;
esac

# Fetch latest release tag from GitLab API
project="gitlab-org%2Fcli"
tag=$(curl -s "https://gitlab.com/api/v4/projects/${project}/releases?per_page=1" \
  | grep -o '"tag_name":"v[0-9.]\+"' | head -n1 | cut -d '"' -f4)

if [ -z "$tag" ]; then
  echo "Failed to fetch latest release tag."
  exit 1
fi

ver_no_v="${tag#v}"
file="glab_${ver_no_v}_linux_${arch_label}.tar.gz"
url="https://gitlab.com/gitlab-org/cli/-/releases/${tag}/downloads/${file}"
tmp=$(mktemp -d)

echo "Downloading ${file}..."
curl -sL "$url" | tar -xz -C "$tmp"

# Find the extracted binary
binary=$(find "$tmp" -maxdepth 3 -type f -name glab -perm /u=x | head -n1)
if [ -z "$binary" ]; then
  echo "glab binary not found after extraction."
  rm -rf "$tmp"
  exit 1
fi

# Install it
install -m755 "$binary" "${INSTALL_DIR}/glab"
rm -rf "$tmp"

echo "glab ${tag} installed in ${INSTALL_DIR}"

Hazlo ejecutable y corre el instalador:

chmod +x install_glab.sh
sudo ./install_glab.sh # or ./install_glab.sh if you don't use sudo and accept installation in ~/.local/bin

Instalación de SDKMAN! (gestor de SDKs como Java y Gradle)

¿Qué es SDKMAN!?

SDKMAN! es una herramienta de línea de comandos para instalar, gestionar y cambiar versiones de SDKs como Java, Gradle, Maven, entre otros. Es especialmente útil para mantener múltiples versiones de herramientas en entornos de desarrollo.
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk version

¿Qué SDKs puedo instalar?

Con SDKMAN! puedes instalar versiones específicas de Java, Gradle, Kotlin, Scala y muchas otras herramientas populares. Puedes listarlas con sdk list .
sdk install java
sdk install gradle
java --version
gradle --version

Configurando el entorno de desarrollo

Para programar en Kotlin, te recomendamos usar JetBrains Toolbox para instalar IntelliJ IDEA (Community o Ultimate), el entorno de desarrollo más completo para este lenguaje. Puedes descargar JetBrains Toolbox desde su sitio oficial.

¿Prefieres algo más ligero?

Fleet es una alternativa más rápida y minimalista, ideal para proyectos pequeños. También puedes instalarla desde JetBrains Toolbox.

Resumen de instalación por sistema operativo

Herramienta
Windows (Scoop)
macOS (Homebrew)
Linux (SDKMAN!)
Git scoop install git brew install git sudo apt install git
GitLab CLI scoop install glab brew install glab Ver script arriba
JDK scoop install openjdk21 brew install temurin@21 sdk install java
Gradle scoop install gradle brew install gradle sdk install gradle
IntelliJ IDEA JetBrains Toolbox JetBrains Toolbox JetBrains Toolbox
Alternativa Fleet Fleet Fleet
Tab. Comandos recomendados para instalar las herramientas necesarias en cada sistema operativo.

Verificación final del entorno

Asegúrate de que todas las herramientas necesarias están correctamente instaladas ejecutando el siguiente comando:
git --version && glab --version && java -version && gradle -v
Si el comando se ejecuta sin errores, ¡felicitaciones! Tu entorno de desarrollo está listo para comenzar a programar en Kotlin.

Accesibilidad

Si usas un lector de pantalla o tienes alguna necesidad particular respecto al entorno de desarrollo, por favor comunícalo para que podamos ayudarte a configurar una alternativa accesible.