Aprendiendo un nuevo lenguaje de programación
Agosto 27, 2007 on 7:39 am | en Software |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.
11 Comentarios »
RSS feed para comentarios de esta entrada. TrackBack URI
Texto del comentario
Funcionando con WordPress con Tema Pool diseñado por Borja Fernandez. Feeds de
Entradas y comentarios
Valido XHTML y CSS. Arriba
Pues muy interesante, OpenLaszlo lo tenÃa en el punto de mira para las RIAA y como quiero empezar a toquetear algo para no oxidarme… puede ser un buen punto
Comentario por Antonio — 27-08-2007 #
Antonio: me parece que la primera mención la vi en tu blog. Y luego la primera descarga que hice del kit de desarrollo fue de CDlibre.org.
Comentario por tendero-digital — 27-08-2007 #
Que libro compraste?
Comentario por ruisan — 27-08-2007 #
¿libro sobre OpenLaszlo? La última vez que vi uno era para una versión ya muy desfasada, además que es un lenguaje quizá demasiado dinámico en cuanto a la velocidad en que se le añaden nuevas funciones o actualizan el código, lo que hace que sea dificil guiarse por un manual externo.
Lo único que no me gusta es que sea orientado a objetos, no es que eso sea malo, solo que es que yo no tengo ni idea de POO y me cuesta muchÃsimo no perderme.
Por cierto, nunca antes habÃa trabajado con bases de datos ¿es siempre asà de la latoso o es cosa del Laszlo?
Comentario por Rarok — 27-08-2007 #
Ruisan: lo dejaba para otra entrada, se trata de Laszlo in Action (http://www.manning.com/klein/) está sin terminar todavÃa el libro, pero te dejan comprarlo y te puedes ir descargando los capÃtulos conforme los van escribiendo (yo ya he hecho tres actualizaciones del libro). Lo mejor del libro es que lo va explicando todo a la vez que programan una aplicación real: una tienda por Internet… que por cierto casi, casi se podrÃa usar.
Rarok: eso me paso a mi la primera vez que lo vÃ, pero yo estoy trabajando con la versión 4.02 y parece que está ya más estabilizada.
Lo de las bases de datos… la forma que tiene Laszlo de tratarlas, es que solo trata fichero XML… eso es malo y es bueno. Es malo si estás acostumbrado a atacar tu directamente las bases de datos (yo me incluyo en ese grupo) pero es bueno, porque te da libertad para usar la base de datos que tu quieras, siempre y cuando conviertas antes los datos a XML y desde allà los leas con Laszlo.
Comentario por tendero-digital — 27-08-2007 #
Bueno, hace tiempo que leo tu blog, y me ha gustado que alguien pruebe un lenguaje de programación y nos lo cuente…
Openlaszlo parece interesante. Sin embargo (y aunque no soy ningún experto), el hecho de que no pueda acceder directamente a bases de datos me parece una limitación importante…
Aprovecho para preguntaros qué otros lenguajes/entornos de programación orientados a Internet conocéis y/o usáis.
Un saludo.
Comentario por Profesor Atreintaytres — 27-08-2007 #
Muy interesante, lástima lo de las BBDD. Que yo sepa hay un montón de desarrollos con toolkits parecidos ahora, y se están volviendo muy populares.
También es interesante GWT, http://code.google.com/webtoolkit/ porque permite compilar java -> ajax, bastante útil para tener las dos versiones de la aplicación.
Comentario por deabru — 27-08-2007 #
Profesor y Deabru: lo contaré en otra entrada, pero al final lo de no tener acceso directo a las bases de datos no es tan mala idea. Te la la libertad de que tu trabajes con tus módulos de BBDD, generes los XML y accedas a estos desde Laszlo. Además te permite que en desarrollo puedas simular el entorno de BBDD, simplemente definiendo los XML y atacándolos. Luego en producción ya veremos que BBDD escogemos.
Comentario por tendero-digital — 27-08-2007 #
Llevo un tiempo enganchado a tu blog, muy bueno de verdad.
Estoy de acuerdo en lo que dice que lo difÃcil no es aprender un lenguaje si no todo lo que lo rodea, yo que me defendÃa en entorno de escritorio, y algo de web, ahora me estoy poniendo al dÃa en cuanto a xhtml y css, y cuando crees que ya puedes empezar te das cuenta que te falta javascript, y hoy en dÃa para algo serio y grande ajax, la verdad que casi no se por donde seguir.
Una pregunta, que tipo de aplicaciones serÃan las recomendadas para generar los xml. La verdad que si estas acostumbrado a atacar directamente a la bbdd te rompe un poco los esquemas.
Comentario por Ruymán — 28-08-2007 #
Ruyman: te voy a contar una maldad… una de las cosas que me ha gustado de Laszlo, es que es de lo que he visto para programas sobre web, de lo que más se parece a un sistema de desarrollo de escritorio…
Me explico, tengo un editor algo decente, puedo simular las BBDD de producción a base de fichero XML, edito un fichero, me voy al navegador, lo lanzo, el sistema lo compila, si algo falla, el compilador suele dar mensajes fáciles de entender, indicando siempre la lÃnea donde nos hemos equivocado… y hay un sistema de debug bastante decente… Luego, tienes clases y métodos… vamos que no me encuentro tan perdido como me suele pasar en otras ocasiones.
General los XML, ya depende de cada cual. Yo para un experimento que hice, como tenÃa los datos originales en DBF, pues los saque de allÃ. Ahora mismo estoy peleándome con unas rutinas en PHP y con MySql, para generar desde tablas de MySql los XML que voy a manejar con Laszlo… Pero por la red hay ejemplos mejores para la gente que conoce mejor el Java…
Comentario por tendero-digital — 28-08-2007 #
Bueno pintandolo asà tengo que ponerlo en mi lista de cosas a mirar…cuando no se sabe, pero tal vez antes de meterme de lleno con ajax me conviene por lo menos echarle un vistazo, aunque normalmente suelo tirar por las cosas más populares sobre todo por temas de soporte.
Comentario por Ruymán — 29-08-2007 #