Escolar Documentos
Profissional Documentos
Cultura Documentos
Ingeniera en Sistemas Computacionales Asignatura: Lenguajes y herramientas para el desarrollo web Profesor: Lic. Jos Juan Uln Ricardez Trabajo: Adobe Flash Builder 4 (FLEX)
Los programadores tradicionales de aplicaciones ven como un desafo adaptar la metfora de la animacin sobre la plataforma con la cual fue originalmente construido Flash. Flex minimiza elegantemente este problema proveyendo un flujo de trabajo y un modelo de programacin que es familiar a los desarrolladores de aplicaciones.
Flex fue inicialmente liberado como una aplicacin de la J2EE o biblioteca de etiquetas JSP que compilaba el lenguaje de marcas Flex (MXML) y ejecutaba mediante ActionScript aplicaciones Flash (archivos SWF binarios). Versiones posteriores de Flex soportan la creacin de archivos estticos que son compilados, y que pueden ser distribuidos en lnea sin la necesidad de tener una licencia de servidor.
El objetivo de Flex es permitir a los desarrolladores de aplicaciones web construir rpida y fcilmente Aplicaciones de Internet Ricas, tambin llamadas RIAs. En un modelo multi-capa, las aplicaciones Flex son el nivel de presentacin.
Flex pone en relieve el desarrollo de Interfaces grficas de usuario usando un lenguaje XML llamado MXML. Flex tiene varios componentes y caractersticas que aportan funcionalidades tales como Servicios Web, objetos remotos, arrastrar y soltar, columnas ordenables, grficas, efectos de animacin y otras interacciones simples. El cliente solo carga la aplicacin una vez, mejorando as el flujo de datos frente a aplicaciones basadas en HTML (PHP, ASP, JSP, CFMX), las cuales requieren de ejecutar plantillas en el servidor para cada accin. El lenguaje y la estructura de archivos de Flex buscan el desacoplamiento de la lgica y el diseo.
Funciones Sentencias de funcin .............................................................................. 20 Devolucin de valores de funciones......................................................... 21 Funciones anidadas ................................................................................. 22 Parmetros Parmetros de funcin ............................................................................. 23 Pasar argumentos por valor o referencia ................................................. 23 Valores predeterminados de los parmetros ........................................... 26 Acceso a datos Condiciones y desventajas....................................................................... Ejemplo .................................................................................................... Acceso a datos del lado del cliente .......................................................... Ejemplo .................................................................................................... Carga de datos del lado del cliente .......................................................... Seguridad en adobe flex .......................................................................... Autenticar el acceso a los servicios ......................................................... Autentificacin bsica .............................................................................. 27 28 29 30 30 31 31 31
DESCRIPCION
JSP
PHP
ASP.NET
Fcil de aprender
No
Si
Si
Multiplataforma
Si
Si
No
No
Si
Velocidad de acceso
Si
Si
Si
Distribuido
Si
No
Si
Si
Si
No
Constante desarrollo
Si
No
Si
Soporta clases
Si
No
Si
Adobe Flex
Asp.Net Caractersticas
Ventajas
Es un framework de desarrollo Comercializado por Microsoft Se puede usar C#, VB.NET o J# en los desarrollo web Los archivos son extensin .aspx Las aplicaciones necesitan de framework de .NET Se ejecuta en el lado del servidor Completamente orientado a objetos. Controles de usuario y personalizados. Divisin entre la capa de aplicacin o diseo y el cdigo. Facilita el mantenimiento de grandes aplicaciones. Incremento de velocidad de respuesta del servidor. Mayor velocidad. Mayor seguridad.
Desventajas
PHP Caractersticas Interpretado Usado principalmente para sitios dinmicos Embebido en html Lenguaje libre Multiplataforma Muy fcil de aprender. Se caracteriza por ser un lenguaje muy rpido. Soporta en cierta medida la orientacin a objeto. Clases y herencia. Es un lenguaje multiplataforma: Linux, Windows, entre otros. Capacidad de conexin con la mayora de los manejadores de base de datos: MysSQL, PostgreSQL, Oracle, MS SQL Server, entre otras. Capacidad de expandir su potencial utilizando mdulos. Posee documentacin en su pgina oficial la cual incluye descripcin y ejemplos de cada una de sus funciones. Es libre, por lo que se presenta como una alternativa de fcil acceso para todos. Incluye gran cantidad de funciones.
Ventajas
Adobe Flex
Desventajas
Todo el trabajo lo realiza el servidor y no delega al cliente. Por tanto puede ser ms ineficiente a medida que las solicitudes aumenten de nmero. La legibilidad del cdigo puede verse afectada al mezclar sentencias HTML y PHP. La programacin orientada a objetos es an muy deficiente para aplicaciones grandes. Dificulta la modularizacin. Dificulta la organizacin por capas de la aplicacin.
JSP Caractersticas
Ventajas
Utiliza la misma sintaxis de Java El cdigo se puede poner dentro de las pginas HTML Se puede precompilar en Servlets Permite integrar clases java (.class) Puede generar aplicaciones web distribuidas Licencia Open Source Plataforma e independencia del servidor No se paga software adicional para crear paginas web Multiplataforma Se requiere conocer Java
Desventajas
Adobe Flex
PHP Desarrolladores PHP Group PHP es un lenguaje de programacin muy potente que, junto con HTML, permite crear sitios web dinmicos. PHP se instala en el servidor y funciona con versiones de Apache, Netscape Enterprise Server y otros. PHP es un acrnimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por Rasmus Lerdorf en 1994; sin embargo la implementacin principal de PHP es producida ahora por The PHP Group y sirve como el estndar de facto para PHP al no haber una especificacin formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre.
Requerimientos de instalacin 1.-un servidor 2- un lenguaje del lado del servidor (php5)
Licenciamento Sobre php se que puedes crear desarrollos libres, ahora creo que el problema se genera en hacerlo de libre acceso o privado, osea patentar tu desarrollo.
Soporte Es libre, por lo que se presenta como una alternativa de fcil acceso para todos. PHP es Open Source, lo cual significa que el usuario no depende de una compaa especfica para arreglar cosas que no funcionan, adems no ests forzado a pagar actualizaciones anuales para tener una versin que funcione.
Conexin a la base de datos Capacidad de conexin con la mayora de los manejadores de base de datos: MysSQL, PostgreSQL, Oracle, MS SQL Server, entre otras.
Adobe Flex
PHPedit - Editor IDE (Integrated Developement Environment) de PHP para Windows con coloreado de sintaxis, depurador PHP integrado, generador de ayudas, atajos de teclado personalizables, plantillas de teclado, generador de informes de tareas pendientes y diversos plugins.
Maguma - Maguma estudio es un IDE para PHP a nivel de cdigo que ofrece ayudas y funcionalidades para acelerar el desarrollo de aplicaciones web.
PHPdesigner - Este entorno de desarrollo combina muchas potentes mejoras como los esquemas de sintaxis personalizable para PHP, HTML, XHTML, CSS, Perl, C#, Java Script, VB, Java and SQL (Ingres, Interbase, MSSQL, MySQL, Oracle, Sybase and Standard SQL), un navegador de clases, interprete de PHP para depurar y probar los scripts, manual de PHP integrado, autosangrado de parntesis, cierre automtico de parntesis y acceso a cdigo comn y libreras integrado.
NuSphere PHPed - Entorno de desarrollo profesional para PHP, con depurador, anlisis de errores, ayudas para la localizacin de cuellos de botella en el cdigo, publicacin segura de cdigo en servidores e integracin con herramientas de terceros.
Dzsoft PHP editor - Dzsoft PHP editor es una herramienta manejable y potente para escribir y probar pginas PHP y HTML. Su interfaz es cmoda y sencilla para novatos y programadores experimentados, haciendo el desarrollo de PHP fcil y productivo.
Adobe Flex
Tulip - Tulip es un editor de cdigo basado en PHP-GTK, una herramienta para la programacin de scripts PHP, esta escrito en PHP como lenguaje base y Gtk como interfaz de usuario. Tulip tiene prestaciones que lo hacen idneo para el desarrollo de aplicaciones de free software en entornos colaborativos ya que dispone de soporte CVS.
PHPcoder - PHP Coder es un IDE (Integrated Development Environment) especialmente diseado para programadores de PHP, potente, reducido y libre. Dispone de un intrprete integrado y documentacin que permite ahorrar tiempo en el desarrollo, coloreado de sintaxis HTML y PHP, autocompleta estructuras comunes, gestor de proyectos, copy y paste, bsquedas ...
Forum sobre Phpbb en Castellano - Foro de Soporte phpBB en Espaol, problemas, ayudas, soluciones, bugs, actualizaciones y seguridad, mods
tswebeditor - TsWebEditor es un potente y recomendable editor para PHP y HTML que adems puede ser usado como un editor sencillo de texto. Dispone de coloreado de sintaxis, sugerencias de funciones, autocompletitividad de cdigo (PHP, java script, asp, HTML), navegador de cdigo y chequeador de sintaxis, ayuda, asistente css, editor de etiquetas HTML, ...
Adobe Flex
Adobe Flex
Incluyendo archivos
<html> <title><?php echo $titulo; ?></title> <body> <?php echo $contenido; ?> </body> <html> Sintaxis general El nombre del archivo con PHP puede tener la extensin.php para diferenciarlos de los HTML. Usar <?php al inicio y ?> al final de todos los bloques de instrucciones en PHP. Las instrucciones se separan por ;. Los espacios, tabulaciones y avances de lnea no afectan a la ejecucin del programa. No hay necesidad de inicializar las variables o de fijar el tipo de dato que vayan a contener.
Adobe Flex
Tipos de datos Tipo de dato Enteros Punto flotante Cadenas Boleano Arreglos Ejemplo <?php $contador=5; $pi=3.1415; $mensaje=Hola Mundo!; $html=<b>$mensaje</b>; $resultado=true; $estatus_desc=array (A=>Activos, B=>Inactivos; $vocales=array(a,e,i,o,u); Echo Usuarios.$estatus_desc[A]; ?>
Objetos
Estructuras de control if <?php If ($error != ;{ echo Mensaje error: $error; } elseif ($contador == 0){ echo No hay datos.; } else{ echo Hay contador de datos.; } ?>
Adobe Flex
Estructuras de control switch <?php switch ($estatus) { case A $titulo = Usuarios activos; Break; case B: $titulo = Usuarios inactivos; Break; default: $titulo = Estatus incorrecto; } ?> Sesiones Las sesiones sirven para pasr valores de una pagina a otras. No es mtodo seguro para sustituir un sistema de autentificacin. <?php session_start(); session_register(nombre); session_register(edad); $nombre = Fulano de Tal; $edad = 30; ?> Objetos Un objeto empaqueta propiedades y mtodos (variables y funciones). Respecto a PHP4, en PHP5 se cambia la sintaxis para los objetos y mejora el manejo de estos. <?php Class Usuario { Public $nombre; Public $edad Public function cletras() { Retturn strlen ($nombre); } } ?>
Adobe Flex
Motor JSP El motor de las pginas JSP est basado en los servlets de Java -programas en Java destinados a ejecutarse en el servidor-, aunque el nmero de desarrolladores que pueden afrontar la programacin de JSP es mucho mayor, dado que resulta mucho ms sencillo aprender que los servlets.
Java Servlet Los servlets, son objetos que corren dentro del contexto de un contenedor de servlets (ej: Tomcat) y extienden su funcionalidad. La palabra servlet deriva de otra anterior, applet, que se refera a pequeos programas que se ejecutan en el contexto de un navegador web. Por contraposicin, un servlet es un programa que se ejecuta en un servidor. El uso ms comn de los servlets es generar pginas web de forma dinmica a partir de los parmetros de la peticin que enve el navegador web.
Adobe Flex
Requisitos de instalacin Nuestro primer paso es descargar el software que implementa las especificaciones Java Servlet 2.1 o 2.2 y Java Server Pages 1.0 1.1. Podemos obtener una versin gratuita de Sun, conocida como "JavaServer Web Development Kit" (JSWDK). Usa plataformas Unix y Windows. Instalar un servidor Web con Capacidad para Servlets Nuestro siguiente paso es obtener e instalar un servidor Web que soporte servlets Java, o instalar el paquete Servelt en nuestro servidor Web existente. Aqu estn algunas de las opciones ms populares: Apache Tomcat. Tomcat es la implementacin de referencia oficial para las especificaciones Servlet 2.2 y JSP 1.1. Puede ser usado como pequeo servidor para probar pginas JSP y servlets, o puede integrarse en el servidor Web Apache. Tomcat, al igual que el propio Apache es gratuito. JavaServer Web Development Kit (JSWDK). El JSWDK es la implementacin de referencia oficial para las especificaciones Servlet 2.1 y JSP 1.0. Es gratuito y potente, pero necesita un poco de esfuerzo para instalarlo y configurarlo. AllaireJRun. JRun es un motor servelt y JSP que puede conectarse dentro de los servidores Netscape Enterprise o FastTrack, de los servidores Web IIS, Microsoft Personal Web Server, viejas versiones de Apache, OReillysWebSite, o StarNineWebSTAR. New AtlantasServletExec. ServletExec es un rpido motor de servlets y pginas JSP que puede ser conectado dentro de los servidores web ms populares para Solaris, Windows, MacOS, HP-UX y Linux. Gefion'sLiteWebServer (LWS). LWS es un pequeo servidor Web gratuito que soporta Servlets versin 2.2 y JSP 1.1. Suns Java Web Server. Este servidor est escrito enteramente en Java y fue uno de los primeros servidores en soportar completamente las especificaciones servlet 2.1 y JSP 1.0.
Adobe Flex
Licenciamiento Java en general es GPL, por lo que no tienes que hacer pago por desarrollar en JSP ni licencias ni nada por el estilo. JSP es gratuito. Curva de aprendizaje JSP es un poco ms complejo ya que exige el conocimiento de las especificaciones y del lenguaje JAVA. Plataforma de desarrollo JSP puede funcionar en cualquier plataforma.
Adobe Flex
Adobe Flex (hasta 2005 Macromedia Flex) es un trmino que agrupa una serie de tecnologas publicadas desde Marzo de 2004 por Macromedia para dar soporte al despliegue y desarrollo de Aplicaciones Enriquecidas de Internet, basadas en su plataforma propietaria Flash. Los programadores tradicionales de aplicaciones ven como un desafo adaptar la metfora de la animacin sobre la plataforma con la cual fue originalmente construido Flash. Flex minimiza elegantemente este problema proveyendo un flujo de trabajo y un modelo de programacin que es familiar a los desarrolladores de aplicaciones. Flex fue inicialmente liberado como una aplicacin de la J2EE o biblioteca de etiquetas JSP que compilaba el lenguaje de marcas Flex (MXML) y ejecutaba mediante ActionScript aplicaciones Flash (archivos SWF binarios). Versiones posteriores de Flex soportan la creacin de archivos estticos que son compilados, y que pueden ser distribuidos en lnea sin la necesidad de tener una licencia de servidor. El objetivo de Flex es permitir a los desarrolladores de aplicaciones web construir rpida y fcilmente Aplicaciones de Internet Ricas, tambin llamadas RIAs. En un modelo multi-capa, las aplicaciones Flex son el nivel de presentacin.
Flex pone en relieve el desarrollo de Interfaces grficas de usuario usando un lenguaje XML llamado MXML. Flex tiene varios componentes y caractersticas que aportan funcionalidades tales como Servicios Web, objetos remotos, arrastrar y soltar, columnas ordenables, grficas, efectos de animacin y otras interacciones simples. El cliente solo carga la aplicacin una vez, mejorando as el flujo de datos frente a aplicaciones basadas en HTML (PHP, ASP, JSP, CFMX), las cuales requieren de ejecutar plantillas en el servidor para cada accin. El lenguaje y la estructura de archivos de Flex buscan el desacoplamiento de la lgica y el diseo.
El servidor Flex tambin acta como un gateway permitiendo al cliente comunicarse con servicios web XML y objetos remotos (tales como Coldfusion CFCs, clases Java, y cualquiera que soporte el formato de mensajes de acciones).
Adobe Flex
Tipos de datos
Boolean (Booleano) El tipo de datos booleano consta de dos valores: true y false. Ningn otro valor es vlido para variables de tipo booleano. El valor predeterminado de una variable booleana declarada pero no inicializada es false.
Int (entero) El tipo de datos int se almacena internamente como un entero de 32 bits y consta del conjunto de enteros entre -2,147,483,648 -2(31) a 2,147,483,647 ((2)31-1) ambos incluidos. Si la variable no va a usar nmeros de coma flotante, es ms rpido y eficaz utilizar el tipo de datos int en lugar del tipo de datos Number.
Uint (enteros sin signo) El tipo de datos uint se almacena internamente como un nmero entero sin signo de 32 bits y consta del conjunto de enteros entre 0 y 4,294,967,295 ((2) 32-1), ambos incluidos. El tipo de datos uint debe utilizarse en circunstancias especiales que requieran enteros no negativos. Por ejemplo, se debe utilizar el tipo de datos uint para representar valores de colores de pixeles, ya que el tipo de datos int tiene un bit de signo interno que no es apropiado para procesar valores de colores. Para valores enteros ms grandes que el valor uint mximo, se debe utilizar el tipo de datos Number, que puede procesar valores enteros de 53 bits. El valor predeterminado para variables con tipo de datos uint es 0.
Adobe Flex
Number (nmero) Number representa enteros, enteros sin signo y nmeros de coma flotante. Sin embargo, para maximizar el rendimiento se recomienda utilizar el tipo de datos Number nicamente para valores enteros que ocupen ms de los 32 bits que puedan almacenar los tipos de datos int y uint o para nmeros de coma flotante.
Null (nulo) El tipo de datos Null tiene un nico valor: null. ste es el valor predeterminado para el tipo de datos String y para todas las clases que definen tipos de datos complejos, incluida la clase Object. Ninguno de los dems tipos de tados simples, como Boolean, Number, int y uint, contienen el valor null. Flash player convertir el valor null en el valor predeterminado apropiado si se intenta asignar null a variables de tipo Boolean, Number, int o uint.
String (cadena) Las cadenas se almacenan internamente como caracteres. Una operacin sobre un valor de cadena devuelve una nueva instancia de la cadena. El valor predeterminado de una variable declarada con el tipo de datos String es null. El valor null no es lo mismo que la cadena vaca (), aunque ambos representan la ausencia de caracteres.
Void (vaco) El tipo de datos void tiene un nico valor: undefined. En ActionScript 3.0 , el valor predeterminado de las instancias de Object es null. Si se intenta asignar el valor undefined a una instancia de la clase Object, Flash Player convertir el valor a null. Solo se puede asignar un valor undefined a variables que no tienen tipo de dato. Las variables sin tipo de datos son variables que no tienen anotacin de tipo de dato o utilizan el smbolo de (*) como anotacin del tipo de dato. Solo se puede usar void como anotacin de tipo devuelto. Adobe Flex
Object (objeto) El tipo de datos Object se define mediante la clase Object. La clase Object constituye la clase base para todas las definiciones de clase en ActionScript. La versin del tipo de datos en ActionScript 3.0 difiere de las versiones anteriores en tres aspectos. En primer lugar, el tipo de datos Object ya no es el tipo de datos predeterminado que se asignan a las variables sinanotacin de tipo de dato. En segundo lugar, el tipo de datos Object ya no incluye el valor undefined que se utilizaba como valor predeterminado de las instancias Object. Por ltimo en ActionScript 3.0, el valor predeterminado de las instancias de la clase Object es null.
Adobe Flex
Condicionales
ActionScript 3.0 proporciona tres sentencias condicionales bsicas que se pueden utilizar para controlar el flujo del programa.
if .. else
El if .. else condicional le permite comprobar una condicin y ejecutar un bloque de cdigo si dicha condicin existe, o ejecutar un bloque de cdigo alternativo si la condicin no existe. Por ejemplo, el siguiente cdigo comprueba si el valor de x es superior a 20 y genera una funcin trace () si lo hace, o genera un seguimiento de diferentes () si no lo hace: if (x> 20) { trace ("x es> 20"); }
Adobe Flex
if .. else if
Puede probar ms de una condicin con el if .. else if condicional. Por ejemplo, el siguiente cdigo no slo comprueba si el valor de x es superior a 20, sino que tambin comprueba si el valor de x es negativo: if (x> 20) { trace ("x es> 20"); } else if (x <0) { trace ("x es negativo"); }
Adobe Flex
if (x> 0) trace ("x es positivo"); else if (x <0) trace ("x es negativo"); ms trace ("x es 0");
No obstante, Adobe recomienda utilizar siempre llaves, ya que un comportamiento inesperado puede ocurrir si las declaraciones se aadi ms tarde a una sentencia condicional que no aparecen entre llaves. Por ejemplo, en el siguiente cdigo el valor de positiveNums se incrementa en 1 si la condicin se evala como verdadera: var x: int; var positiveNums: int = 0; if (x> 0) trace ("x es positivo"); positiveNums + +; trace (positiveNums); / / 1
Adobe Flex
La sentencia switch resulta til si hay varios hilos de ejecucin que dependen de la misma expresin de condicin. Proporciona funcionalidad similar a una larga serie de sentencias if..else if, pero es ms fcil de leer. En lugar de probar una condicin para un valor booleano, la sentencia switch evala una expresin y utiliza el resultado para determinar el bloque de cdigo que debe ejecutarse. Los bloques de cdigo empiezan por una sentencia case y terminan con una sentencia break. Por ejemplo, la siguiente sentencia switch imprime el da de la semana en funcin del nmero de da devuelto por el mtodo Date.getDay(): var someDate:Date = new Date(); var dayNum:uint = someDate.getDay switch(dayNum) {{ case 0: trace("Sunday"); break; case 1: trace("Monday"); break; case 2: trace("Tuesday"); break; case 3: trace("Wednesday");
Adobe Flex
Ciclos
Adobe Flex
Las sentencias de bucle permiten ejecutar un bloque especfico de cdigo repetidamente utilizando una serie de valores o variables. Adobe recomienda escribir siempre el bloque de cdigo entre llaves ({}). Aunque se le puede omitir las llaves si el bloque de cdigo contiene una sola sentencia, esta prctica no se recomienda por la misma razn por la que no se recomienda para los condicionales: aumenta la probabilidad de que las sentencias aadidas ms adelante se excluyan accidentalmente del bloque de cdigo. Si posteriormente se aade una sentencia que se desea incluir en el bloque de cdigo, pero no se aaden las llaves necesarias, la sentencia no se ejecutar como parte del bucle.
For
El bucle for permite repetir una variable para un rango de valores especfico. Una sentencia for requiere de tres expresiones: una variable que se establece con un valor inicial, una sentencia condicional que determina cundo termina la reproduccin en bucle y una expresin que cambia el valor de la variable con cada bucle. Por ejemplo, el siguiente cdigo realiza cinco bucles. El valor de la variable i comienza en 0 y termina en 4, mientras que la salida son los nmeros 0 a4, cada uno de ellos en su propia lnea. Var i:int; for (i=0; i<5; i++) { trace(i): }
10
Adobe Flex
El bucle for..in recorre las propiedades de un objeto o los elementos de una matriz. Por ejemplo, se puede utilizar un bucle for..in para repetir las propiedades de un objeto genrico (las propiedades de un objeto no se guardan en ningn orden concreto, por lo que pueden aparecer en un orden aparentemente impredecible):
var myObj:Object={x:20,y:30}; for (var i;String in myObj) { trace(I + : + myObj[i]); } //salida //x:20 //y:30
Tambin se pueden recorrer los elementos de una matriz: Var myArray=[one,two,three]; For (var i:String in myArray) { trace(myArray[i]); } //salida //one //two //three
11
Adobe Flex
For each..in
El bucle for each..in recorre los elementos de una coleccin, que puede estar formada por las etiquetas de un objeto XML XMLList, los valores de las propiedades de un objeto o los elementos d una matriz. Por ejemplo, como se indica en el siguiente fragmento, se puede utilizar un bucle for each..in para recorrer las propiedades de un objeto genrico, pero a diferencia del bucle for..in, la variable de iteracin de un bucle for each..in contiene el valor de la propiedad en lugar del nombre de la propiedad:
var myObj:Object={x:20, y:30}; for each (var num in myObj) { trace(num); } //salida //20 //30
12
Adobe Flex
13
Adobe Flex
While
El bucle while es como una sentencia if que se repite con tal de que la condicin sea true. Por ejemplo, el cdigo siguiente produce el mismo resultado que el ejemplo del bucle for:
Una desventaja que presenta el uso de los bucles while frente a los bucles for es que es ms probable escribir un bucle infinito con bucles while. El cdigo de ejemplo de bucle for no se compila si se omite la expresin que aumenta la variable de contador, mientras que el ejemplo de bucle while s se compila si se omite dicho paso. Sin la expresin que incrementa i, el bucle se convierte en un bucle infinito.
14
Adobe Flex
Do..while
El bucle do..while es un bucle while que garantiza que el bloque de cdigo se ejecuta al menos una vez, ya que la condicin se comprueba despus de que se ejecute el bloque de cdigo. En el siguiente cdigo se muestra un ejemplo sencillo de bucle do..while que genera un resultado aunque la condicin no se cumpla:
15
Adobe Flex
Funciones
Las funciones son bloques de cdigo que realizan tareas especficas y pueden reutilizarse en el programa.
Invocacin de funciones
Para llamar a una funcin se utiliza su identificador seguido del operador parntesis (()).
Se puede utilizar el operador parntesis para escribir los parmetros de funcin que se desea enviar a la funcin. Por ejemplo, la funcin trace(), que es una funcin de nivel superior de la API de Flash Player se usa por todo el manual: trace(Use trace to help debug your script);
Si se llama una funcin sin parmetros, hay que utilizar un par de parntesis vacos. Por ejemplo, se puede utilizar el mtodo Math.random(), que no admite parmetros, para generar un nmero aleatorio: var randomNum:Number=Math.random();
Hay dos maneras de definir una funcin en ActionScript 3.0: se puede utilizar una sentencia de funcin o una expresin de funcin. La tcnica que se elija depender de si se prefiere un estilo de programacin ms esttico o ms dinmico. Si se prefiere la programacin esttica, o en modo estricto, se deben definir las funciones con sentencias de funcin. Las funciones deben definirse con expresiones de funcin si existe la necesidad especfica de hacerlo. Las expresiones de funcin suelen usar en programacin dinmica (en modo estndar).
16
Adobe Flex
Sentencias de Funcin
Las sentencias de funcin son la tcnica preferida para definir funciones en modo estricto. Una sentencia de funcin empieza con la palabra clave function, seguida de: El nombre de la funcin Los parmetros, en una lista delimitada por comas y escrita entre parntesis El cuerpo de la funcin (es decir, el cdigo ActionScript que debe ejecutarse cuando se invoca la funcin), escrito entre llaves.
Por ejemplo, el cdigo siguiente crea una funcin que define un parmetro y despus invoca la funcin con la cadena hello como valor del parmetro:
17
Adobe Flex
Para devolver un valor de la funcin se debe utilizar la sentencia return seguida de la expresin o el valor literal que se desea devolver. Por ejemplo, el cdigo siguiente devuelve una expresin que representa el parmetro:
Tenga en cuenta que la sentencia return finalize la funcin, por lo que las sentencias que estn por debajo de una sentencia return no se ejecutarn, como se indica a continuacin: function doubleNum(baseNum:iint):int { return (baseNum * 2); trace(after return); //Esta sentencia trace no se ejecutar. }
En modo estricto se debe devolver un valor del tipo apropiado si se elige especificar un tipo devuelto. Por ejemplo, el cdigo siguiente genera un error en modo estricto porque no devuelve un valor vlido.
18
Adobe Flex
Funciones anidadas
Es possible anidar funciones, lo que significa que pueden declararse funciones dentro de otras funciones. Una funcin anidada slo est disponible dentro de su funcin principal, a menos que se pase una referencia a la funcin a cdigo externo. Por ejemplo, el cdigo siguiente declara dos funciones anidadas dentro de la funcin getNameAndVersin():
function getNameAndVersin():String { function getVersion():String { return 9; } function getProductName():String { return Flash Player; } return (getProductName() + + getVersion()); trace (getNameAndVersin());//Flash Player 9
19
Adobe Flex
Parmetros de funcin
ActionScript 3.0 proporciona funcionalidad para los parmetros de funcin que puede resultar novedosa para los programadores que empiecen a estudiar el lenguaje. Aunque la idea de pasar parmetros por valor o por referencia debe resultar familiar a la mayor parte de los programadores, el objeto arguments y el parmetro(rest) sern nuevos para la mayora.
En muchos lenguajes de programacin, es importante comprender la diferencia entre pasar argumentos por valor o por referencia; esta diferencia puede afectar a la manera de disear el cdigo. Al pasar por valor, el valor del argumento se copia en una variable local para usarlo en la funcin. Al pasar por referencia, slo se pasa una referencia al argumento, en lugar del valor real. No se realiza ninguna copia del argumento real. En su lugar, se crea una referencia a la variable pasada como argumento y se asigna dicha referencia a una variable local para usarla en la funcin. Como una referencia a una variable externa a la funcin, la variable local proporciona la capacidad de cambiar el valor de la variable original. En ActionScript 3.0, todos los argumentos se pasan por referencia, ya que todos los valores se almacenan como objetos. No obstante, los objetos que pertenecen a los tipos de datos simples, coomo Boolean, Number, int, uint y String, tienen operadores especiales que hacen que se comporten como si se pasarn por valor. Por ejemplo, el cdigo siguiente crea una funcin denominada passPrimitives() que define dos parmetros denominados xParam y yParam, ambos de tipo int. Estos parmetros son similares a variables locales declaradas en el cuerpo de la funcin passPrimitives().
20
Adobe Flex
Cuando se llama a la funcin con los argumentos xValues e yValue, los parmetros xParam e yParam se inicializan con referencias a los objetos int representados por xValues e yValue. Como los argumentos son valores simples, se comportan como si se pasarn por valor. Aunque xParam e yParam slo contienen inicialmente referencias a los objetos xValue e yValue, los cambios realizados a las variables en el cuerpo de la funcin generan nuevas copias de los valores en la memoria. Function passPrimitives(xParam:int, yParam:int):void { xParam++; yParam++; trace(xParam, yParam); }
var xValue:int=10; vary Value:int=15; trace(xValue, yValue);//10 15 passPriimitives(xValue, yValue);//11 16 trace(xValue, yValue);//10 15 }
En la function passPrimitives(), los valores de xParam e yParam se incrementan, pero esto no afecta a los valores de xValue e yValue, como se indica en la ltima sentencia trace. Esto es as aunque se asigne a los parmetros los mismos nombres que a las variables, xValue e yValue, ya que dentro de la funcin xValue e yValue sealaran nuevas ubicaciones de la memoria que existen por separado de las variables externas a la funcin que tienen el mismo nombre.
21
Adobe Flex
Todos los dems objetos (es decir, los objetos que no pertenecen a los tipos de datos simples) se pasan siempre por referencia, ya que esto ofrece la capacidad de cambiar el valor de la variable original. Por ejemplo, el cdigo siguiente crea un objeto denominado objVar con dos propiedades, x e y. El objeto se pasa como un argumento a la funcin passByRef(). Como el objeto no es un tipo simple, no slo se pasa por referencia, sino que tambin mantiene como una referencia. Esto significa que los cambios realizados en los parmetros dentro de la funcin afectarn a las propiedades del objeto fuera de la funcin. function passByRef(objParam:Object):void { objParam.x++; objParam.y++; trace(objParam.x, objParam.y); } V var objVar:Object={x:10,y:15}; trace(objVar.x,objVar.y);//10 15 passByRef(objVar);//11 16 trace(objVar.x,objVar.y);//11 16
el parmetro objParam hace referencia al mismo objeto que la variable objVar global. Como se puede ver en las sentencias trace del ejemplo, los cambios realizados en las propiedades x e y del objeto objParam se reflejan en el objeto objVar.
22
Adobe Flex
En ActionScript 3.0 se incluyen como novedad la capacidad de declarar valores predeterminados de parmetros para una funcin. Si una llamada a una funcin con valores predeterminados de parmetros omite un parmetro con valores predeterminados, se utiliza el valor especificado en la definicin de la funcin para ese parmetro. Todos los parmetros con valores predeterminados deben colocarse al final de la lista de parmetros. Los valores asignados como valores predeterminados deben ser constantes de tiempo de compilacin. La existencia de un valor predeterminado para un parmetro convierte de forma efectiva a ese parmetro en un parmetro opcional. Un parmetro sin un valor predeterminado se considera un parmetro requerido.
23
Adobe Flex
Falta de tipificacin (el compilador desconoce el tipo de dato), que se transforma en reduccin de rendimiento. Aumento del tamao de los ficheros SWF. Para modificar los datos habra que recompilar los ficheros SWL.
Descripcin La etiqueta <mx:Model> integra las estructuras XML dentro de la aplicacin durante la compilacin y se almacenan en el cliente.
24
Adobe Flex
Carga de datos del lado del cliente Este ejemplo se emplea para almacenar datos en el cliente. Una de las diferencias est en la necesidad de extraer el cdigo XML a un fichero externo.
Desventajas al emplear este mtodo Falta de tipificacin (el compilador desconoce el tipo de dato), que se transforma en reduccin de rendimiento. Aumento del tamao de los ficheros SWF. Para modificar los datos habra que recompilar los ficheros SWL. Descripcin La etiqueta <mx:Model> integra las estructuras XML dentro de la a plicacin durante la compilacin y se almacenan en el cliente.
25
Adobe Flex
Fichero requerido:
assets/datosLocales.xml
26
Adobe Flex
Carga de datos del lado del cliente Concretamente, se crea una estructura de datos mediante la clase Usuario que permite tipificar y separar los datos de la interfaz de usuario. Desventajas al emplear este mtodo Aumento del tamao de los ficheros SWF. Para modificar los datos habra que recompilar los ficheros SWL. Descripcin El evento del sistema creationComplete se enva una vez que un elemento se ha creado, visualizado y est listo para usar. En este caso, al tratarse de la etiqueta <mx:Application> que es el contenedor de nivel superior, el evento se crear cuando finalice la carga de todos los elementos.
27
Adobe Flex
Autenticar el acceso a los servicios Por lo general los servicios de datos requieren la autenticacin del usuario antes de permitir el acceso a los servicios. Servicios de PHP, BlazeDS, y ColdFusion que proporcionan acceso a travs del protocolo HTTP puede requerir autenticacin adicional. En algunos casos, este tipo de servicios requieren de HTTP y la autenticacin remota. Flash Builder proporciona una opcin para la autenticacin del servicio cuando se est haciendo lo siguiente: Configuracin del tipo de cambio de una operacin Utilizacin de la interfaz de operacin de prueba Cuando se especifica requiere autenticacin, Flash Builder abre el cuadro de dilogo Servicio de autenticacin. Dependiendo del tipo de servicio que est accediendo, se puede especificar la autenticacin bsica o autenticacin remota. La autenticacin bsica La autenticacin bsica permite el acceso a los servicios de HTTP y la Web. El nombre de usuario y contrasea para acceder a estos servicios. Especifique Recordar usuario y contrasea si desea Flash Builder para usar las credenciales especificadas durante la sesin. Autenticacin remota Autenticacin remota proporciona acceso a los servicios objeto remoto. Los servicios de objetos remotos son servicios que prestan como objetos remotos utilizando ColdFusion, PHP, BlazeDS, o Adobe LiveCycle Data Services (LCDS). Flash Builder no ofrece la interfaz de autenticacin de inicio de sesin a distancia para los proyectos que no implementan los servicios de objetos remotos. El nombre de usuario y contrasea para acceder a los servicios objeto remoto. Especifique Recordar usuario y contrasea si desea Flash Builder para usar las credenciales especificadas durante la sesin.
28
Adobe Flex
Privacidad La privacidad es un aspecto importante de la seguridad global. proporcionan muy poca informacin que pudiera revelar algo acerca de un usuario (o su equipo). Flash Player no proporciona informacin personal sobre los usuarios (tales como nombres, direcciones de correo electrnico y nmeros de telfono), o facilitar el acceso a otra informacin confidencial (como nmeros de tarjetas de crdito o informacin de la cuenta). Lo que Flash Player no proporciona es bsicamente hardware estndar y la informacin de configuracin de software que los autores podran utilizar para mejorar la experiencia del usuario en el entorno encontrado. La misma informacin que a menudo est disponible ya a partir del sistema operativo o navegador web. La informacin sobre el entorno del cliente que est disponible para la aplicacin incluye: Cadena de agente de usuario, que normalmente se identifica el tipo de navegador y sistema operativo de incorporacin de los clientes Las capacidades del sistema, tales como el lenguaje o la presencia de un descodificador de MP3 Adobe Flex
29
Acerca de cajas de arena El tipo de caja de arena indica el tipo de zona de seguridad en la que el archivo SWF est en funcionamiento. En Flash Player, todos los archivos SWF (y archivos HTML, a los efectos de SWF a HTML scripting) se colocan en uno de los cuatro tipos de recinto de seguridad: Remoto Todos los archivos de URL no locales se colocan en un entorno limitado remoto. Hay muchas cajas de arena, uno para cada uno de Internet (o Intranet) de dominio de los archivos que se cargan. local-con-sistema de archivos El recinto de seguridad por defecto para los archivos locales. Los archivos SWF de este entorno limitado no puede comunicarse con el Internet (o cualquier servidor) de ninguna manera-que no pueden acceder a los puntos finales de red con direcciones como las direcciones URL HTTP. Locales con acceso a red Archivo SWF de este entorno limitado pueden comunicarse a travs de la red, pero no pueden leer del sistema de archivos local. Local de confianza Este entorno no est restringido. Cualquier archivo local puede ser en este entorno limitado si se le da la autorizacin del usuario final. Esta autorizacin puede ser de dos tipos: de forma interactiva a travs del Administrador de configuracin o no interactiva a travs de un instalador ejecutable que crea archivos de configuracin de Flash Player en el ordenador del usuario. Puede determinar el tipo de entorno limitado actual mediante el sandboxType propiedad de la clase de seguridad, como muestra el siguiente ejemplo: <? xml version = "1.0" encoding = "UTF-8"?> <-! De seguridad / DetectCurrentSandbox.mxml -> <s: Aplicacin xmlns: fx = "http://ns.adobe.com/mxml/2009" xmlns: mx = "biblioteca: / / ns.adobe.com / flex / mx" xmlns: s = "biblioteca: / / ns.adobe.com / flex / chispa" creationComplete = "initApp ()"> <s:layout> Adobe Flex
30
31
Adobe Flex
Tipos de errores
Errores en tiempo de compilacin Se producen cuando los problemas sintcticos del cdigo impiden crear la aplicacin. Errores en tiempo de ejecucin Se producen al ejecutar la aplicacin tras compilarla
Errores sincrnicos Son errores en tiempo de ejecucin que se producen cuando se invoca una funcin
Por ejemplo Cuando se intenta utilizar un mtodo especfico y el mtodo que se pasa al argumento no es vlido, Flash Player genera una excepcin. La mayor parte de los errores se producen de forma sincrnica (cuando se ejecuta la sentencia) y el flujo del control se pasa inmediatamente a la sentencia catch ms apropiada. En el cdigo siguiente se genera un error en tiempo de ejecucin porque no se llama al mtodo browse() antes de que el programa intente cargar un archivo: Adobe Flex
32
var fileRef:FileReference = new FileReference(); try { fileRef.upload("http://www.yourdomain.com/fileupload.cfm"); } catch (error:IllegalOperationError) { trace(error); // Error n 2037: Se ha llamado a las funciones en una secuencia // incorrecta o una llamada anterior // no se ha realizado correctamente. }
Error asincrnico
Son errores en tiempo de ejecucin, que se producen en varios puntos de la ejecucin de la aplicacin; generan eventos que son capturados por los detectores de eventos.
En las operaciones asincrnicas, una funcin inicia una operacin, pero no espera a que se complete. Se puede crear un detector de eventos de error para esperar a que la aplicacin o el usuario realicen alguna operacin si sta falla el error se captura con un detector de eventos y se responde al evento de error.
33
Adobe Flex
1.- Utilizacin de sentencias try..catch..finally. Estas sentencias capturarn los errores cuando se produzcan. Se pueden anidar las sentencias en una jerarqua para capturar excepciones en varios niveles de la ejecucin del cdigo.
Creacin de objetos de error personalizados Se puede usar la clase Error para crear objetos de error personalizados, lo que permite hacer un seguimiento de operaciones especficas de la aplicacin que no estn incluidas en los tipos de error integrados. De este modo, se pueden usar sentencias try..catch..finally en los objetos de error personalizados. Especificacin de detectores y controladores de eventos para responder a eventos de error. Mediante esta estrategia, se pueden crear controladores de error globales que permiten gestionar eventos similares sin duplicar demasiado cdigo en bloques try..catch..finally. Adems, es ms probable capturar errores asincrnicos con este mtodo.
34
Adobe Flex
En su momento tena sentido ya que las aplicaciones no mantenan el estado y cada peticin al servidor significaba el enviar el identificador de sesin para que el servidor supiese que cliente estaba pidiendo la informacin ya que esa informacin se guardaba en servidor.
Ahora la informacin sensible a la sesin, se guarda en el cliente, por tanto se mantiene activa mientras dura la sesin de ese cliente. Adems podemos usar Local Shared Objects para persistir informacin entre sesiones (si por ejemplo se quiere que el cliente flex recuerde el ltimo usuario ligado y lo escriba para facilitar al usuario el acceso).
An asi, y para aquellos apegado a antiguas prcticas, hay soluciones para acceder a una sesin. En OpenAMF tienes la clase RequestContext ( org.openamf.RequestContext).
35
Adobe Flex
La concurrencia es la propiedad de los sistemas que permiten que mltiples procesos sean ejecutados al mismo tiempo, y que potencialmente puedan interactuar entre s. Los procesos concurrentes pueden ser ejecutados realmente de forma simultnea, slo cuando cada uno es ejecutado en diferentes procesadores. En cambio, la concurrencia es simulada si slo existe un procesador encargado de ejecutar los procesos concurrentes, simulando la concurrencia, ocupndose de forma alternada en uno y otro proceso a pequesimos intervalos de tiempo. De esta manera simula que se estn ejecutando a la vez. Debido a que los procesos concurrentes en un sistema pueden interactuar entre otros tambin en ejecucin, el nmero de caminos de ejecucin puede ser extremadamente grande, resultando en un comportamiento sumamente complejo. Las dificultades asociadas a la concurrencia han sido pensadas para el desarrollo de lenguajes de programacin y conceptos que permitan hacer la concurrencia ms manejable.
Control de concurrencia La manera de controlar errores depender de los fines concretos para los que disee la aplicacin. Cuando intenta realizar una actualizacin pero se produce una excepcin, puede utilizar la informacin que proporciona la excepcin. private void UpdateDatabase() { try { this.northwindDataSetCustomersTableAdapter.Update(this.northwindDataSet.get_ Customers()); MessageBox.Show("Update successful"); } catch (DBConcurrencyException dbcx) { Adobe Flex
36
Para crear el mensaje que se mostrar al usuario private String CreateMessage(NorthwindDataSet.CustomersRow cr) { return "Database: " + GetRowData(GetCurrentRowInDB(cr), DataRowVersion.Default) + "\n" + "Original: " + GetRowData(cr, DataRowVersion.Original) + "\n" + "Proposed: " + GetRowData(cr, DataRowVersion.Current) + "\n" + "Do you still want to update the database with the proposed value?"; }
//-------------------------------------------------------------------------// This method loads a temporary table with current records from the database // and returns the current values from the row that caused the exception. //-------------------------------------------------------------------------private NorthwindDataSet.CustomersDataTable tempCustomersDataTable = new NorthwindDataSet.CustomersDataTable(); private NorthwindDataSet.CustomersRow GetCurrentRowInDB(NorthwindDataSet.CustomersRow RowWithError)
37
Adobe Flex
//-------------------------------------------------------------------------// This method takes a CustomersRow and RowVersion // and returns a string of column values to display to the user. //-------------------------------------------------------------------------private String GetRowData(NorthwindDataSet.CustomersRow custRow, DataRowVersion RowVersion) { String rowData = ""; for (int i = 0; i < custRow.get_ItemArray().length; i++) { rowData = rowData + custRow.get_Item(i, RowVersion).ToString() + " "; } return rowData; }
38
Adobe Flex
// This method takes the DialogResult selected by the user and updates the database // with the new values or cancels the update and resets the Customers table // (in the dataset) with the values currently in the database. private void ProcessDialogResult(DialogResult response) { switch (response) { case DialogResult.Yes: UpdateDatabase(); break; case DialogResult.No: northwindDataSet.Merge(tempCustomersDataTable); MessageBox.Show("Update cancelled"); break; } }
39
Adobe Flex
Ejecute el comando para actualizar la base de datos desde un bloque try/catch. Si se inicia una excepcin, compruebe la propiedad Row de la instruccin catch para determinar qu produjo la infraccin. Agregue cdigo para resolver el error basndose en las reglas de empresa de su aplicacin.
try { northwindDataSetCustomersTableAdapter.Update(northwindDataSet); } catch (DBConcurrencyException ex) { String customErrorMessage; customErrorMessage = "Concurrency violation\n"; customErrorMessage += ex.get_Row().get_Item(0).ToString();
40
Adobe Flex
Commit Este comando da por concluida la transaccin actual y hace definitivos los cambios realizados liberando las filas bloqueadas. Slo despus de que se ejecute commit tendremos acceso a los datos modificados.
Rollback Este comando da por concluida la transaccin actual y deshace los cambios que se pudiesen haber producido en la misma, liberando las filas bloqueadas. Se utiliza especialmente cuando no se puede concluir una transaccin porque se han levantado excepciones.
Savepoint Se utiliza para poner marcas o puntos de salvaguarda al procesar transacciones. Se utiliza junto con rollback permitiendo deshacer cambios hasta los savepoint. El nmero de savepoint esta limitado a 5 por sesin pero lo podemos modificar con la siguiente sentencia:
Rollback implicito Este comando se ejecuta cuando un programa almacenado (procedimiento o funcin) falla y no se controla la excepcin que produjo el fallo. Pero si en el programa tenemos un commit estos cambios no sern deshechos.
Rollback to Deshace el trabajo realizado despus del punto indicado. Pero no se confirma el trabajo hecho hasta el savepoint. La transaccin no finaliza hasta que se ejecuta un comando de control de transacciones o hasta que finaliza la sesin.
41
Adobe Flex
Os dejo a continuacin un ejemplo bastante completo de lo que seria el control de transacciones: create or replace procedure prueba (nfilas number) as begin savepoint ninguna; insert into tmp values ('primera fila'); savepoint una; insert into tmp values ('segunda fila'); savepoint dos; if nfilas=1 then rollback to una; else if nfilas=2 then rollback to dos; else rollback to ninguna; end if; commit; exception when other then rollback end prueba;
42
Adobe Flex
43
Adobe Flex
Si se tiene experiencia en otros lenguajes de POO, tal como Java o C++, ya se tiene la experiencia en aplicaciones escritas en POO. Objetos y clases En el corazn de la POO est el objeto, el cual encapsula su funcionalidad. Cuando un objeto est encapsulado, tiene cierta capacidad que lo expone a travs de propiedades y mtodos que se pueden usar, pero que oculta todos los dems detalles acerca de cmo se hizo lo que se hizo. Una clase es la definicin de un objeto. Un objeto es una instancia en particular de una clase. Cada clase de ActionScript est definida en su propio archivo de ActionScript (con la extensin de archivo .as).
44
Adobe Flex
La POO es una manera de organizar el cdigo en un programa para agruparlo dentro de un objeto individual con elementos que incluye informacin (propiedades) y funcionalidad (mtodos). Por ejemplo, informacin de msica tal como: ttulo de lbum, ttulo de cancin, o nombre de artista; junto con funcionalidades comunes o acciones asociadas con la informacin tal como "agregar cancin a la lista de reproduccin" o "reproducir todas las canciones de un artista". Estos tems estn combinados en un nico tem, en un objeto: un "lbum" o Pista de msica". Ejemplo: La clase humano tiene caractersticas que lo definen y diversas funciones de lo que es capaz.
Si se tiene experiencia en otros lenguajes de POO, tal como Java, ya se tiene la experiencia en aplicaciones escritas en POO. Objetos y Clases En el corazn de la POO est el objeto, el cual encapsula su funcionalidad. Cuando un objeto est encapsulado, tiene cierta capacidad que lo expone a travs de propiedades y mtodos que se pueden usar, pero que oculta todos los dems detalles acerca de cmo se hizo lo que se hizo. Una clase es la definicin de un objeto. Un objeto es una instancia en particular de una clase. Cada clase de ActionScript est definida en su propio archivo de ActionScript (con la extensin de archivo .as).
45
Adobe Flex
Los componentes visuales son implementados como una jerarqua de clases en ActionScript. Por lo tanto, cada componente visual en la aplicacin es una instancia de clases ActionScript.
46
Adobe Flex
UIComponents La clase UIComponents es la clase base para todos los componentes visuales en FLEX. Propiedad doubleClickEnabled Tipo Boolean Descripcin Se establece un true cuando se pulsa y suelta el botn del mouse dos veces en una rpida sucesin sobre el componente. Se establece un true cuando el componente acepta el foco de entrada del teclado o mouse. El valor predeterminado es true. Si se configura enabled a false para un contenedor, FLEX atena el color del contenedor y de todos sus hijos as como la entrada de los bloques de usuario en el contenedor y sus hijos. La altura del componente en pixeles. Especifica el identificador del componente. Este valor identifica la instancia especfica del objeto y no debe contener ningn espacio en blanco o un caracter especial. Descripcin
enabled
Boolean
height id
Number String
Propiedad
Tipo
percentHeight
Number
La altura del componente como un porcentaje de su contenedor principal, o de las etiquetas <mx:Application>, la altura del navegador no devuelve un nmero si una anchura est basado en un porcentaje que nunca se estuvo previsto, o si una propiedad de anchura se estableci despus de la percentWidth. La altura del componente como un porcentaje de su contenedor principal, o de las etiquetas <mx:Application>, la duracin completa del navegador no devuelve un nmero si una anchura est basado en un porcentaje que nunca se estuvo previsto, o si una propiedad de anchura se estableci despus de la percentWidth. Especifica el selector de clase de estilo a aplicar a los componentes.
percentWidht
Number
styleName
String
47
Adobe Flex
Botn (Button) Se crea un botn de control en una aplicacin de FLEX usando la etiqueta (tag) MXML <mx:Button>. Personalizacin de un botn: Agregar etiqueta de texto (label) Botn como cono en pantalla (icon) o ambos. Posicionamiento del label con respecto al icon.
Casilla de verficacin (CheckBox) El CheckBox se extiende del Button y as hereda todas sus propiedades, estilos, mtodos y eventos declarados en el botn de control. Para crear un CheckBox se utiliza la etiqueta MXML <mx:CheckBox>. Similar a como se trabaja con un botn, se agrega el evento escuchador click para detectar cuando un usuario da clic al control del CheckBox.
48
Adobe Flex
RadioButton El RadioButton es otro control que se extiende del Button, as que hereda todas sus propiedades, estilos, mtodos y eventos definidos por el control de botn. Para crear un RadioButton se utiliza la etiqueta MXML <mx:RadioButton>. El RadioButton consiste en un label y un crculo relleno cuando es seleccionado.
Label
Cuando se quiere mostrar una sola lnea de texto, se usa el Label. Resultado al crear un Label en FLEX para mostrar texto al usuario: Estilos de fuente: fontWeight (normal bold), fontSize (en pixeles) , fontStyle (normal italic).
Text El Text es casi idntico al Label, excepto que puede abarcar mltiples lneas. El Text de FLEX puede ser creado con la etiqueta MXML <mx:Text>. El Label est limitado a una sola lnea, as que si se necesita mostrar un bloque de texto, se puede usar el Text. En el Text se pueden usar las mismas propiedades y estilos del Label.
TextInput Control de etiqueta editable. TextInput es igual que la etiqueta <input type="text" /> en HTML. TextInput se pueden crear con la etiqueta <mx:TextInput> MXML. A continuacin, puede acceder al texto que el usuario ha escrito haciendo referencia a MyText-Field.text. Aqu est una solicitud completa MXML para demostrar el acceso el texto de un control TextInput:
49
Adobe Flex
Esta aplicacin FLEX permite a un usuario de la aplicacin ingresar su nombre en el TextInput control. Cuando el usuario hace clic en el botn Enviar, un mensaje aparece y muestra el texto introducido por el usuario en el myTextField.
50
Adobe Flex
Ejemplos prcticos
Cdigo <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" pageTitle="Instituto Tecnolgico de Villahermosa" skinClass="spark.skins.spark.ApplicationSkin" width="778"> <fx:Declarations> <!-- Place non-visual elements (e.g., services, value objects) here --> </fx:Declarations> <s:Panel width="726" id="panel" title="Ejemplos Prcticos con Flash Builder 4" horizontalCenter="-1" height="421" verticalCenter="-19"> <s:controlBarContent> </s:controlBarContent> <mx:Image x="233" y="-24" source="../img/fb_app.png" id="ico" scaleContent="true"/> <mx:Label text="Utilizando las libreras SPARK y MX" fontFamily="Georgia" fontWeight="bold" fontSize="14" textAlign="center" width="324" height="25" x="194.85" y="36.05" color="#0A7A92"/> <s:BorderContainer x="31.3" y="123.1" width="199" height="229" borderStyle="solid" cornerRadius="5"> <mx:Label text="<s:Button>" fontFamily="Georgia" fontWeight="bold" fontSize="14" textAlign="center" width="121" height="25" x="-1.3" y="10.1" color="#0A7A92"/>
51
Adobe Flex
52
Adobe Flex
TextInput
Cdigo
53
Adobe Flex
Hola Mundo
Cdigo
Botn Papelera
54
Adobe Flex
CheckBox
Cdigo
RadioButton
Cdigo
55
Adobe Flex
Anexos
56
Adobe Flex
57
Adobe Flex