El software libre no es solo una panda de pirados, que no van mas alla de tirar lineas de comandos, si no comunidades de mentes inquietas, y al ser .NET «el primer gran framework» y ser un buen producto, la comunidad se ha creado alrededor. Ahora vamos algo mas alla del framework, entrando en la vida que nace cerca de el.
Dada la potencia que nos da .NET nacen herramientas a su alrededor para seguir complementandolo, de las cuales tembien deberiamos ser grandes conocedores (al menos de algunas).
- NHibernate, un ORM, nos permite obtener una capa de abstraccion de la BDD, basicamente lo que hace es de cada tabla de la BBDD creamos un objeto con las funciones que vamos a usar contra el, insert, update, delete, dameTodosLosImpares, ……. y en vez de tener que tratar directamente con la BDD, nos olvidamos de tener que abrir, cerrar conexiones, la sentencia SQL,. ….. y todo se hace como si fuera un objeto mas.
Podriamos decir que es «un paso para humanizar las BBDD relacionales».
- Nvelocity, Para la generacion de codigo en base a plantillas, en muchos casos la generacion de codigo es la misma cambiado unos nombre, por lo tanto con herramientas como estas nos podemos quitar muchas horas de trabajo.
VelocityEngine engine = new VelocityEngine();
ExtendedProperties properties = new ExtendedProperties();
properties.AddProperty("resource.loader", "assembly");
properties.AddProperty("assembly.resource.loader.class", "NVelocity.Runtime.Resource.Loader.AssemblyResourceLoader, NVelocity");
properties.AddProperty("assembly.resource.loader.assembly", "StencilFormatter");
engine.Init(properties);
- NUnit,
es un framework para la realizacion de pruebas unitarias, altamente
recomendadas, ya que para algo estan los ordenadores no?? para que
trabajen ellos en vez de nosotros.
Port de JUnit
(para Java) y posee internamete el NUnit.Forms para realizarlas contra
aplicaciones Windows Forms y NUnit.ASP en el testeo de paginas web.
using NUnit.Framework;
[TestFixture]
public class EjemplodeWikipediadeNUnit
{
[Test]
public void TestMultiplication()
{
Assert.AreEqual(4, 2*2, «Multiplication»);
}
}
- NAnt, es un automatizador de compilaciones, para poder domir mientras que se compila ese macroproyecto. Gran herramienta en el pasado, aunque de capa caida por culpa de su principal rival, la herramienta ofical para esto de Microsoft: MSBuild, la cual tiene una excelente integracion con Visual Studio.
Auguro un renacer de la mima, eso si, mas cercano de los proyectos Mono que de los de .NET.
No me gustaria cerrar este post sin mencionar otros proyectos como Log4NET y Castle Project, que aunque no pertenezcan al grupo de las N* son potentisimas, y con la necesidad de dedicarles un articulo individual a cada una.