2016-12-13 6 views
20

जब मैं रिएक्ट-नेटिव के साथ हाइब्रिड ऐप्स विकसित करता हूं। क्या मैं जावास्क्रिप्ट कोड लिखता हूं, जब मैं अपने रिएक्ट-नेटिव कोड से एंड्रॉइड-ऐप बनाता हूं तो दल्विक/एआरटी रनटाइम के लिए जावा-कोड या जावा-बाइटकोड में बदल जाता है? या मूल यूआई घटकों में संकलित यूआई घटक हैं? या Fetch API जैसी लाइब्रेरी जावा-कोड या जावा-बाइटकोड में जावास्क्रिप्ट कोड संकलित करती है?एंड्रॉइड के लिए जावा में देशी संकलित जावास्क्रिप्ट प्रतिक्रिया करता है?

उत्तर

29

असल में, आप जावास्क्रिप्ट लिखते हैं। जावास्क्रिप्ट देशी घटकों (एंड्रॉइड पर जावा, आईओएस पर उद्देश्य सी, विंडोज़ पर सी #) के साथ संचार करता है।

संचार तथाकथित "पुल" के माध्यम से होता है। यदि किसी भी समय आपको लगता है कि यह संचार चीजों को बहुत धीमा कर देता है, तो आप विशुद्ध रूप से देशी चलाने के क्रम में जावा, ऑब्जेक्टिव सी या सी # में जावास्क्रिप्ट कार्यक्षमता को लागू करना चुन सकते हैं। इस मामले में, आप मूल कोड में सीधे लिख रहे हैं, इसलिए देशी संकलन के लिए कोई जावास्क्रिप्ट नहीं है।

यह प्रदर्शन के लिए संगतता बलिदान करेगा। आम तौर पर, यह आवश्यक नहीं है।

+2

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

10

कोड जावास्क्रिप्ट मूल कोड है और इसे किसी अन्य प्रारूप में परिवर्तित नहीं किया गया है। हाइब्रिड ऐप्स मूल कंटेनर ऐप के अंदर चलते हैं जो जावास्क्रिप्ट रन टाइम इंजन को आमंत्रित करता है जो जावास्क्रिप्ट कोड को निष्पादित करने का ख्याल रखता है। मुझे उम्मीद है कि यह सवाल स्पष्ट करेगा।

+1

ठीक है। क्या आप मुझे बता सकते हैं कि आपके पास यह जानकारी कहां से है? – unlimited101

+1

https://facebook.github.io/react-native/docs/javascript-environment.html –

-5

वेबसाइट से हवाला देते हुए सीधे

मूल निवासी प्रतिक्रिया, आप एक "मोबाइल वेब एप्लिकेशन", एक "एचटीएमएल 5 एप्लिकेशन", या एक "संकर एप्लिकेशन" का निर्माण नहीं है के साथ

। आप एक असली मोबाइल ऐप बनाते हैं जो उद्देश्य-सी या जावा का उपयोग करके बनाए गए ऐप से अलग नहीं है। प्रतिक्रिया मूल नियमित आईओ और एंड्रॉइड ऐप्स के रूप में एक ही मौलिक यूआई बिल्डिंग ब्लॉक का उपयोग करता है। आपने जावास्क्रिप्ट और प्रतिक्रिया का उपयोग करके उन बिल्डिंग ब्लॉक को एक साथ रखा है।

तो आप जावास्क्रिप्ट में कोड करते हैं और जो मूल कोड में परिवर्तित होता है।

+2

हाँ, इसका मतलब है कि यूआई घटकों का मूल कोड में अनुवाद किया जाता है। लेकिन आपके द्वारा उद्धृत पाठ में जेएस – unlimited101

+0

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

+1

कृपया मुझे एक संदर्भ दें। धन्यवाद। – unlimited101

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