Rider, un IDE multiplataforma para .NET

Uno de los puntos que podemos marcar como desventaja en lo que es el desarrollo en .NET es la poca variedad de IDE’s con la que contamos, además de estar atados a Windows como sistema operativo.

Esto es algo que está cambiando en el último tiempo con el cambio de enfoque producido por la salida de .NET Core y por ende la posibilidad de usar otros IDE’s e incluso otros sistemas operativos. Una de las alternativas es ofrecidas por Microsoft es VS Code, pero al igual que las otras alternativas pueden quedarse un poco reducidas en funcionalidad en comparación a lo que es Visual Studio (aunque esto inevitablemente lo haga pesado).

Hace un tiempo terminé encontrando una alternativa interesante: Rider.

Rider es un IDE para desarrollo .NET que se puede ejecutar en Windows, macOS y Linux. Desarrollado por JetBrains, Rider toma como base IntelliJ, un IDE base muy bien logrado tanto desde el punto de vista de la usabilidad, personalización y del rendimiento. Además de que incorpora de forma nativa ReSharper. Al menos como estoy acostumbrado a usar algunos IDE’s de esa plataforma (especialmente Android Studio), la experiencia de uso me dejó muy buenas sensaciones.

En este post veremos como realizar la instalación en Ubuntu 17.04 y unos ejemplos de uso. Lo primero que haremos es proceder a su descarga desde el sito oficial a través del siguiente link.

Una vez finalizada la descarga del mismo (unos 350 MB) iremos a la carpeta donde lo descargamos y aplicaremos los siguientes comandos:

tar -xf riderRS-171.4456.199.tar.gz
chmod -R 777 Rider-171.4456.199
cd Rider-171.4456.199
cd bin
./rider.sh

Nota: los nombres de carpeta están asociados a la versión que bajé al momento de escribir este post, el cual puede variar al momento en el que lo estén usando.

Una vez finalizado esto, ya podremos comenzar con la ejecución de Rider en nuestro equipo:

Rider - Portada.png

Lo siguiente que deberemos hacer es instalar las dependencias para permitir la compilación y ejecución de las aplicaciones .NET

Para las apps que usen el esquema de Full Framework (lo tradicional hasta la fecha) se deberá proceder a la instalación de los paquetes de Mono. Para ello ejecutaremos los siguientes comandos:

sudo apt-get install mono-devel
sudo apt-get install mono-complete
sudo apt-get install mono-xsp4

Con eso ya tendremos nuestro entorno de desarrollo listo para comenzar a trabajar. Si no tenemos instalado Git de forma previa, idealmente deberíamos instalarlo para poder trabajar con cualquier repositorio de control de código fuente que lo utilice:

sudo apt-get install git

Una vez finalizado eso, en este ejemplo iremos a la opción de clonar un nuevo repositorio y seleccionaremos uno existente. En nuestro caso lo haremos con el repositorio de Internacionalización que hemos usado hace un tiempo ya. El mismo se caracteriza por ser una aplicación Full Framework desarrollada hace un tiempo, por lo que no es de la rama .NET Core que tiene la particularidad de que se pueden ejecutar en Linux de forma nativa.

Para ello seleccionamos la opción “Check out from Version Control” y seleccionaremos el proveedor que necesitemos usar. Punto a favor: amplio soporte, ya que podemos usar repositorios GitHub, Bitbucket, Team Services (con Git y TFS), Mercurial y Subversion, lo que nos facilita integrarnos con todos los proveedores asociados (en mi caso tengo repositorios en los tres primeros y la integración es excelente).

En este caso lo haremos con GitHub, por lo que una vez autenticados ya nos aparecerán los repositorios a los que tenemos acceso. Lo seleccionamos, indicamos la carpeta donde lo mapearemos y procedemos a clonarlo:
Rider - CloneRepo.png

Con esto realizado ya podremos abrir nuestra solución.  Lo primero que deberemos hacer es aplicar la restauración de los paquetes Nuget de la misma, es decir todas las dependencias externas. Para ello iremos a la opción del menú Tools > Nuget > Nuget Restore:

Rider - RestoreNugetMenu.png

O bien lo podremos hacer directamente con la opción de búsqueda general dentro del IDE, presionando Ctrl+Shift+A y escribiendo el comando en el cuadro de búsqueda (opción muy útil en el trabajo del día a día ya que accedemos a casi todas las opciones de una forma muy rápida):

Rider - RestoreEmergente.png

Con ello comenzará a procesar la tarea en background que descargará las dependencias, de la misma forma que sucede con Visual Studio (solo que no nos bloqueará el poder seguir trabajando).

Después en nuestra prueba solo nos queda compilar el proyecto y ejecutar la aplicación. Realizado esto nos mostrará en el output que nuestra aplicación está ejecutándose en un determinado puerto (en este caso en el 5001):

Rider - OutputConPuertoEjecucion.png

Si accedemos a dicha Url en el navegador efectivamente nuestra aplicación está en ejecución! 😀

Rider - SitioEjecucion.png

Nota: si tienen el error Access to the path “/etc/mono/registry” is denied, ver el final del post donde se comenta cómo solucionarlo.

Lo siguiente que estaríamos necesitando probar es el poder hacer debugging de nuestra aplicación, sino no termina siendo una alternativa realmente viable a la hora de trabajar. Por ende ponemos un punto de interrupción sobre nuestra aplicación y ejecutamos dicha porción de código:

Rider - Debugging.png

Efectivamente está funcionando, además de que de una forma excelente.

Como se puede apreciar en la imagen contaremos con una parte de debugging muy completa, con muchas similitudes a lo que podemos hacer con Visual Studio.

Conclusiones:

Como podemos ver en líneas generales tenemos las funcionalidades a las que estamos acostumbrados los desarrolladores en Visual Studio, con un IDE muy completo, cómodo y liviano pero multiplataforma. Por lo que es un paso más para desacoplar el desarrollo .NET en Windows.

Aunque no lo haya usado en este ejemplo, también tiene soporte a .NET Core como puede verse en la siguiente imagen de los templates disponibles para crear nuevos proyectos:

Rider - TemplatesDisponibles.png

Un tema a tener en cuenta será el precio que tenga cuando esté oficialmente disponible. Personalmente no he encontrado mucha información sobre ello, pero siendo un IDE que integra ReSharper (herramienta paga de JetBrains) es de esperar que lo sea.

¿Alguien que haya probado este IDE y nos pueda comentar su experiencia, incluidas las otras plataformas que soporta?

Gracias por leer!!


Nota adicional:

En caso de que tengan el error Access to the path “/etc/mono/registry” is denied, deberemos ejecutar los siguientes comandos:

sudo mkdir /etc/mono/registry
sudo chmod uog+rw /etc/mono/registry

Con ello estaremos creando la carpeta que necesita para ejecutarse, además de darle los permisos asociados.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s