{"id":887,"date":"2007-08-27T07:39:20","date_gmt":"2007-08-27T06:39:20","guid":{"rendered":"http:\/\/changlonet.com\/blog\/2007\/aprendiendo-un-nuevo-lenguaje-de-programacion\/"},"modified":"2007-08-27T07:39:20","modified_gmt":"2007-08-27T06:39:20","slug":"aprendiendo-un-nuevo-lenguaje-de-programacion","status":"publish","type":"post","link":"https:\/\/changlonet.com\/blog\/aprendiendo-un-nuevo-lenguaje-de-programacion\/","title":{"rendered":"Aprendiendo un nuevo lenguaje de programaci\u00f3n"},"content":{"rendered":"<p>\t\t\t\tEstas vacaciones ya pasadas, han sido muy relajantes, durante el d\u00eda, piscina, playa, parques, deportes&#8230; y resto de actividades t\u00edpicas con la familia y amigos. Y por la noche, aprovechando que al d\u00eda siguiente no hab\u00eda que madrugar, me puse a tratar de conocer un nuevo lenguaje de programaci\u00f3n.<\/p>\n<p>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\u00fadica que adem\u00e1s me mantiene la mente despejada.<\/p>\n<p>El lenguaje que he escogido es <a target=\"_blank\" href=\"http:\/\/www.openlaszlo.org\/\" rel=\"noopener noreferrer\">Openlaszlo<\/a>. Vi en su momento algunas demos y no pude resistir la tentaci\u00f3n de ver como se pod\u00eda programar ese tipo de aplicaciones. La demo que m\u00e1s me llamo la atenci\u00f3n, fue <a target=\"_blank\" href=\"http:\/\/www.laszlosystems.com\/lps\/sample-apps\/amazon\/amazon2.lzx?lzt=html\" rel=\"noopener noreferrer\">\u00e9sta de una tienda por Internet,<\/a> ligada a datos de Amazon. Antes de seguir leyendo, abrir el enlace de la demo&#8230; vale la pena.<\/p>\n<p>As\u00ed que me baj\u00e9 el kit de desarrollo. Este paquete instala en el PC el compilador, un servidor web basado en Tomcat, un tutorial, la documentaci\u00f3n y un mont\u00f3n de ejemplos para poder aprender. Instal\u00e9 el paquete en Windows XP, Vista y en Opensuse;\u00a0 ning\u00fan problema con ninguno de los sistemas operativos. Esto ya me dio buen sabor de boca.<\/p>\n<p>Openlaszlo sirve para programa aplicaciones que corren desde el navegador, pero con una particularidad, el aspecto de la aplicaci\u00f3n es casi el de una aplicaci\u00f3n de escritorio, como si de una aplicaci\u00f3n 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.<\/p>\n<p>El lenguaje en el fondo son como dos lenguajes unidos. Por un lado tendr\u00edamos la parte declarativa. Con esta parte del lenguaje, definimos el aspecto de la aplicaci\u00f3n: ventanas, formularios, botones, cuadros de edici\u00f3n, animaciones, colores&#8230; Luego tenemos otra parte ya ejecutiva, basada en Javascript, que es la que realiza la acciones.<\/p>\n<p>Con un ejemplo lo vamos a entender mejor. Usando la parte declarativa podemos definir una ventana con un bot\u00f3n que al pulsarlo, cierre la ventana. Pues el c\u00f3digo que pinta la ventana, coloca el texto de la ventana, los colores y el bot\u00f3n de cerrarla, se definen con la parte declarativa. En el bot\u00f3n de cerrar, colocamos una l\u00ednea de c\u00f3digo en Javascript que tiene la instrucci\u00f3n de cerrar la ventana.<\/p>\n<p>Podemos abrir ficheros multimedia, v\u00eddeo, m\u00fasica, im\u00e1genes en jpg, gif, png, swf&#8230; lleva una buena colecci\u00f3n de instrucciones para manejarlos, asi podemos ver demos como <a target=\"_blank\" href=\"http:\/\/www.openlaszlo.org\/lps4\/demos\/youtube\/youtube.lzx?lzt=html&#038;lzr=swf7\" rel=\"noopener noreferrer\">\u00e9sta que muestra v\u00eddeos de Youtube<\/a>,\u00a0 o <a target=\"_blank\" href=\"http:\/\/www.openlaszlo.org\/lps4\/demos\/lzpix\/app.lzx?lzr=swf7&#038;lzt=html\" rel=\"noopener noreferrer\">\u00e9sta otra que permite algo parecido con fotos de Flickr<\/a>.<\/p>\n<p>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\u00f3n desde nuestras bases de datos en fichero XML que son los que Openlaszlo tratar\u00e1.<\/p>\n<p>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\u00f3n 7 u 8) o en una versi\u00f3n DHTML. Hay ligeras diferencias entre ellas, pero podr\u00edamos desarrollar una aplicaci\u00f3n para los dos entornos sin muchos problemas.<\/p>\n<p>La documentaci\u00f3n es abundante y est\u00e1 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.<\/p>\n<p>El lenguaje es orientado a objetos, as\u00ed que menos mal que lo que aprend\u00ed en su d\u00eda de programaci\u00f3n orientada a objetos me iba a servir para algo. Conforme pasan los d\u00edas y vas aprendiendo un poco los rudimentos del lenguaje, vas viendo como con un par de cientos de l\u00edneas de c\u00f3digo se pueden crear aplicaciones muy espectaculares y potentes.<\/p>\n<p>En resumen, un lenguaje muy recomendable, si est\u00e1s programando aplicaciones en Internet, quieres que tengan una interfaz c\u00f3moda de usar (o bien una interfaz llamativa) que parezca una aplicaci\u00f3n de cliente pesado, y no quieres usar muchas herramientas externas.<\/p>\n<p>Eso si, al final me di cuenta de que hoy en d\u00eda lo dif\u00edcil no es aprender un lenguaje, sino todo lo que le rodea. As\u00ed he tenido que desempolvar manuales y libros de XML (el c\u00f3digo que escribimos es XML) de Java, Javascript, Flash y sobre todo de servidores Web.\t\t<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Estas vacaciones ya pasadas, han sido muy relajantes, durante el d\u00eda, piscina, playa, parques, deportes&#8230; y resto de actividades t\u00edpicas con la familia y amigos. Y por la noche, aprovechando que al d\u00eda siguiente no hab\u00eda que madrugar, me puse a tratar de conocer un nuevo lenguaje de programaci\u00f3n.<\/p>\n<p>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\u00fadica que adem\u00e1s me mantiene la mente despejada.<\/p>\n<p>El lenguaje que he escogido es <a target=\"_blank\" href=\"http:\/\/www.openlaszlo.org\/\" rel=\"noopener noreferrer\">Openlaszlo<\/a>.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[13],"tags":[],"series":[],"class_list":["post-887","post","type-post","status-publish","format-standard","hentry","category-software"],"_links":{"self":[{"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/posts\/887","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/comments?post=887"}],"version-history":[{"count":0,"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/posts\/887\/revisions"}],"wp:attachment":[{"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/media?parent=887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/categories?post=887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/tags?post=887"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/series?post=887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}