windows vista telecharger acheter windows xp professional prix autocad 2006 telecharger adobe premiere pro francais preis microsoft office 2007 adobe flash cs4 preis achat windows 2000 günstig outlook 2007 prix cubase windows 7 preisvergleich heise office 2003 billig telecharger autocad lt 2010 preisvergleich dreamweaver sony vegas 9 preis cubase vollversion windows 2008 datacenter preis dreamweaver cs4 preis prix office 2008 preis windows 7 home premium preis office 2007 microsoft project kaufen windows vista ultimate preisvergleich preis acrobat professional autosketch kaufen preis windows 7 prof achat access 2003 microsoft access 2003 kaufen microsoft office download deutsch illustrator acheter achat photoshop cs solidworks 2009 prix autodesk inventor download deutsch autocad 2010 telecharger adobe indesign preisvergleich prix illustrator cs4 achat autocad 2004 office 2007 moins cher windows vista ultimate 64 bits achat 3ds max prix de windows 7 professionnel acheter archicad 12 dragon naturally speaking pas cher dreamweaver cs3 prix acheter photoshop 7.0 windows 7 home premium kaufen photoshop prix mac corel draw preisvergleich microsoft access prix mathcad 14 preis autocad 2010 preis pcanywhere prix prix pinnacle adobe illustrator cs4 vollversion outlook 2007 prix prix de microsoft project acheter microsoft outlook 2007 acheter windows 2000 pro microsoft word preis indesign cs4 download deutsch microsoft powerpoint preis windows 7 günstig downloaden preise photoshop cs4 prix adobe audition 3 prix de photoshop elements microsoft windows 7 prix acheter windows seven etudiant adobe illustrator cs3 download deutsch acheter vista basic acheter dreamweaver 8 acheter pinnacle studio 14 prix microsoft office professional 2007 prix autocad 2009 acheter photoshop cs3 occasion indesign cs4 français telecharger visual studio 2008 francais achat windows 7 meilleur prix preis windows 7 home premium upgrade corel draw x4 download deutsch acheter encarta 2009 windows 7 premium pas cher indesign achat windows xp professional preis achat microsoft visio acheter kaspersky internet security 2010 preis photoshop cs3 kaspersky internet security 2009 kaufen acheter windows 7 complet preise solidworks dreamweaver cs3 preis windows 7 home vollversion adobe cs5 francais lightroom preise windows 7 ultimate vollversion preise matlab prix cubase le 4 solidworks prix licence adobe fireworks kaufen acheter cubase 5 acheter adobe cs4 acheter lightroom 2 telecharger norton 360 francais preis vmware workstation 7 telecharger office 2010 francais adobe cs3 preis prix windows 7 64 bits adobe audition kaufen acheter windows 7 canada photoshop elements 8 prix acheter microsoft outlook 2003 preis word 2007 acheter autocad electrical preise cs4 acheter windows vista home basic telecharger cubase windows xp sp3 preisvergleich preis microsoft office 2007 solidworks kaufen preis nero 8 corel draw vollversion download office 2007 vollversion download prix omnipage sql server 2008 enterprise prix prix autocad inventor windows xp pro sp3 oem microsoft office 2007 kauf prix sony vegas illustrator cs5 kaufen dreamweaver acheter frontpage kaufen acheter pinnacle video capture for mac preisvergleich photoshop elements 8 windows xp kauf photoshop cs4 preise final cut express 4 kaufen windows 7 kaufen acheter adobe illustrator cs3 preis indesign cs3 illustrator günstig windows 7 home premium billiger nero 9 vollversion kaufen autocad 2010 preisliste autocad architecture 2009 kaufen telecharger windows seven french telecharger windows 7 francais dreamweaver cs5 prix windows vista home premium preise acheter corel draw x3 windows xp telechargementz acheter microsoft office 2010 matlab acheter photoshop elements 6 preis prix autocad architecture 2010 windows xp achat en ligne adobe cs5 vollversion windows 7 preis oem office 2010 preis inventor autodesk preis prix microsoft office 2007 standard acheter word 2007 adobe photoshop cs4 vollversion download preise autocad 2009 prix 3ds max 2010 microsoft powerpoint download deutsch prix kaspersky 2009 acheter windows 7 edition familiale indesign preise windows 7 ultimate kaufen windows 7 home premium preise 3ds max 2009 kaufen achat windows 7 starter adobe premiere pro cs4 download deutsch acheter adobe cs2 acheter microsoft money 2005 prix windows 7 etudiant microsoft office enterprise 2007 preis prix de illustrator telecharger windows vista 64 bits acheter after effect 7 microsoft windows 7 ultimate preis achat windows 7 pas cher windows 7 professional prix windows xp download deutsch word 2003 kaufen preis autocad lt adobe illustrator vollversion acheter windows 7 update photoshop elements 8 preisvergleich office 2007 etudiant prix acheter norton ghost 15 acheter autocad 2008 acheter office 2007 pro microsoft office 2003 kaufen excel 2003 kaufen cs3 prix prix autocad light prix guitar pro prix adobe flash cs4 windows 7 kauf download achat outlook seul microsoft outlook preis acheter adobe premiere elements adobe photoshop cs4 acheter microsoft office 2007 etudiant et famille microsoft office 2010 günstig windows 7 prix oem achat solidworks acheter windows 7 ultimate 64 windows vista preisvergleich cubase preise prix de windows xp visual studio preisvergleich windows 7 preisvergleich schweiz powerpoint vollversion telecharger windows 7 64 bits prix acrobat pro 9 acheter windows xp version boite windows xp pro acheter windows 7 preise versionen archicad 13 kaufen preis windows 7 family pack prix de photoshop achat windows 7 edition familiale premium adobe indesign cs5 preis windows 7 professional vollversion preis windows vista kaufpreis prix autocad 2009 adobe photoshop cs5 kaufpreis prix windows xp edition familiale adobe cs4 acheter prix solidworks 2010 seven windows prix telecharger dreamweaver cs4 after effects cs3 preis microsoft office 2010 download deutsch beta achat photoshop elements 7 prix de microsoft office 2009 preis windows 7 64 bit prix adobe creative suite 4 design premium acheter adobe photoshop acheter quarkxpress telecharger illustrator fr acheter vista pas cher acheter windows 7 aux usa telecharger adobe photoshop cs4 français windows 7 vollversion preis prix windows 7 suisse windows 7 ultimate prix telecharger windows 7 ultimate 32 bits autocad mechanical 2010 preis achat excel 2003 windows 7 vollversion oder upgrade telecharger adobe premiere pro cs3 norton ghost download deutsch pinnacle studio 14 preisvergleich télécharger autocad 2010 français windows 7 günstig kaufen nero preisvergleich windows 7 professionnel oem 32 bits adobe lightroom 2 prix acheter windows xp pro 64 bits acheter office 2007 en suisse windows 7 ultimate achat windows 7 prix microsoft office 2007 pme oem prix photoshop 7 acheter final cut express 4 acheter adobe flash cs3 dreamweaver vollversion download photoshop cs4 preis dragon naturally speaking preisvergleich windows 7 billiger.de microsoft visio download deutsch windows 7 ultimate billig acheter microsoft office pour windows 7 acheter indesign kaspersky internet security 2010 vollversion adobe indesign download deutsch acheter sql server 2008 achat adobe acrobat pro windows xp professional günstig kaufen acheter access 2003 adobe photoshop cs3 download deutsch prix acrobat standard acheter cubase 3 office 2003 prix acheter windows 7 premium acheter office 2003 telecharger word 2003 francais achat adobe photoshop cs5 telecharger photoshop filter windows 7 prix belgique acheter microsoft office en ligne windows 7 starter kaufen windows 7 professional kaufen windows 7 preis 2010 acheter windows vista home premium prix windows 7 acheter microsoft autoroute 2010 guitar pro 5 vollversion download windows 2003 preis maya preisig prix windows 7 integrale pcanywhere download deutsch outlook preis 3ds max 2010 preis achat powerpoint 2003 microsoft office 2003 preise autodesk maya kaufen sql server kaufen adobe premiere elements 8 kaufen acheter acrobat reader autocad electrical kaufen windows 7 pro download deutsch adobe photoshop cs3 preis preis omnipage prix de office 2007 microsoft works vollversion download prix premiere pro cs4 achat vmware workstation acheter sony vegas pro 9 acheter autodesk maya windows vista premium oem acheter adobe photoshop adobe premiere pro cs4 preis adobe after effect prix adobe captivate 3 download windows vista business kaufen sony vegas 9 download deutsch lightroom 2 preise adobe cs4 vollversion prix de frontpage acheter microsoft word 2009 microsoft money kaufen prix cs4 master collection telecharger kaspersky internet security 2010 fr prix windows 2008 r2 enterprise acheter windows 7 en ligne corel draw günstig acheter photoshop lightroom 2 acheter visual studio 2005 dreamweaver cs5 günstig microsoft outlook 2007 günstig acheter windows xp canada acheter adobe premiere pro cs5 adobe cs4 telecharger sql server 2008 enterprise preis prix cs4 photoshop quarkxpress preis prix windows vista prix powerpoint 2007 windows 7 kaufen student

Sesiones sobre Flex y AIR en Adobe Online Developer week

Excelente manera de aprender mas sobre Flex y AIR.

Adobe - Online events : Event Details
http://www.adobe.com/cfusion/event/index.cfm?event=detail&id=1200007&...
Adobe provides end-to-end web development tool suites and solutions.
Join us to see what the buzz is all about in this one week long event
with 20 sessions covering AIR, Flex, Flash, Mobile, ColdFusion and
Dreamweaver technologies.

Mis recomendaciones:

Building Rich Internet Applications with Flex 3
Monday, March 24, 2008
4:00 PM US/Pacific

Introduction to Adobe Blaze DS
Tuesday, March 25, 2008
9:00 AM US/Pacific

Integrating Salesforce.com and Flex
Tuesday, March 25, 2008
11:00 AM US/Pacific

Adobe AIR Local Data Storage Options With Emphasis on Using Embedded
SQL Databases
Wednesday, March 26, 2008
9:00 AM US/Pacific

Flex and Java - Tying the Knot!
Wednesday, March 26, 2008
4:00 PM US/Pacific

Flex Data Services
Thursday, March 27, 2008
9:00 AM US/Pacific

Flex Visual Data & Charting
Thursday, March 27, 2008
4:00 PM US/Pacific

ILOG Elixir: Your Remedy for Vibrant Data Visualization
Friday, March 28, 2008
11:00 AM US/Pacific

AIR Native Drag and Drop
Friday, March 28, 2008
1:00 PM US/Pacific

Flex Architecture
Friday, March 28, 2008
4:00 PM US/Pacific

Hello Flex?

   En preparacion para una presentacion sobre Flex que hare para una consultoria en Boston, probablemente estare escribiendo algunas entradas en Ingles en las siguientes semanas, como apoyo a la audiencia de dicha platica. Esto no significa que el blog cambie de Español a Ingles. Eventualmente las entradas estaran tambien en Español, si tengo tiempo suficiente para traducirlas. Les adelanto que el topico sera sobre Flex 3 y Cairngorm 2.2.1, para los que esten manejando estas versiones.

  Por supuesto que aunque las entradas estaran en Ingles, estare recibiendo comentarios en Español, al mismo tiempo.

 Saludos desde Boston, donde Flex suporta Internationalization!

 

  

Grupo de Flex en Español en Facebook

Con la llegada de Flex 3 y su apertura a Open Source, hoy como nunca existe la posibilidad de explorar su uso para expresar nuestra creatividad. Ideas y planes nacen individualemte, tal vez en el rincon mas solitario de nuestra casa, oficina, o mientras caminanos solitariamente al trabajo.  Pero las mejoras ideas han sido consolidadas a traves de colaboracion con otros. Que mejor que tomar ventaja de una red social como Facebook para hacer la conexion entre los desarrolladores de habla hispana.

  Con esto en mente he creado un nuevo grupo en Facebook llamado "Adobe Flex en Español", para que los desarrolladores Flex nos conectemos ya sea localmente o globalmente. Asi pues les dejo aqui la direccion de este grupo ( necesitan cuenta de Facebook para verlo) para que se me unan y empezar conversaciones sobre ideas o proyectos en Flex.

                                       http://www.facebook.com/group.php?gid=2391727741

  Saludos desde Boston, donde las ideas nacen de la mano con Flex.

Flex Cookbook con nuevos ratings – mis entradas a la cabeza!

El Flex Team anuncia hoy una actualizacion a Flex Cookbook online, incluyendo el uso de Bayesian Rating. Para mi sorpresa, dos de mis entradas estan entre las diez mas populares del Flex Cookbook!

 Si ustedes nunca han usado el Flex Cookbook, es una fuente de conocimiento Flex, donde varios expertos contribuyen con ejemplos de cosas muy interesantes.

 Saludos desde Boston, donde yo siguo cocinando recetas escritas con Flex!

Usando fillFunction para rellenar un columSeries condicionalmente – Nuevo en Flex 3

Acabo de recibir mi licencia de Flex Builder 3, y para probar que todo su activacion, copie y corri un ejemplo del Charting, para probar que el watermark del trial hubiera desaparecido. Efectivamente asi fue, pero al mirar el ejemplo, me recordó de algo nuevo en Flex 3 , el uso de fillFunction, que simplifica una tarea algo complicada en Flex 2: el rellenado de columnas en un chart con colores específicos dependiendo de una condición en los datos.  En Flex 2, se podia hacer estaticamente, espeficando el fill en cada columna, sin embargo habría que hacer mas que eso, si por ejemplo se necesitaba seleccionar en tiempo de ejecución dependiendo de los datos. Yo encontré y publiqué una solución en el Flex Cookbook, la cual pueden leer en el Flex CookBook.

En esta hice uso de UpdateDisplayList para lograrlo, pero ahora con Flex 3 no hace falta más que usar el fillFunction para lograrlo. fillFunction se usa de igual forma que el labelFunction ( dataGridColumn) con el cual ya somos familiares. Pero en este caso recibe un chartItem (el elemento completo con datos de la columna) y un index (el índice de la columna)  y regresa un IFill

Por ejemplo:

private function myFillFunction ( item : ChartItem, index:Number ) : IFill

{

var curItem: ColumnSeriesItem = ColumnSeriesItem (item);

 

if(curItem.yNumber > 30) return(new SolidColor(0x123456, .75));

else

return(new SolidColor(0x563412, .75)); }   

Pueden experimentar al igual que yo con el ejemplo de la ayuda. El cual encontré aquí. Yo agregue la llamada a myfillFunction en el primer ColumnSeries asi (fillFunction="myFillFunction"), y podran observar como la columna que representa “Gold” se rellena según sus datos.
         

<mx:ColumnSeries xField="Country" yField="Gold" displayName="Gold" fill="{sc1}" stroke="{s1}"

fillFunction="myFillFunction"/> 

Y eso es todo, como verán mucho mas simplificado que en Flex 2. Algo que hay que hacer notar sin embargo, es que el Legend se estropea – Gold ya no se visualiza. Lo anterior es entendible, ya que la columna Gold ya no puede ser representada con un solo color. Para tal efecto tendrán que construir su propio Legend.

Nota : No se olviden de agregar estos imports al codigo, si utilizan myFillFunction


import mx.graphics.IFill;

import mx.charts.ChartItem;

import mx.charts.series.items.ColumnSeriesItem ;  

Saludos desde Boston, donde Flex 3 me hace la vida mas facil!

Como insertar un componente en el encabezado de un Panel

 Este pregunta fue la primera en el foro que cree la semana pasada, y es una excelente pregunta tanto para empezar tanto para empezar el foro y para demostrar el uso de componentes en Flex.La pregunta original cuestiona sobre como insertar un ApplicationControlBar en el encabezado del Panel, pero mi respuesta aquí explicara algo más genérico, como insertar cualquier componente en tal cabecera. 

 Para los que no son tan familiares con el Panel en Flex, este tiene un encabezado, el titleBar, el cual tiene propiedades para poner el titulo del panel (title) y su status (status). Pero hay ocaciones que queremeos agregar mas opciones a tal encabezado. Pero como hacerlo? Cual es la mejor manera de agregar tales elementos?

 Tenemos que resolver dos problemas en este caso, primero como insertar tales componentes en el encabezado y segundo, como hacer que el Panel responda a la interacción con esos componentes.  En este ejemplo, para demostrar el primer caso agregare un componente al encabezado el cual contiene un solo botón, el cual dispara un evento, y para el segundo agregare lógica en el panel para escuchar por tales eventos y modificar el Panel, en este caso maximizar y minimizar dicho Panel. Como veran el manejo de eventos en Flex es muy necesario para desarrollar componentes. Si necesitan un repaso, pueden ver la ayuda de Flex o esta entrada que al respecto escribi el otro dia.

 Primeramente enlistare los pasos que seguí:  

  •  
    1. Cree un componente – ActionBar.mxml - que contiene un botón y que dispara los eventos maximizarPanel y minimizarPanel.  Como verán en el código, este componente es completamente independiente y puede ser usado con cualquier propósito. Es más, el nombre de los eventos podría ser más genérico, pero he decidido dejarles los nombres que tienen por motivos didácticos. Puede ver que tiene una variable (maximizado) para mostrar ‘-‘ o ‘+’ como un indicativo visual de su propósito, es decir, maximizar (+) o minimzar (-) el Panel.

    2. Cree un componente que extiende el Panel -  PanelBar.mxml. Este componente es que el sobre todo nos interesa, ya que aquí esta el codigo que nos muestra primero como adicionar (ActionBar.mxml al titleBar del Panel ( usando createChildren y layoutChrome) , y segundo como responder a eventos disparados en ActionBar.mxml dentro de PanelBar.mxml ( usando addEventListener)

    3. Cree una aplicación solo para demostrar el ejemplo : PanelComponentApp.mxml

 Pero detengámonos un poco más en las funciones createChildren y layoutChrome usadas en este caso.  Si ya las han usado o están familiarizados con programación orientada a objetos los calificadores override protected no les serán extraños, pero si no es así, bueno piensen que lo que estan dicendole al Panel es algo como, “ hey Panel! Quiero que ejecutes esas funciones tal como ya sabes (lo cual indicamos llamando super.createChildren()), pero además quiero que ejecutes esto otro...”, es nuestro caso adicionar ActionBar.mxml al titleBar y posicionar ActionBar en layoutChrome. Como menciono en los comentarios, layoutChrome es llamado cada vez que se re-dibuja o actualiza el titleBar, lo cual lo hace el lugar perfecto para posicionar nuestro componente ActionBar. Podríamos haber usado UpdateDisplayList, sin embargo este es llamado cada vez que cualquier cosa cambia en el Panel, por ejemplo si adicionáramos contenido dinámicamente al Panel. Usando layoutChrome, el cual es solo usado para el titleBar y borders del Panel, nos ahorramos varias llamadas innecesarias.  Pero no olvidemos que esto ultimo es solo cierto para el Panel. Si están usando addChild en cualquier otro componente, seguramente tendrían que usar UpdateDisplayList para posicionarlo. Al mismo tiempo si el autoLayout del Panel es puesto a false o true, el layoutChrome es llamado en ambos casos. 

Asi pues es tiempo que les muestre el codigo o no? El propósito es meramente didáctico, y les queda de tarea tomar el concepto y crear sus propios componentes. Por ejemplo, en una versión completa, ActionBar seguramente puede usar customEvents para hacer el código mas genérico, y tal vez los botones puedes usar skins para mejorar su apariencia, y estos seguro que muchas mas.


Cuales ideas se les ocurren a ustedes?

 

--- ActionBar.mxml-----------------------------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>

<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="55">

<mx:Script>

<![CDATA[

[Bindable(event="maximizarPanel")][Bindable(event="minimizarPanel")]

 

[Bindable] public var maximizado : Boolean = true;

 

public function resizePanel ( event : MouseEvent) : void

{

if( maximizado )

{

dispatchEvent(new Event("minimizarPanel"));maximizado = false;

}

else

{

maximizado = true;dispatchEvent(new Event("maximizarPanel"));

}

}

]]>

</mx:Script>

<mx:Button label="{maximizado?'-':'+'}" width="50" click="resizePanel(event)"/>

</mx:HBox>

 

--- PanelBar.mxml-----------------------------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>

<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" width="400" height="300">

<mx:Script>

<![CDATA[

 

private var actionBar : ActionBar ;

 

// Usar createChildren para adicionar la barra con botones ( u otro componente)

override protected function createChildren ( ) : void

{

super.createChildren(); actionBar = new ActionBar();

// Los eventos que el ActionBar envia al panel

actionBar.addEventListener("maximizarPanel",cambiaPanel); actionBar.addEventListener("minimizarPanel",cambiaPanel);

// Finalmente adiciona el componente Action Bar al titleBar del Panel

titleBar.addChild(actionBar);

}

 

// Cuando el panel necesita actualizar borders o el titleBar lo hace a traves llamando layoutChrome

// Usamos ese evento para darle tamaño y posicionar nuestro componente ActionBar

override protected function layoutChrome ( unscaledWidth:Number, unscaledHeight:Number) : void

{

super.layoutChrome(unscaledWidth,unscaledHeight);

actionBar.height = actionBar.measuredHeight;

// Usar el posicionamiento de acuerdo al componente, en este caso solo centro verticalmente y

// lo pongo al lado del statusTextField del Panel

actionBar.move( statusTextField.x - actionBar.width, (titleBar.height - actionBar.height ) / 2);

}

 

// Un ejemplo simple de maximizar/minimizar el panel.

private function cambiaPanel ( event : Event ) : void

{

if ( event.type == "minimizarPanel" )

{

this.height = this.titleBar.height ;

}

else if ( event.type == "maximizarPanel" )

{

this.height = 300;

}

}

]]>

</mx:Script>

 

<mx:Text text=" Contenido del Panel"/></mx:Panel> --- PanelComponentApp.mxml-----------------------------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" xmlns:local="*">

<local:PanelBar width="300" height="300" title="Mi Panel" status="Normal"/>

</mx:Application>

Compilado usando Flex Builder 3

Como agregar columnas a un datagrid dinamicamente.

Este es un caso común cuando se quieren adicionar columnas dinamicamente a un datagrid. El caso de uso, puede que se tienen que agregar columnas a un datagrid de acuerdo a alguna selección del usuario. El código principal de cómo hacerlo este en la función agregarDataGridColumn de este ejemplo. Lo demás son componentes auxiliares para mostrar el ejemplo. En este caso, se presentan solo dos columnas por default en el datagrid de cinco disponibles. Las tres restantes pueden agregarse dinámicamente presionando un botón. Hasta donde puede llevarse este ejemplo? Bueno se me ocurren algunas ideas.

Por ejemplo:

- En vez de botones se pueden mostrar las columnas restantes en una lista. Y tal vez agregarlas con Drag&Drop?
- Validar que no se agregue la columna mas de dos veces.
- Adicionar itemRenderers dinámicamente.

Que otras ideas se les ocurren?

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal"

verticalAlign="middle">

 

<mx:Script>

<![CDATA[

import mx.controls.dataGridClasses.DataGridColumn;

private function agregarDataGridColumn(dataField:String):void {

var dgColumna:DataGridColumn = new DataGridColumn(dataField);var columnas:Array = dataGrid.columns;

columnas.push(dgColumna);

dataGrid.columns = columnas;

}

 

]]>

</mx:Script>

<!-- Los datos. En este caso un Array de objetos-->

<mx:ArrayCollection id="datosArrayColl">

<mx:source>

<mx:Array>

<mx:Object nombre="Ryan" apellido="Stewart" calle="adobe" pais="us" departamento="IT"/>

<mx:Object nombre="Steve" apellido="Jobs" calle="apple" pais="us" departamento="IT"/>

<mx:Object nombre="Bill" apellido="Gates" calle="microsoft" pais="us" departamento="IT"/>

<mx:Object nombre="Britney" apellido="Spears" calle="ninguna" pais="us" departamento="espectaculos"/>

<mx:Object nombre="Jessica" apellido="Simpsoms" calle="smith" pais="us" departamento="cine"/>

<mx:Object nombre="Barack" apellido="Obama" calle="president st." pais="us" departamento="politica"/>

</mx:Array>

</mx:source>

</mx:ArrayCollection>

 

 

<mx:DataGrid id="dataGrid"

dataProvider="{datosArrayColl}"width="

400" rowCount="6">

<mx:columns>

<mx:DataGridColumn dataField="nombre" />

<mx:DataGridColumn dataField="apellido" />

</mx:columns>

</mx:DataGrid>

 

<mx:VBox >

<mx:Button label="Agregar Calle" click="agregarDataGridColumn('calle')" />

<mx:Button label="Agregar Pais" click="agregarDataGridColumn('pais')" />

<mx:Button label="Agregar Departamento" click="agregarDataGridColumn('departamento')" />

</mx:VBox>

 

</mx:Application>

No Flash para el IPhone : Jobs dice ‘Es muy lento’

Me entero en este articulo que Steve Jobs CEO de Apple asevero que el iPhone no suportara Flash como algunos habían especulado. Esto sin duda causa desconsuelo entre los usuarios del iPhone, pero más a los desarrolladores de Flash/Flex/AIR que estábamos esperando en poder crear aplicaciones para el iPhone. Mi opinión personal es que esta no es solo una decisión política ( o de competencia) pero también técnica. Y como tal tiene solución si ambas empresas trabajan en conjunto. Sin embargo, Jobs ha hecho este anuncio unilateralmente, lo cual no ayuda a una pronta solución.

Este anuncio viene también en mal momento para Adobe que esta tratando de impulsar tecnologías como Flex y AIR contra las tecnologías de Microsoft como Silverlight. Microsoft solo esta semana cerro un trato con Nokia para que sus teléfonos soporten Silverlight 

No me sorprendería que este sea un parte aguas para que la adopción de Silverlight sea mas rapida que la de AIR o Flex, no porque ofrezcan la misma solución, pero si compiten en el mismo ámbito de desarrollo de aplicaciones RIA.

Será que tendremos que aprender Silverlight para poder llamarnos desarrollores RIA ?
 

Saludos desde Boston, donde el iPhone no entiende ActionScript

Declarando WebServices con ActionScript

 Como resultado de una pregunta que recibi, escribi este pequeño ejemplo de como llamar un WebService usando puro ActionScript.  Es un ejemplo basico, pero creo que cumple su cometido. Noten que el secreto, es que a diferencia del mxml tag, que maneja esto por nosotros, hay que cargar el WSDL antes de poder hacer llamadas a cualquiera de sus metodos.

  Espero que los comentarios tambien sean de utilidad:

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal"

creationComplete="loadWebService()">

<mx:Script>

<![CDATA[

import mx.rpc.Fault;

import mx.rpc.events.FaultEvent;

import mx.rpc.events.ResultEvent;

import mx.rpc.soap.LoadEvent;

import mx.rpc.soap.WebService;

 

private var webService : WebService = new WebService();

 

private function loadWebService ( ) : void

{

// Cargar el WSDL y agregar listeners para saber cuando este listo

webService.wsdl = "http://www.webservicex.net/WeatherForecast.asmx?WSDL";

webService.addEventListener(LoadEvent.LOAD, onWSDL);

webService.addEventListener(FaultEvent.FAULT, onWebServiceFault);

webService.loadWSDL( );

 

}

 

//listener que avisa cuando el WSDL se ha cargado

private function onWSDL ( event : LoadEvent ) : void

{

 

// Llamada a un metodo en el WebService, primero se crea otro listener para saber cuando

// el resultado esta listo.

webService.GetWeatherByZipCode.addEventListener(ResultEvent.RESULT, onGetWeatherByZipCode);

webService.GetWeatherByZipCode("02111");

}

 

private function onGetWeatherByZipCode ( event : ResultEvent ) : void

{

// Usar el resultado. Para mas detalles se puede inspecionar event.result en el debugger.

textArea.text += "La temperature maxima para hoy en " + event.result.PlaceName + " , "+ event.result.StateCode + " es : " + event.result.Details[0].MaxTemperatureC + "C";

}

 

// En caso de que el WebService no puede ser cargado.

private function onWebServiceFault(event:FaultEvent):void {

var fault: Fault = event.fault;

var message:String = "An error occurred. The details are as follows\ncode: " + fault.faultCode;

message += "\ndetail: " + fault.faultDetail;

trace("Web Service Error :" + message);

}

 

]]>

</mx:Script>

 

<mx:TextArea id="textArea" width="460" height="200" />

 

</mx:Application>

El Boston Globe invade mi oficina!

 Asi es, el Boston Globe invadio Brightcove! Bueno, asi es el titulo de una serie de videos que el Boston Globe ha empezado con compañias en Boston. Para los que tengan curiosidad en conocer lo que hace, quien trabaja y como son las oficinas en Brightcove aqui una oportunidad:

                  http://multimedia.boston.com/pub/tn/3/office_invasion.htm

Saludos desde Boston, donde Flex ha invadido Brightcove tambien!

google

google

asus