Hace tiempo windows no parecía ser una buena opción para desarrolladores, se escuchaba por aquí y por allá que los mejores desarrolladores trabajaban con Linux y en ese entonces tal vez tenían razón todas esas personas, sin embargo Microsoft ha hecho un trabajo excelente tanto en desarrollo de funciones pensadas para desarrolladores como en la adquisición de herramientas muy poderosas.
En este post te voy a presentar algunas de las herramientas que yo utilizo en mi día a día como desarrollador usando Windows/Linux.
WSL
Windows Subsystem for Linux, esta es la razón por la que dije Windows/Linux ya que esta herramienta de Microsoft nos permite correr el Kernel de Linux dentro del mismo Windows, y con eso no quiero decir que se termino el uso de maquinas virtuales o hacer cosas raras como particionar el disco duro para poder tener una instalación de Linux.
En especifico yo hago uso de WSL2 que es la versión mas reciente de esta herramienta. Sin embargo si tu quieres usar esta versión debes asegurarte de algunas cosas en tu PC
- Debes tener el build 2004 de Windows
- Tener Windows 10 Pro
- Que tu pece permita la virtualización de HyperV
Si tu compu cumple estos requisitos pues a darle, puedes seguir este tutorial para realizar la instalación de WSL2, yo utilizo Ubuntu 20.04 como distro por cierto.
Algunas ventajas que nos da WSL2 es por ejemplo el uso de Docker, es bastante rápido y sobre todo que es un Linux.
Pero... también tiene algunas desventajas ya que como hace uso de una virtualización significa que estará usando los recursos físicos de tu compu lo cual significa mucho uso de RAM y debemos tener cuidado por que WSL no se mide y puede llegar a consumir toda la memoria pero no te preocupes que hay forma de limitarle cuanta memoria le damos, pero si es la primera vez que lo usamos si que nos va a dar miedo como consume.
Windows Terminal
Una de las razones por las que la gente escapaba de Windows como entorno de desarrollo era el horrible CMD y su nula personalización.
Microsoft de dio cuenta de eso tal vez un poco tarde pero si que creo una terminal muy muy decente casi hasta excelente y esta es Windows terminal.
Esta terminal de windows te permite correr tu Ubuntu de WSL y al mismo tiempo correr Debian y al mismo tiempo PowerShell, y también CMD, en fin cualquier numero de terminales.
En cuanto a personalización pues es increíble, te permite crear esquemas por perfil (es decir por terminal) por cada aplicación si así lo deseas por ejemplo tener unos colores para Ubuntu y otros para PowerShell, puedes configurar una fuente para Debian y otra para CMD, puedes poner una imagen de fondo si quieres. Una de las cosas que tiene diferente respecto a otras terminales en windows o emuladores de terminal es que no permite transparencia pero si un efecto de acrílico, igual para mi no es algo tan importante así que estamos OK.
Visual Studio Code
Este editor de codigo se ha convertido en el favorito de una gran cantidad de desarrolladores y con justa razon, Microsoft se encargo de crear una herramienta realmente potente para escribir codigo.
Tiene soporte para básicamente cualquier lenguaje de programación y si no lo tiene tu mismo lo puedes crear ya que tu mismo puedes crear tus propios plugins.
Y hablando de plugins... pues hay de todo tipo, color y sabor (tal vez lo ultimo no), en su manejador de plugins solo basta con que escribas que estas buscando y te dará un gran numero de sugerencias, puedes buscar desde temas hasta keymaps por si vienes de otro editor y ya tenias memorizados los atajos de teclado.
Otra de las ventajas que tiene este editor es que se puede sincronizar tu configuración, por ejemplo si estas en una PC pero decides cambiarla solo basta con que tengas tu configuración sincronizada y el editor se encargara de quedar exactamente igual que en tu anterior computadora.
Además de esto puedes generar configuraciones especificas por grupo de trabajo, por ejemplo si estas trabajando en un proyecto escolar usar un tema, pero si estas trabajando en tu portafolio personal usar otro tema, esto es increíble por que no solo se limita a esto, puedes escoger una versión de python por ejemplo para un proyecto y otra versión para otro.
zsh y oh my zsh
Regresemos un poco a la terminal y es que ya que tengo instalada una distro de linux en WSL también puedo correr todos sus comandos lo cual para mi significo poder personalizar el bash de Linux.
Si bien existen muchas opciones para personalizar esto, ZSH ha adquirido gran popularidad en el mundo de Linux por si gran extensibilidad y rapidez.
Y respecto a su extensibilidad tenemos oh my zsh el cual es un framework para administrar la instalación de zsh, usando este framework es que podemos instalar temas, o plugins que le darán esteroides a nuestra terminal y a mi en lo personal me facilitan mucho el trabajo día con día.
Hablando de eso estos son los plugins y temas que yo utilizo.
- Spaceship (tema)
- Syntax Highlighting
- zsh-autosuggestions
- Git que viene preinstalado
JetBrains Mono
Esta es una fuente que si bien no es propia de microsoft ni mucho menos solo instalable en windows la incluyo pues es la que yo utilizo en mi terminal en mi editor de codigo incluso en los mails.
Es una fuente muy fácil de leer, tiene font ligarures, tiene el respaldo de jetbrains que si de algo saben ellos es de herramientas para desarrolladores.
Conclusión
Bien como lo mencione estas son algunas de las herramientas que yo utilizo día con día como desarrollador , es por eso que no incluyo otras como Notion que yo utilizo mas como gestión y administración de proyectos.
Para mi es increíble todo lo que Microsoft ha y hecho y sigue haciendo en pro de los desarrolladores, la compra de Github o su nueve Asure, sin duda alguna windows es una increíble opción para la vida de un desarrollador y eso hace mucho que no se decía.