Guia de cambios Flex 2.0.1
Interesante enlace con un pdf que nos cuenta los cambios que nos traerá la inminente actualización de flex.
A resaltar el soporte para aplicaciones modulares... adios a esos swf iniciales tan pesados
Interesante enlace con un pdf que nos cuenta los cambios que nos traerá la inminente actualización de flex.
A resaltar el soporte para aplicaciones modulares... adios a esos swf iniciales tan pesados
Hoy me he encontrado con este fantástico Script para que podamos implementar deep linking en flash, o dicho de otro modo, hacer que nuestras pelis en flash funcionen con el atrás-siguiente del navegador. Lo que puede ser más importante es que podemos acceder a una sección especifica de nuestra web en flash pasando una URL normal y corriente.
SWFAddress usa ExternalInterface para llamar al javascript que se encarga de hacer todo el trabajo. El script ha sido testado en los siguientes navegadores:
En la página web de su autor podemos ver algunos ejemplos para Flash / Flex / MTASC
Leyendo un post en MIF sobre Webservices y .net me entro la curiosidad y me puse a experimentar con servicios web basados en PHP y nuSoap. La experiencia fue muy grata ya que en unos minutos tenía creado un servicio.
Lo primero que debemos hacer es bajarnos la última versión de nuSoap y copiarla en nuestro servidor. En mi caso cree una carpeta llamada webservices para alojar los servicios y dentro de esta otra llamada nuSoap donde incluí todas las clases que previamente había descargado.
Una vez que tenemos las clases en nuestro servidor es hora de crear el servicio web. Para ello creamos un fichero llamado HolaMundo.php e incluimos el siguiente código:
< ?php require_once('nusoap/nusoap.php'); $server = new soap_server; function HolaMundo ($nombre) { return "Hola ".$nombre; } $server = new soap_server; $ns="http://localhost:9999/ws/HolaMundo"; $server->configurewsdl('ApplicationServices',$ns); $server->wsdl->schematargetnamespace=$ns; $server->register('HolaMundo', array('nombre' => 'xsd:string'), array('return' => 'xsd:string'), $ns); if (isset($HTTP_RAW_POST_DATA)) { $input = $HTTP_RAW_POST_DATA; } else { $input = implode("\r\n", file('php://input')); } $server->service($input); exit; ?>
Como vemos lo que hacemos es crear una instancia de la clase soap_server , asignamos el namespace del webservice, configuramos el WSDL y registramos el método HolaMundo indicando los parámetros de entrada y salida así como el tipo de cada uno de estos.
Una vez hecho esto ejecutamos el servicio web desde nuestro navegador y si todo ha ido bien nos aparecerá una pantalla como esta:

Por el lado de Flex el ejemplosería algo así (bastante similar al excelente articulo de MIF
)
< ?xml version="1.0" encoding="utf-8"?> <mx :Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" width="400" height="150" backgroundGradientColors="[#ffffff, #ffffff]" > </mx><mx :Script> < ![CDATA[ import mx.controls.Alert; private function ok():void { Alert.show(ws.HolaMundo.lastResult); } ]]> </mx> <mx :WebService id="ws" result="ok()" showBusyCursor="true" wsdl="http://www.alexdw.com/webservices/HolaMundo.php?wsdl" /> <mx :HBox width="100%"> <mx :Label text="Tu nombre: "/> <mx :TextInput id="src" enter="ws.HolaMundo(src.text)" toolTip="Escribe aquí tu nombre"/> <mx :Button label="Salúdame!!" click="ws.HolaMundo(src.text)" /> </mx>
Aquí lo que hemos hecho es crear un campo de entrada, un botón y hemos instanciado nuestro webservice de modo que al pulsar sobre el botón (o al hacer enter en el campo de texto) invocamos el método HolaMundo de nuestro webService pasando como parámetro el texto del campo de introducción.
Como veis la creación y uso de los webservices en flex se hace de lo más sencillo
Navegando por el site de Renaun Erickson me he topado con un mágnifico componente que hace muy sencillo el uso de AMFPHP sobre flex 2.
El componente emula la forma nativa integrada en flex 2 para llamar a los objetos remotos pero mediante el protocolo AMF0.
Utilizando los servicios que utilizamos en nuestro antiguo Hola mundo, nuestro mxml quedaría así:
< ?xml version="1.0" encoding="utf-8"?> <mx :Application� width="400" height="150" xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:remoting="remoting.*" layout="vertical" backgroundGradientColors="[#ffffff, #ffffff]" borderStyle="none" borderColor="#ffffff"> <remoting :RemoteObjectAMF0 endpoint="http://www.alexdw.com/flashservices/gateway.php" id="HM" source="HolaMundo" showBusyCursor="true" makeObjectsBindable="false" result="ok( event )" fault="ko( event )"> </remoting> </mx><mx :Script> < ![CDATA[ import mx.rpc.events.*; import mx.controls.Alert; private function llamada(s:String):void { HM.saludar(s); } private function ok( event:ResultEvent ):void { Alert.show(event.result.toString()); } public function ko( event:FaultEvent ):void� { Alert.show("No se pudo acceder al servicio"); } ]]> </mx> <mx :HBox width="100%" height="100%" horizontalAlign="center" verticalAlign="middle"> <mx :Label text="Escribe tu nombre"/> <mx :TextInput id="entrada" width="90"/> <mx :Button label="Saludar" height="20" click="llamada(entrada.text)"/> </mx>
Hoy leo en MIF que ya tienen previstas las primeras conferencias sobre flex 2 a través de Adobe Connect.
Las conferencias se realizarán el 18 de Noviembre pero será a partir del día 17 cuando hagan publica la dirección para asistir.
El programa no tiene desperdicio:
Nos vemos (virtualmente claro) allí!!!
Ha nacido un interesante portal donde podremos conocer desarrollos opensource creados con tecnología de Adobe.
Interesante no perderlo de vista
Cada vez me sorprendo más con la cantidad de extensiones Firefox que existen para los desarrolladores web. Esta vez se trata de un "panel de salida" para mostrar las trazas que hacemos desde nuestro script en una ventana de firefox.
Hay que tener en cuenta tener instalada la versión debug del player para que funcione.