2008-09-18 9 views
7

मैं एयर में नया हूं। मेरे पास एक मौजूदा फ्लेक्स 2 एप्लिकेशन है जिसे मैं फ्लेक्सबिल्डर 3 में लाने पर विचार कर रहा हूं। मेरा सवाल है कि मैं एयर संस्करण बनाने के लिए एक ही बेस एप्लिकेशन (और स्रोत कोड) का उपयोग कर सकता हूं, या मुझे अलग कोड पेड़ को बनाए रखना होगा : एयर संस्करण के लिए एक और फ्लेक्स/एसडब्ल्यूएफ संस्करण के लिए एक?क्या मैं एक ही स्रोत कोड से फ्लेक्स वेब और एयर डेस्कटॉप ऐप उत्पन्न कर सकता हूं?

उत्तर

6

फ्लेक्स और एआईआर अनुप्रयोगों के लिए अलग-अलग छोटी परियोजनाओं के साथ, लगभग सभी कोडों के लिए कोर लाइब्रेरी प्रोजेक्ट का उपयोग करने के लिए मैंने एक ही स्रोत से फ्लेक्स और एआईआर अनुप्रयोगों को बनाने के लिए सबसे अच्छा तरीका पाया है।

दो महत्वपूर्ण अवधारणाएं हैं जो इसे बहुत शक्तिशाली और रखरखाव बनाती हैं, केवल दो अनुप्रयोगों की अनुमति नहीं देती है, लेकिन यदि आप इतने इच्छुक हैं तो कई "संस्करणों" के लिए।

  1. मॉड्यूल: - यदि कोर आवेदन वास्तव में एक मॉड्यूल (या एक मॉड्यूल भार अन्य मॉड्यूल) आप में सक्षम आसानी से ठूंठ फ्लेक्स और आकाशवाणी अनुप्रयोगों है कि मूल रूप से हैं बनाने के लिए हो जाएगा है क्रॉस-मॉड्यूल संचार के लिए प्रोजेक्ट गुणों को सेट करने के लिए संदर्भ कक्षाएं सेट करें, और फिर को मॉड्यूललोडर के साथ कोर एप्लिकेशन मॉड्यूल लोड करें।

  2. फैक्टरी ऑब्जेक्ट्स: - जब वहाँ चीजें आप जहाँ आप अलग तरह से काम करने के लिए कुछ चाहते आकाशवाणी डेस्कटॉप अनुप्रयोग है कि आप फ्लेक्स आवेदन में ऐसा नहीं कर सकते हैं, या किसी मामले पर क्या करना चाहते हैं अनुप्रयोगों में, एक प्रोजेक्ट विशिष्ट क्लास का उदाहरण बनाता है यह करने का एक शानदार तरीका है। उदाहरण के लिए, आप अपने "सेव" फ़ंक्शन को कॉल कर सकते हैं, जो एआईआर के लिए फ़ाइल सिस्टम में बचाता है, लेकिन फ्लेक्स के लिए एक वेब सेवा कॉल करता है।

    ऐसा करने के तरीके पर Building Flex and Adobe AIR applications from the same code base पर टोड Prekaski के उत्कृष्ट फ्लेक्स DevNet लेख पर एक नज़र डालें।

बार जब आप एक फ्लेक्स लाइब्रेरी परियोजना जहां, अपने मुख्य मॉड्यूल बनाने के अपने फ्लेक्स और आकाशवाणी आवेदन परियोजनाएं बनाने के लिए जा रहे हैं बना लिया है। दो अनुप्रयोग परियोजनाओं के गुणों में लाइब्रेरी प्रोजेक्ट src निर्देशिका को फ्लेक्स बिल्ड पथ में जोड़ें। प्रोजेक्ट सेटिंग्स में आपको फ्लेक्स मॉड्यूल अनुभाग में मॉड्यूल जोड़ने की आवश्यकता होगी, जिससे परियोजना के लिए अनुकूलित करने के विकल्प को सेट किया जा सके।

+0

लिंक फ्लेक्स देवनेट आलेख में मर चुका है। किसी के पास एक अद्यतन लिंक है? – Alex

+1

इतने सारे लोग स्थायी यूआरएल के महत्व को क्यों नहीं समझते हैं ?? यहां तक ​​कि एडोब, वेब अनुप्रयोगों के निर्माण के लिए उत्पादों को बेचने, नियमित रूप से इस पर असफल हो जाता है! – davr

+0

यहां एक कामकाजी लिंक है: http://www.adobe.com/cn/devnet/air/flex/articles/flex_air_codebase.html – jamix

2

आप इसका उपयोग कर सकते हैं।

5

आप एक ही फ्लेक्स बिल्डर परियोजना में एआईआर और फ्लेक्स दोनों को मिश्रण नहीं कर सकते हैं, लेकिन आप कोड साझा कर सकते हैं। यहां बताया गया है कि कैसे ...

  1. एक फ्लेक्स आधारित प्रोजेक्ट बनाएं जैसा कि आप सामान्य रूप से करेंगे।
  2. दूसरा एआईआर आधारित प्रोजेक्ट बनाएं।
  3. दूसरे एप्लिकेशन में, प्रोजेक्ट-> गुणों पर जाएं।
  4. "फ्लेक्स बिल्ड पथ" विकल्प का चयन करें।
  5. "स्रोत पथ" के तहत फ़ोल्डर जोड़ें जिसमें आपके से पहले फ्लेक्स आधारित प्रोजेक्ट का स्रोत शामिल है।

अब दोनों परियोजनाएं फ्लेक्स प्रोजेक्ट से कोड साझा करती हैं।

आपको सावधान रहना होगा कि एआईआर केवल एपीआई का उपयोग न करें जो आप दोनों ऐप्स के बीच साझा करना चाहते हैं।

1

एक तरीका है कि पुस्तकालय में समूह-आधारित घटक में एप्लिकेशन का बड़ा हिस्सा डालना है।

फ्लेक्स और एआईआर अनुप्रयोग दोनों ही उस विंडो को अपनी विंडो में एम्बेड कर सकते हैं।

यदि आपके पास कस्टम कोड होना आवश्यक है, तो अपने समूह घटक को एक इंटरफेस ऑब्जेक्ट स्वीकार करें जिसमें प्लेटफॉर्म (लोडफाइल, सेवफाइल इत्यादि) के लिए सभी विधियां हैं। प्रत्येक एप्लिकेशन एक ऑब्जेक्ट इंजेक्ट करता है जो इन विधियों को उचित रूप से लागू करता है।

मैंने एक ऐसे उत्पाद पर काम किया है जिसने एक संपूर्ण स्थानीय डेटा एक्सेस लेयर (SQLite डेटाबेस में) इंजेक्शन दिया है और कोर एप्लिकेशन को पता नहीं था कि यह ब्राउज़र में या डेस्कटॉप (कनेक्ट या डिस्कनेक्ट) पर चल रहा था या नहीं। एयर, वेब, और आम:

चीयर्स

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