Estas vacaciones ya pasadas, han sido muy relajantes, durante el día, piscina, playa, parques, deportes… y resto de actividades típicas con la familia y amigos. Y por la noche, aprovechando que al día siguiente no había que madrugar, me puse a tratar de conocer un nuevo lenguaje de programación.
Antes de seguir, os explico que para mi programar es como un pasatiempo, es algo parecido a hacer crucigramas o sudokus, se trata de una actividad lúdica que además me mantiene la mente despejada.
El lenguaje que he escogido es Openlaszlo. Vi en su momento algunas demos y no pude resistir la tentación de ver como se podía programar ese tipo de aplicaciones. La demo que más me llamo la atención, fue ésta de una tienda por Internet, ligada a datos de Amazon. Antes de seguir leyendo, abrir el enlace de la demo… vale la pena.
Así que me bajé el kit de desarrollo. Este paquete instala en el PC el compilador, un servidor web basado en Tomcat, un tutorial, la documentación y un montón de ejemplos para poder aprender. Instalé el paquete en Windows XP, Vista y en Opensuse; ningún problema con ninguno de los sistemas operativos. Esto ya me dio buen sabor de boca.
Openlaszlo sirve para programa aplicaciones que corren desde el navegador, pero con una particularidad, el aspecto de la aplicación es casi el de una aplicación de escritorio, como si de una aplicación Ajax se tratase. Al final se puede conseguir un programa con un aspecto final y un comportamiento como si se tratase de un programa tipo cliente pesado.
El lenguaje en el fondo son como dos lenguajes unidos. Por un lado tendríamos la parte declarativa. Con esta parte del lenguaje, definimos el aspecto de la aplicación: ventanas, formularios, botones, cuadros de edición, animaciones, colores… Luego tenemos otra parte ya ejecutiva, basada en Javascript, que es la que realiza la acciones.
Con un ejemplo lo vamos a entender mejor. Usando la parte declarativa podemos definir una ventana con un botón que al pulsarlo, cierre la ventana. Pues el código que pinta la ventana, coloca el texto de la ventana, los colores y el botón de cerrarla, se definen con la parte declarativa. En el botón de cerrar, colocamos una línea de código en Javascript que tiene la instrucción de cerrar la ventana.
Podemos abrir ficheros multimedia, vídeo, música, imágenes en jpg, gif, png, swf… lleva una buena colección de instrucciones para manejarlos, asi podemos ver demos como ésta que muestra vídeos de Youtube, o ésta otra que permite algo parecido con fotos de Flickr.
El sistema permite acceder a datos externos mediante ficheros XML. Es decir el Openlaszlo no ataca directamente una base de datos, sino que nosotros tenemos que dejar la información desde nuestras bases de datos en fichero XML que son los que Openlaszlo tratará.
Las aplicaciones una vez probadas en local, pueden desplegarse en la red de dos formas: o bien en un servidor donde tengamos instalado el Openlaszlo y se van compilando conforme se necesitan, o bien podemos compilarlas en nuestro PC y subirlas a un servidor web normal. Si optamos por el segundo sistema, podemos compilar las aplicaciones en un fichero de Flash (versión 7 u
o en una versión DHTML. Hay ligeras diferencias entre ellas, pero podríamos desarrollar una aplicación para los dos entornos sin muchos problemas.
La documentación es abundante y está muy estructurada, aunque al principio lo que uno echa de menos es algo de bajo nivel. Al final tuve suerte y pude localizar un libro que me ha servido mucho para poder comenzar a hacer algo.
El lenguaje es orientado a objetos, así que menos mal que lo que aprendí en su día de programación orientada a objetos me iba a servir para algo. Conforme pasan los días y vas aprendiendo un poco los rudimentos del lenguaje, vas viendo como con un par de cientos de líneas de código se pueden crear aplicaciones muy espectaculares y potentes.
En resumen, un lenguaje muy recomendable, si estás programando aplicaciones en Internet, quieres que tengan una interfaz cómoda de usar (o bien una interfaz llamativa) que parezca una aplicación de cliente pesado, y no quieres usar muchas herramientas externas.
Eso si, al final me di cuenta de que hoy en día lo difícil no es aprender un lenguaje, sino todo lo que le rodea. Así he tenido que desempolvar manuales y libros de XML (el código que escribimos es XML) de Java, Javascript, Flash y sobre todo de servidores Web.