Buscar
Social
Ofertas laborales ES
jueves
sep142006

Publicado JNIEasy 1.1 Linux y Windows

Ya está disponible la primera versión de JNIEasy con soporte de Linux x86. La versión 1.1 además de Linux incorpora novedades orientadas al desarrollo de aplicaciones Java/nativas multiplataforma.



El objetivo es simple: un solo elemento nativo Java - múltiples representaciones nativas.



Para conseguir esto JNIEasy introduce un sistema de macros "inspirado" en C/C++: en ejecución la existencia o no de una u otra macro supone que la representación nativa cambia adaptándose a la plataforma subyacente.



Ejemplo: "Windows:2;Linux:4;default_wchar_t" significa que si está definida la macro "Windows" el tamaño es 2, o bien si "Linux" entonces 4 o bien el valor de la macro "default_wchar_t"



El sistema de macros se aplica a la DLL/shared object que se quiera usar según la plataforma, a los nombres exportados (cada compilador tiene un "name mangling" diferente), a los tamaños/alineamientos de los tipos primitivos (ahora son variables) y al encoding de strings (ANSI o UNICODE) que puede elegirse en tiempo de ejecución.



Otras novedades son:



- Disponible una licencia especial "runtime" redistribuible para proyectos de código abierto sin tiempo límite.

- Soporte de vargars (para llamar a métodos C tal y como printf)

- Los DLLs/shared objects son buscados de acuerdo con la variable java.library.path

- Opcional variable de entorno Java JNIEASY_LICENSE_DIR para localizar el archivo licencia.

- Los ejemplos C/C++ pueden compilarse con Visual C++ 6+, MinGW/MSYS, cygwin y gcc Linux.

- Eliminada dependencia de CodeBlocks en los ejemplos

- Revisado, mejorado y actualizado el manual, javadocs and tutorial

- Estructura de la distribución reorganizada para compilar/ejecutar los ejemplos en las dos plataformas.



Y como siempre puede desarrollarse con JNIEasy tantas veces como se quiera sin registro alguno usando la licencia temporal actualizable.



Para una completa descripción de las novedades consultar los cambios entre versiones



Nunca hasta ahora el WORA 100% Java fue tan asequible :)

miércoles
sep132006

To Jini or not to Jini

Ahora se cumplen diez años de Jini.


Recuerdo cuando fue presentado en sociedad este proyecto: se le auguraba un brillante porvenir y al cabo de diez años, todavía no se usa fuera de los ámbitos académicos ¿o sí?



La verdad es que resultaría de lo más útil tener un Jini (sea Jini u otro artefacto) en todos lados: llego a París, hago 30 fotos, vuelvo al hotel, conecto mi cámara y le digo que me envíe las fotos al PC de casa, pero que me busque impresoras locales para poder pasar a papel un par de ellas. Y esto es sólo la función más básica...



Me gusatría que comentásemos puntos de vista y experiencias.

Queda abierto el diálogo...
miércoles
sep132006

JDJ Editors' Choice Awards 2006

Java Developer Journal, revista que entre otros ostenta el título de tener el portal relacionado con Java con los anuncios más molestos, ha publicado sus Editors' Choice Awards 2006, esto es, proyectos que durante el último año han realizado contribuciones significativas a la plataforma Java. Entre los nominados podemos encontrar Netbeans 5, la plataforma de Eclipse, las mejorías de Java Web Start para Mustang (que ahora se llama Java 6), WebCharts 3D, IntelliJ, Adobe Fex 2, el libro Head First Design Patterns y SwingLabs.



¿Estáis de acuerdo con sus nominaciones?
miércoles
sep132006

Terracotta comienza a soportar Spring

Terracotta es una compañía que proporciona soluciones para clustering a nivel de máquina virtual y no a nivel de servidor de aplicaciones. Desde hace tiempo soportan los principales servidores de aplicaciones J2EE. Ahora, con "Terracotta for Spring" dan soporte a la principal alternativa a los servidores J2EE: Spring. Tras registrarse en su portal es posible descargar el producto de un modo gratuito para desarrollo.



Terracotta proporciona soluciones que permite a un conjunto de máquinas virtuales comportarse como una única máquina virtual. Todos los objetos, junto con su estado y comportamiento, son compartidos de tal modo que un objeto Singleton es único dentro de toda las máquinas virtuales, si una máquina virtual recupera datos de la base de datos todas las demás podrán acceder a ellos, e incluso "synchronized" "wait" o "notify" poseen un funcionamiento consistente en todas las máquinas virtuales del cluster.
martes
sep122006

Lenguajes que compilan a bytecode aparte de Java (encuesta del mes)

Parece que todavía somos muy pocos los que nos hemos atrevido a probar alguno de los muchos lenguajes de programación, aparte de Java, que compilan a bytecode y que se pueden ejecutar en una máquina virtual java. Los más populares actualmente son Groovy, JRuby, BeanShell y Rhino. Groovy y BeanShell son dos lenguajes "originales" y ambos han empezado el proceso que les permitirá convertirse en el lenguajes estándar de la plataforma Java. JRuby, un porte de Ruby, y Rhino, un porte de Javascript, no han empezado el proceso de estandarización (al menos hasta donde yo sé) pero el primero lo hará con total seguridad al haber contratado Sun a los dos desarrolladores del proyecto.



Scala es otro de la familia. De éste todavía se ha hablado muy poco. Sin embargo, creo que esto está a punto de cambiar. Ese lenguaje "lleva la contraria" a todos los anteriores. En vez de ser un lenguaje de tipado débil y dinámico es un lenguaje de tipado estático tremendamente fuerte. Teóricamente, cualquier código compilado con el compilador de Scala nunca dará un error de tipos en tiempo de ejecución. Para no amargar demasiado la vida al programador con tantas restricciones de tipado, el lenguaje explota ampliamente técnicas de inferencia de tipos.



Es un lenguaje mixto funcional/orientado a objetos y pretende construir su nicho en los servicios web. Según sus desarrolladores, la programación funcional se adapta mejor que la orientada a objetos para este tipo de aplicaciones y, dada la creciente importancia de los servicios web, se hace imperativo que aparezca un nuevo paradigma de programación, de un modo similar a como hace 20 años apareció el paradigma de programación orientado a objetos como "consecuencia" del cambio de interfaces de usuario basadas en texto a interfaces de usuario gráficas. No sé si sus creadores tienen una razón, pero creo que pronto se va a empezar a hablar bastante de este lenguaje.



Estos no son todos los lenguajes. Hay muchos más. Eso sí, estos últimos suelen ser proyectos académicos/de investigación que no han alcanzado difusión.



Los que habéis probado alguno de estos lenguajes ¿qué lenguaje concretamente? ¿cuáles fueron/son vuestras experiencias con él?