2010-06-10 15 views
6

Quali sono le differenze tra flex mxml e as3.Quali sono le differenze tra flex mxml e actionscript-3

+1

Questo è un po 'come chiedere la differenza tra Windows e Microsoft Office. – Matchu

+2

@Matchu, non del tutto. È come chiedere di ASPX vs C#. –

+1

@Sam - sì, forse non dovrei fare commenti snarky se non sono un professionista con loro. Ritengo che AS3 sia il sistema e MXML sia uno strumento al suo interno, ma conosco a malapena quello che sto parlando di xD – Matchu

risposta

0

MXML è un linguaggio dichiarativo per definire gli elementi dell'interfaccia utente delle viste in un'applicazione Flex. Puoi anche dichiarare alcuni elementi non dell'interfaccia utente che esistono e supportano la pagina, ma per la maggior parte viene utilizzata solo per gli elementi dell'interfaccia utente.

AS3 è un linguaggio di programmazione che viene utilizzato per aggiungere tutta la logica e le funzionalità all'applicazione.

I due sono collegati tra loro tramite eventi e associazione dati.

0

vedere il codice MXML è compilato nel codice ActionScript e poi in bytecode che viene poi eseguito dal flash player

vedere cosa accadrà in ActionScript è, si deve decidere il genitore e il bambino, quindi è ottenere un po 'complessa, u have a codice per ogni n tutto,

ad esempio,

Canvas can=new Canvas(); 
can.percentHeight=100; 
can.percentWidth=100; 
can.addChild(new Button); 

ma in caso di MXML, u solo bisogno di un tag

<Canvas height="100%" width="100%"><button></button></Canvas> 

quindi è ottenere più facile lavorare in MXML, ma ci r alcune limitazioni del MXML, quindi prima o poi u have a utilizzare ActionScript, questo è quello che tutti noi facciamo ogni giorno

spero u ha ottenuto qualche idea tc ha un gr8 giorno

+0

Mi sono preso la libertà di formattare il codice: in futuro, basta selezionare il codice e premere Ctrl-K per formattarlo. – Amarghosh

16

MXML è un linguaggio di markup basato su XML per la comoda definizione di interfacce utente e associazione dati tramite Flex framework. I file MXML possono includere ActionScript all'interno dei tag <mx:Script>, in modo simile a come si può avere javascript in un file html.

Il compilatore Flex converte la markup MXML nel codice ActionScript-3 prima di compilarlo in SWF/SWC. La maggior parte delle cose che fai in MXML può anche essere fatta con ActionScript, ma ci vorranno più linee di codice per farlo.

Un file mxml crea una classe actionscript con lo stesso nome che estende la classe corrispondente al tag radice del file mxml. Ad esempio, il codice seguente in MyCanvas.mxml genera la classe MyCanvas che estende la classe Flex Canvas.

<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="200" 
    creationComplete="init(event)"> 

    <mx:Label text="{someVar}" id="theLabel"/> 

    <mx:Script> 
    <![CDATA[ 

    [Bindable] 
    public var someVar:String; 

    public function init(e:Event):void 
    { 
     someVar = "Created"; 
    } 
    ]]> 
    <mx:Script> 
</mx:Canvas> 

È equivalente a MyCanvas.as che contiene:

package 
{ 
    import mx.containers.Canvas; 
    import mx.controls.Label; 
    import mx.binding.utils.BindingUtils; 

    [Bindable] 
    public var someVar:String; 

    [Bindable] 
    public var theLabel:Label; 

    public class MyCanvas extends Canvas 
    { 
    this.width = 200; 
    this.addEventListener(FlexEvent.CREATION_COMPLETE, init); 
    } 

    public function init(e:Event):void 
    { 
    someVar = "Created"; 
    } 

    override protected function createChildren():void 
    { 
    theLabel = new Label(); 
    addChild(theLabel); 
    BindingUtils.bindProperty(theLabel, "text", this, "someVar"); 
    } 
} 

Se si guarda il codice di qualsiasi classe Flex (come UIComponent, Canvas ecc), vedrete che sono tutti .as file anziché .mxml.

Problemi correlati