2010-06-10 18 views
6

के बीच अंतर क्या हैं फ्लेक्स एमएक्सएमएल और एएस 3 के बीच अंतर क्या हैं।फ्लेक्स एमएक्सएमएल और एक्शनस्क्रिप्ट -3

+1

यह विंडोज और माइक्रोसॉफ्ट ऑफिस के बीच अंतर पूछने की तरह है। – Matchu

+2

@ मैचू, बिलकुल नहीं। यह एएसपीएक्स बनाम सी # के बारे में पूछना है। –

+1

@ सैम - हाँ, शायद मुझे स्नैकी टिप्पणियां नहीं करनी चाहिए अगर मैं उनके साथ समर्थक नहीं हूं। मैं एएस 3 को सिस्टम होने के लिए मानता हूं, और एमएक्सएमएल इसके अंदर एक उपकरण है, लेकिन मुझे केवल मुश्किल से पता है कि मैं एक्सडी – Matchu

उत्तर

0

एमएक्सएमएल एक फ्लेक्स एप्लिकेशन में आपके विचारों के यूजर इंटरफेस तत्वों को परिभाषित करने के लिए एक घोषणात्मक भाषा है। आप कुछ गैर-यूआई तत्व भी घोषित कर सकते हैं जो मौजूद हैं और पृष्ठ का समर्थन करते हैं, लेकिन अधिकांश भाग के लिए यह यूआई तत्वों के लिए उपयोग किया जाता है।

एएस 3 एक प्रोग्रामिंग भाषा है जिसका उपयोग आपके आवेदन के लिए सभी तर्क और कार्यक्षमता को जोड़ने के लिए किया जाता है।

दोनों घटनाओं और डेटा बाध्यकारी के माध्यम से एक साथ बंधे हैं।

0

देख MXML कोड actionscript कोड में और उसके बाद बाईटकोड जो तब फ़्लैश प्लेयर

देखो क्या actionscript में होता है, तो आप माता-पिता और बच्चे के निर्णय करना है द्वारा निष्पादित किया जाता है में संकलित किया गया है, इसलिए यह एक मिलता है बिट जटिल, यू प्रत्येक n सब कुछ के लिए कोड है,

जैसे,

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

लेकिन MXML के मामले में, यू सिर्फ एक ही टैग की जरूरत

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

तो इसे पाने के MXML में काम करने के लिए आसान है, लेकिन वहाँ r MXML की कुछ सीमाएं हैं, इसलिए अभी या बाद में यू Actionscript उपयोग करने के लिए है, thats क्या हम सभी दैनिक करना

मैं आशा यू कुछ विचार टीसी मिला एक gr8 दिन

+0

मैंने आपके कोड को प्रारूपित करने की स्वतंत्रता ली - भविष्य में, बस कोड का चयन करें और इसे प्रारूपित करने के लिए Ctrl-K दबाएं। – Amarghosh

16

MXML फ्लेक्स ढांचे का उपयोग करके आसानी से उपयोगकर्ता इंटरफेस और डेटा बाइंडिंग को परिभाषित करने के लिए एक एक्सएमएल आधारित मार्क-अप भाषा है। एमएक्सएमएल फाइलों में <mx:Script> टैग के अंदर एक्शनस्क्रिप्ट शामिल हो सकता है - जैसा कि आप एक HTML फ़ाइल में जावास्क्रिप्ट कैसे प्राप्त कर सकते हैं।

फ्लेक्स कंपाइलर एमएक्सएमएल मार्क-अप को एसडब्ल्यूएफ/एसडब्ल्यूसी में संकलित करने से पहले एक्शनस्क्रिप्ट -3 कोड में परिवर्तित करता है। एमएक्सएमएल में जो कुछ भी आप करते हैं, वह एक्शनस्क्रिप्ट के साथ भी किया जा सकता है, लेकिन इसे करने के लिए कोड की अधिक लाइनें लगेंगी।

एक mxml फ़ाइल उसी नाम का एक क्रियालेख वर्ग बनाता है जो mxml फ़ाइल के रूट टैग से संबंधित वर्ग को बढ़ाती है। उदाहरण के लिए, MyCanvas.mxml में निम्न कोड MyCanvas क्लास उत्पन्न करता है जो फ्लेक्स 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> 

यह MyCanvas.as कि होता है के बराबर है:

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"); 
    } 
} 

आप किसी भी फ्लेक्स वर्ग के कोड को देखें, तो (जैसे UIComponent, Canvas आदि), आप वे कर रहे हैं कि देखेंगे सभी .as.mxml की बजाय फाइलें।

संबंधित मुद्दे