Ceylon: Interoperabilidad con Java
Ceylon nos permite la interoperabilidad con Java, podemos importar sus librerías e integrarlas a nuestro código. En este post haremos un ejemplo de como importar librerías de Java a nuestro código Ceylon.
En este caso no usaremos ningún IDE, usaremos la consola de comandos (en mi caso uso Linux). Crearemos una estructura de directorios similar a esta:
Tendremos estos tres archivos con la extensión *.ceylon:
- run.ceylon
- module.ceylon
- package.ceylon
Dentro de cada archivo escribiremos:
run.ceylon
module.ceylon
package.ceylon
Ahora volvemos al archivo run.ceylon e importamos la librería java.util.HashMap de Java.
run.ceylon
Compilamos:
Cuando compilamos se crea un directorio más o menos así:
Ejecutamos:
- Sr. Negativo's blog
- Inicie sesión o regístrese para enviar comentarios
Archivos
Una explicación rápida de esos archivos:
El car es un Ceylon ARchive (así como un jar es un Java ARchive). Ahí vienen los .class y algunos metadatos para la carga de módulos en tiempo de ejecución.
El src es un zip con los fuentes de tu módulo.
El car.idx y car.index son creo que para OSGi.
Los sha1 son los checksums con SHA-1 de los demás archivos.
Que usaron para modularizar ?
Entonces Ceylon utiliza OSGi para modularizar o solo es compatible con OSGi ?
compatible
Es compatible con OSGi. Y también con Maven. Pero el sistema de módulos de Ceylon se implementa con JBoss Modules.
gracias por la explicación
Gracias por la explicación de esos archivos @ezamudio.
por cierto
El esquema que usamos para importar módulos de Java es ya con los nombres propuestos para Jigsaw. Es decir java.base solamente te trae lo más básico de Java, sin base de datos ni parsers de XML ni interfaces gráficas, etc.
Aquí hay más info al respecto:
package.desktop
Buen tip. Ya empecé a probar algunas cosas más.
module.ceylon
package.ceylon
run.ceylon