AJAX entra nel mondo Adobe con FABridge per Flex

Lunedì 13 Marzo 2006 - 10:00

di Marco Casario

Adobe World

Tempo fa parlavamo di come AJAX e Flash potessero rappresentare soluzioni non concorrenti, ma integrabili fra di loro. Adobe avrà letto i nostri post :) e ha rilasciato una libreria di codice da inserire nella applicazioni Flex che prevede la comunicazione tra Actionscript e Javascript. Si chiama FABridge e sta per FlexAjax Bridge, ovviamente. In pratica si tratta di un componente Flex “donato” alla comunità di sviluppatori in licenza open source!

Cerchiamo di capire come questa libreria agevola il lavoro di uno sviluppatore Flex: senza nessun codice aggiuntivo è possibile esporre classi Actionscript a Javascript e continuare a programmare usando in maniera indifferente un linguaggio piuttosto che l’altro. Senza dimeticare che il Flash Player nativamente può interfacciarsi a Javascript con la classe ExternalInterface.

Mi sembra un gran passo in avanti questo da parte di Adobe, che forse sta focalizzando meglio in quale segmento proporre un prodotto potente come Flex. Brava Adobe! Per la serie un esempio vale più di mille parole, ecco un pò di codice.

Istanziare la classe nell’applicazione Flex:


<mx:Application …>
   <fab:FABridge xmlns:fab=”bridge.*” />

Per accedere all’istanza dell’applicazione attraverso Javascript:


function useBridge()
{
     var flexApp = FABridge.flash.root();
}

Per ritirare un valore di una proprietà o settare il valore attraverso Javascript possiamo usare le seguenti funzioni Javascript:


function getMaxPrice()
{
     var flexApp = FABridge.flash.root();
     var appWidth = flexApp.width();
     var maxPrice = flexApp.maxPriceSlider().value();
}

function setMaxPrice(newMaxPrice)
{
     var flexApp = FABridge.flash.root();
     flexApp.maxPriceSlider().setValue(newMaxPrice);
}

Si possono chiamare metodi di oggetti in questo modo:


function setMaxPrice(newMaxPrice)
{
     var flexApp = FABridge.flash.root();
     flexApp.shoppingCart().addItem(“Antique Figurine”, 12.99 );
}

Passare funzioni come event handlers da JAvascript ad Actionscript:



function listenToMaxPrice()
{
     var flexApp = FABridge.flash.root();
     var maxPriceCallback = function(event)
     {
         document.maxPrice = event.newValue();
         document.loadFilteredProducts(document.minPrice, document.maxPrice);
     }
     flexApp.maxPriceSlider().addEventListener(“change”, maxPriceCallback );
}

Tags:

Categoria: Adobe World | Permalink

Commenti

1

Un motivo in più per buttarsi a capoffitto ad imparare flex :D

# - postato da Web Design Genova - 13 Marzo 2006 - 11:17

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento