Kernel Error
LZX, Programacion

OpenLaszlo -> Introducción

20 de Agosto del 2009 por FeCr_88 · Sin Comentarios 

¿Qué es OpenLaszlo?

Básicamente OpenLaszlo es un conjunto de programas y utilidades que nos permiten, a partir de un archivo de texto en el que definimos una pantalla, obtener un ejecutable Flash (SWF).

Como resumen, de lo que se trata es de una serie de clases Java (llamadas OpenLaszlo Server) que se ejecutan en un servidor de aplicaciones a modo de servlet y que tomando como entrada un archivo programado en el lenguaje LZX, es capaz de obtener a la salida un archivo Flash, con dos importantes características, se genera en tiempo real y puede contener datos dinámicos obtenidos de una URL o cualquier otra fuente.

Ademas openlazslo soporta archivos multimedia, entre los tipos de archivos estan:

  • JEPG(JPG) – Dependiendo en que version de flash corras el programa y el tipo de despliege, jepg(JPG) son compatibles. Estos tipos de archivos no son comptabilas cuando se utiliza el despliegue SOLO.

  • GIF – Todos los GIF son compatibles.

  • PNG – Todos los ficheros de Portable Network Graphics son compatibles. Esto incluye PNGs con canales alfa (transparencia).

  • MP3 – Flash se comporta mal con mp3 que no le gusta,Si se tiene un problema, una buena idea es utilizar una aplicacion flash separada de openlaszlo y correr el mp3. Si tu MP3 no funciona en Flash independiente, entonces el problema no es OpenLaszlo.

    Mp3s no nativa apoyo de los navegadores, de modo que las aplicaciones que compilar para DHTML, debe hacer como lo anterior. Hacer una aplicacion independiente de DHTML y correr el MP3.

    Para una aplicacion proxied, soporta mp3s con tazas de 44.1 kHz, 22.050 kHz, 11.025 kHz, 8.000 kHz y 5.512 kHz.

  • SWF – Para las aplicaciones compiladas para Flash, el soporte se limita para los archivos SWF que contengan sólo animación o archivos SWF que sean estaticos. Los ActionScript son muy limitados.

<canvas width="52" height="50" bgcolor="0x000000">
<view>
<view id="mp3" resource="http://fecro.kernelerror.net/01-Unveil%20The%20Curtain%20Sanity.mp3" oninit="this.stop();"/>
<vbox>
<button name="correr" id="correr" width="${parar.width}" onclick="mp3.play();">Play</button>
<button name="parar" id="parar" onclick="mp3.stop();">Stop</button>
</vbox>
</view>
</canvas>

Arquitectura N-Capas (n-Tier)

En el modelo MVC que es un patrón de arquitectura de software (N-Capas), OpenLaszlo se encuentra en la capa de “Lógica de Presentación” ya que se encarga de dibujar las pantallas que vera el usuario y también como dichas pantallas interaccionan con él, pero sin realizar accesos directos a base de datos o cualquier otra lógica de negocio. La “capa de presentación” estaría compuesta por el propio navegador más elplugin de Flash.

Alternativamente, Las aplicaciones Laszlo pueden compilarse a partir de LZX en un Archivo binario SWF, y cargarse de manera estática en una página web existente. Este método se conoce como despliegue SOLO.

¿Qué es LZX?

LZX es un lenguaje orientado a objetos y basado en etiquetas que utiliza sintaxis XML y JavaScript para crear la capa de lógica de presentación de aplicaciones ricas.

La especificación del lenguaje incluye un conjunto de etiquetas XML (tal como HTML) y un conjunto de APIs de JavaScript.

LZX fue diseñado para utilizar sintaxis y convenciones de nombres familiares a los desarrolladores web de forma que la curva de aprendizaje fuera lo más rápida posible. Los programas en LZX suelen contener estructuras declarativas y procedurales, y el lenguaje sigue muchas convenciones de nombres de CSS (Cascade Style Sheets).

Estos programas pueden parecerse a aplicaciones DHTML con JavaScript embebido, sin embargo son diferentes ya que éstos son interpretados, renderizados o ejecutados por el navegador web. Sin embargo LZX es compilado en el OpenLaszlo Server, descargado como película Flash (archivos .swf) y ejecutado en el plugin de Flash en el navegador. Es importante entender que el plugin de Flash es utilizado solo como un motor de ejecución y renderización para el byte-code generado y no hay nada que ate a LZX a Flash de forma inherente, de hecho, LZX no utiliza el modelo de objetos de Flash.

Conceptos básicos de LZX

Para comprender el paradigma de programación utilizado en LZX es necesario tener claro que se trata de un lenguaje orientado a objetos: Esto significa que podremos crear nuestras propias clases, heredar de ellas, instanciar objetos, etc, etc…

Una aplicación LZX se ejecuta en un objeto visual llamado canvas (lienzo) que es básicamente un trozo de pantalla. En el canvas interactúan cajas autónomas llamadas views o vistas. Estas vistas pueden ser anidadas lógica y visualmente y tienen docenas de atributos programables incluyendo tamaño, posición, color de fondo, opacidad, etc…

Las vistas pueden ser utilizadas para alojar recursos, como por ejemplo una imagen o un video, y pueden también ser enlazadas de forma dinámica a cualquier conjunto de datos con formato XML, bien se trate de un fichero o una URL desde la que un servicio nos proporcione datos en XML a partir de una base de datos o cualquier otra fuente.

Ejemplo

La mejor manera de entender hasta ahora como trabaja openlaszlo es realizando un ejemplo. Y que mas si no el famoso hello world. Lo mostrare de diferentes maneras:

  • en el canvas (lienzo)
  • en un window (ventana)
  • y con un botón (botón)
  • vista (view) rellena con color

<canvas bgcolor="0x6f0f0f" id='principal' height='200' width='300'>
<class name="texto" extends="text" fgcolor="0xffffff"/> <!-- Herencia -->
<style  name="miEstiloAzul" 	textfieldcolor="0x80ffff"
		hilitecolor="0xffff80"  basecolor="0xdc1d1b"
		textcolor="0xffffff"	textdisabledcolor="0xff8040"
		bgcolor="0xe9514f"	isdefault="true"/><!-- Un estilo -->
	<view name="helloworld">
		<simplelayout axis="y" spacing="4"/>
		<texto>Hello World! (CANVAS - LIENZO)</texto><!-- Texto sobre canvas -->
		<button>Hello World! (BOTON)</button> <!-- Boton -->
		<window height="100" width="200" y = '50' title="KernelError">
			<texto>Hello World (Window - Ventana></texto>
		</window><!-- Ventana -->
	</view>
	<view y="150" height="20" width="160" bgcolor="0x00ff00">
		<text>hellow world! (Vista - View)</text>
	</view><!-- Vista con Fondo -->
</canvas>

Necesario!!!

JavaSDK Windows
JavaSDK Linux
OpenLaszlo Windows
OpenLaszlo Linux

  • Twitter
  • Facebook
  • MySpace
  • Google Bookmarks
  • del.icio.us
  • Mixx
  • Digg
  • email

Comenta algo

Comparte tu opinión... recuerda que puedes usar BBCode!





BBCode Sencillo soportado.  

    Edición Avanzada desactivada.

Kernel Error
97 intentos de ataques detenidos