En nuestro trabajo diario como desarrollador DotNet requerimos diversas herramientas para cumplir nuestros objetivos. Algunas son imprescindibles, otras nos ayudan a ser más productivos y otras simplemente las usamos porque nos gusta su funcionamiento, sin perder el foco de la productividad. Para las tecnologías .NET existen muchas de éstas y de muy buena calidad, algunas de Microsoft y otras de terceros. En este post haremos un repaso de las principales herramientas para desarrollo en .NET: las imprescindibles y las que merecen que le demos una oportunidad.
Una indicación importante: todas las herramientas de este listado (a excepción del Visual Studio) son gratuitas. Además, se han clasificado en categorías para un mejor orden.
Herramientas .NET
Entorno de desarrollo
Esta categoría tiene un producto estrella y de gran calidad, un irreemplazable desde mi punto de vista. Me refiero a Visual Studio. Lo bueno del producto es que tenemos varias versiones para elegir, según nuestras necesidades y presupuesto.
Tenemos las siguientes versiones:
- Visual Studio. Es la versión que tiene un costo, pero puedes adquirirla de forma gratuita si eres estudiante (a través de DreamSpark) o si tienes una empresa nueva (a través de BizSpark).
- Visual Studio Express. Son versiones reducidas de la versión de escritorio, pero por experiencia propia puedo decir que su alcance cubre el desarrollo de (casi) cualquier proyecto.
- Visual Studio Online. Aunque no es, estrictamente, un IDE; sí es una herramienta en la nube para gestión de aplicaciones y colaboración de equipos de desarrollo. Hay licencias gratuitas para equipos de hasta 5 miembros.
Si prefieres opciones distintas a Visual Studio, hay alternativas bastante aceptables (algunas open source).
Tenemos las siguientes:
- SharpDevelop. De los más populares. Es un buen IDE, que se ejecuta sobre Windows.
- MonoDevelop. Un producto multiplataforma (Windows/Linux) también muy conocido. Este IDE se ejecuta en Linux sobre Mono, un proyecto open source que implementa el .NET Framework en el sistema operativo del pingüino. Es una alternativa imprescindible en caso seas usuario exclusivo de Linux.
- WebMatrix. Un software de desarrollo web de Microsoft, gratuito y muy bueno. Tiene soporte para desarrollar en ASP .NET (obviamente), pero también para trabajar con el lenguaje de programación PHP. Inclusive tiene plantillas para instalar y trabajar con aplicativos open source como WordPress, Joomla, Umbraco, entre otros. Muy interesante.
Editores de texto
El editor de código fuente de Visual Studio es muy bueno y bastante completo, pero a veces por algún motivo necesitamos editar un archivo fuera de él, ya sean archivos de código fuente .vb o .cs, o incluso archivos .html, .js, entre otros. Existen editores de texto muy buenos que nos pueden ayudar en estos casos.
Entre los editores de texto más recomendados que podemos usar tenemos:
- Notepad++. Es un excelente editor de texto y código fuente. Posee coloreado de sintaxis para múltiples lenguajes, diversas codificaciones de archivos, edición a través de pestañas, marcadores y muchas opciones más. Incluso permite instalar plugins para extender su funcionalidad, por ejemplo para comparar archivos o aplicar indentación automática a archivos XML/HTML, por poner sólo 2 casos.
- LINQpad. Otro excelente editor que he “descubierto” recién hace poco tiempo. Acá la idea es diferente a Notepad++, está orientado básicamente a generar consultas usando el potente lenguaje LINQ.
Depuración
La depuración es una tarea un poco tediosa y algo resistida por nosotros, pero totalmente necesaria para lograr un buen producto. El depurador que viene incluido en Visual Studio es muy bueno, pero existen algunas herramientas que lo complementan de forma perfecta.
Entre las principales herramientas tenemos:
- Glimpse. Fantástica herramienta de depuración, usado para depurar los proyectos de desarrollos ASP .NET MVC principalmente. Luego haré un post más a fondo de esta herramienta.
- Techniques in Advanced .NET Debugging. Si quieres profundizar en este tema, en el enlace encontrarás unos vídeos muy interesantes (soy sincero, no los he visto todos) sobre técnicas de depuración. Los vídeos tienen ya unos cuantos años, pero siguen vigentes.
- Fiddler. Un clásico en depuración HTTP. Usado para proyectos web en general (no sólo ASP .NET). Es probable que en algún momento haga un post más extenso sobre esta herramienta.
Varias
Por última en esta categoría podemos nombrar algunas herramientas igual de útiles y recomendadas, pero para diversos propósitos.
Tenemos:
- JetBrains dotPeek. Si lo que necesitas es decompilar un ensamblado, esta es la herramienta perfecta. La he usado en varias ocasiones con excelentes resultados.
- SonarQube. Es una herramienta para analizar las métricas y la calidad del código fuente. Es un producto maduro, antes se llamaba Sonar, y tiene muchos seguidores. Esta herramienta se desarrolló originalmente para Java, pero tiene un plugin para C#.
- All-In-One Code framework. Es una biblioteca de ejemplos de códigos fuente para diversas tareas, que se clasifican en temas como ASP .NET, Silverlight, WPF, y un largo etcétera.
- Sandcastle. Es una de las mejores herramientas para generar documentación para proyectos .NET. Para información de documentación de código en C#
- Productivity Power Tools. Por último esta extensión para Visual Studio, bastante popular y muy buena. Debo precisar que no tienen el alcance de herramientas comerciales – de refactoración – como ReSharper o CodeRush, pero eso no quita su utilidad. Un imprescindible para mí.
Espero que este listado ayude a conocer algunas herramientas que no tenías en el radar, y que aporten valor a tu tarea como desarrollador. El objetivo de este artículo no era profundizar en ninguna de ellas, pero en posteriores artículos sí se explicará en detalle algunas, dependiendo de su complejidad y alcance. Estoy seguro que con la utilidad que elijan la experiencia será positiva.
Finalmente como reflexión hay que tener presente el no abusar en el uso de estos productos mencionadas y otros que conozcas, ya que con el Visual Studio tenemos cubierto gran parte de lo que requerimos en nuestro trabajo diario; por lo que el resultado final puede ser contraproducente al objetivo inicial: ser más productivos.
Te esperamos en los siguientes artículos en donde hablaremos mas acerca de estos temas, los cuales hoy en día son de vital importancia en el mundo de la tecnología.