Turno para los desarrolladores .NET en el que respasaremos aquellas herramientas que deberian ser un must-have para cualquier desarrollador de la plataforma .NET de Microsoft.
También hablaremos de herramientas multiplataforma tanto para Linux como MacOS para el desarrollo de aplicaciones .NET. Vayamos al grano.
IDE
En el apartado de IDE tenemos indiscutiblemente el que para muchos, yo incluido, es el mejor IDE del mercado: Visual Studio .NET. Actualmente en la versión 2010, tenemos a nuestra disposición las ediciones Express que podemos descargar libremente en las versiones Visual C#, Visual Basic .NET, Windows Phone y Web Developer.
Otras de las herramientas que pese a que es de pago jamás faltará en mi entorno de desarrollo es Resharper, de Jetbrains. Conocí esta herramienta a recomendación de un compañero del programa MVP en Redmond en el año 2008, cuando entonces estaba la versión 4.0 para Visual Studio .NET 2008, y la verdad es que desde entonces no he instalado un Visual Studio .NET sin hacer lo propio con Resharper, acualmente en la versión 5.1 y con las primeras Betas del 6.0 con increíbles novedades.
Otro addin interesante, también para Visual Studio .NET 2010, son las Visual Studio 2010 Productivity Power Tools, las cuales ofrecen un conjunto de extensiones que ayudan a aumentar la productividad en tus desarrollos.
En el apartado de IDE para Linux y MacOS encontramos MonoDevelop. En su última versión la 2.4, da soporte para C# y otros lenguajes .NET como Nemerle, Boo, Java (vía IKVM.NET) y Python. MonoDevelop fue una adaptación de SharpDevelop para Gtk#.
Clientes base de datos
Otros de los IDEs si estamos desarrollando con SQL Server, es el SQL Server Management Studio el cual, igual que en Visual Studio, tenemos una versión Express de libre descarga. Se trata de un IDE que ha evolucionado positivamente en las últimas versiones incorporando además del Intellisense, compatibilidad con el control de código fuentede Team Foundation Server.
Otros editores
Si es cierto que el famoso Notepad es un apoyo para el almacenamiento de información almacenada en el clipboard, le falta lo que Notepad++ aporta, es decir una forma de manipular código de forma avanzada.
Para los que usualmente utilizan LINQ, LINQPad se ha convertido en una herramienta tremendamente útil a la hora de generar consultas contra todo tipo de proveedores LINQ la cual ofrece, además, la posibilidad de compilar código y ejecutar las consultas.
Gestión ciclo de vida / código fuente
Visual Studio Team Foundation Server es sin duda el servidor de gestión del ciclo de vida de aplicaciones por excelencia para entornos .NET. Sin embargo, otras alternativas como Github también tiene su espacio.
Virtualización
En el apartado de virtualización, además del cliente de conexión remota que ofrece la plataforma Windows, me gustaria destacar a Royal TS, la cual ofrece una versión freeware limitada a 10 conexiones y que ofrece la posibilidad de mantener varias conexiones remotas al mismo tiempo.
Una de las características interesantes también es XP Mode de Windows 7 la cual te permite crear una imagen de un Windows XP en cuestion ideal para los test de despliegue, por ejemplo.
Diseño
Mitad IDE de desarrollo mitad software de diseño, Microsoft Expression Blend es una herramienta obligatoria para todos aquellos que desarrollan para Silverlight o WPF, tanto para aplicaciones RIA como para Windows Phone. Cabe destacar la integración de proyectos con Visual Studio .NET lo cual hace de ambas herramientas un tandem altamente eficaz.
Instant EyeDropper es ampliamente utilizado por desarrolladores Web para la captura de colores en pantalla en formatos html, HEX, RGB, HSB. Hablando en esta linea tampoco debemos olvidar tanto a MS Paint como a Paint.NET para manipular imágenes de una forma sencilla si no necesitamos utilizar técnicas avanzadas de diseño y/o manipulación de imágenes, claro.
Web
De la misma forma que Expression Blend es un must-have para los desarrolladores de Silverlight, Expression Web lo es para los desarrolladores de Web ofreciendo un conjunto de funcionalidades orientadas específicamente a este entorno de desarrollo.
Si lo que queremos es depurar aplicaciones Web, entonces fiddler2. Con esta herramienta podemos sacar un log de todas la peticiones http y https que se generan en nuestro equipo con un potente subsistema de scripting basado en eventos.
Otros
.NET Reflector ha sido considerado durante mucho tiempo el desensamblador por excelencia de binarios en .NET hasta que sus propietarios decidieron cambiar su licencia y pasar a ser de pago. Sin embargo, no ha pasado mucho tiempo hasta que Jetbrains ha lanzado su propia versión de una herramienta llamada dotPeek que además se integra con otras del mismo fabricante como Resharper o dotTrace.
Para los que hemos vivido y sufrido el infierno de las DLL en Visual Basic 6.0 alabamos en su momento a Mark Russinovich por desarrollar Process Explorer el cual nos ofrece toda la información de archivos DLL, librerias nativas y subprocesos que se ejecutan dentro de un mismo proceso.
Conclusión
Estoy convencido que me he dejado alguna que otra herramienta en el tintero y es que el uso de las mismas depende, en gran medida, al tipo de aplicaciones que solemos desarrollar (dispositivos móviles, Web, RIA, Desktop…) así que os animo a que hagáis llegar por comentario todas aquellas herramientas que no aparecen en este post y que por un motivo u otro deberían ocupa su lugar. Abriremos sección al respecto. ¡¡¡Muchas gracias!!!