Nota del autor

Si la entrada que estás leyendo carece de imágenes, no se ve el vídeo que teóricamente lleva incrustado o el código fuente mostrado aparece sin formato, podéis conocer los motivos aquí. Poco a poco iré restableciendo la normalidad en el blog.
Este blog es un archivo de los artículos situados previamente en Lobosoft.es y ha dejado de ser actualizado. Las nuevas entradas pueden encontrarse en www.lobosoft.es. Un saludo,
Lobosoft.

domingo, 21 de septiembre de 2008

Usando Java desde .NET

En los fines de semana aprovecho –como todos, imagino- para ponerme al día con todo aquello que, por un motivo u otro, no he podido hacer durante el resto de la semana. Esto incluye todo tipo de lecturas (entre las que se incluye la que os comento al final de la entrada) y pruebas que quiero realizar de nuevo software: aplicaciones, sistemas operativos… o como es el caso de hoy, unas librerías y una máquina virtual. En concreto, hablo de IKVM.NET, una implementación libre de Java para Mono/.NET Framework. Posiblemente recordaréis la batalla legal que establecieron Sun y Microsoft hace unos años (una de tantas) sobre el particular uso que de Java hacía la compañía de Redmond, modificando a su antojo las particularidades del lenguaje. También hubo conflictos en si Windows XP bloqueaba o no el uso de Java, y a resultas de todo aquello, Microsoft dejó de poder usar Java (al menos, distribuir un Java “modificado”), y esto supuso el lanzamiento de la plataforma .NET (“su” Java modificado ;) que, de paso, incluye entre sus lenguajes J#, que es compatible a nivel de sintaxis con Java). La cuestión es que, como siempre, los desarrolladores y usuarios de los sistemas somos los perjudicados ante estas diferencias, ya que nos encontramos con decenas de entornos similares ante los que decantarnos, habitualmente según lo haga también el mercado. En la variedad está el gusto, dicen, y no afirmaré lo contrario, pero en ocasiones resulta engorroso encontrar soluciones parciales a nuestros problemas, porque parte de lo que necesitamos está en un lenguaje, otra parte en otra, y debemos habilitar todo tipo de mecanismo de interoperabilidad entre esos sistemas heterogéneos para conseguir alcanzar nuestro objetivo.


Pero bueno, comencé diciendo que iba a hablar de IKVM.NET y, como siempre, comienzo a divagar. La herramienta de que os hablo consta de una máquina virtual Java implementada completamente en .NET, así como una implementación de las librerías Java en .NET y diversas herramientas que permiten la interoperabilidad Java-.NET. La instalación es muy simple, basta con descargar el instalador y ejecutarlo. Una vez hecho esto, nos será posible escribir aplicaciones en Java usando ensamblados .NET y que serán compiladas como CIL, o reutilizar código en Java desde .NET. También es posible convertir archivos .jar a ejecutables .NET usando una herramienta que incorpora el paquete de IKVM.NET. Posiblemente tenga oportunidad de hacer un uso mayor del mismo en alguna aplicación real dentro de poco, por lo que ya os iré comentando mi parecer si me encuentro con algo "extraño". De momento, un hola mundo en Java funciona desde .NET :) .


Aún me queda por probar Moonlight, el port de Silverlight a Mono. Aunque voy a ver si convenzo a mi amigo Fernando, de Albloguera, para que rompa su prolongado silencio con alguna entrada sobre este asunto ;) .


¡Ah, y no se me olvida! La lectura que os comentaba la encontré ayer revisando posts que había dejado de lado durante la semana. En Pensamientos Ágiles comentaban un artículo de InfoQ sobre el uso de piezas de Lego (cuyas figuritas, por cierto, cumplían 30 años hace unos días) para la gestión ágil de proyectos. Esto, que podría parecer un absurdo o una extravagancia (ahora lo llaman frikismo :) ), tiene realmente su interés. Por lo que he podido leer al menos, el uso de estas piezas para definir tareas y “encajarlas” según las dependencias entre éstas y su prioridad da una visión rápida de lo que tenemos pendiente. Al menos, resulta mucho más claro a golpe de vista que una pizarra llena de postits. En cualquier caso, se trata de una interesante aproximación al tema del desarrollo ágil del software, tan en boga (y con razón) en nuestros días.

No hay comentarios:

Publicar un comentario