एक्सपो और रिएक्टिव नेटिव में क्या अंतर है?


200

से एक्सपो वेबसाइट

एक्सपो वेब डेवलपर्स को सही मायने में देशी ऐप बनाने की सुविधा देता है जो आईओएस और एंड्रॉइड दोनों पर काम करते हैं, केवल एक बार जावास्क्रिप्ट में लिखकर।

यह क्या प्रतिक्रिया मूल निवासी नहीं है? क्या फर्क पड़ता है?

जवाबों:


206

मैं एक्सपो में काम करता हूँ!

जब आप कोड लिखते हैं तो आप कोड Expoलिखते हैं React NativeExpoदो मुख्य टुकड़े हैं:

1) expo-cli: प्रोजेक्ट बनाने, लॉग देखने, अपने डिवाइस को खोलने, प्रकाशन आदि के लिए एक डेवलपर टूल।

2) Expoग्राहक: आपके फोन पर एक ऐप जो आपको अपने प्रोजेक्ट्स को खोलने की सुविधा देता है, जबकि आप उन पर काम कर रहे हैं, बिना किसी के माध्यम से जाने के लिए , XCodeया Android Studioअन्य लोगों को भी उन्हें देखने देता है! और यदि आप इसे प्रकाशित करते हैं expo-cli, तो लोग इसे किसी भी समय Expoएंड्रॉइड या आईओएस पर क्लाइंट के माध्यम से एक्सेस कर सकते हैं यदि उसी खाते पर हस्ताक्षर किए गए हैं जिसके साथ इसे प्रकाशित किया गया था। अंत में, हम स्टैंडअलोन ऐप बनाना भी संभव बनाते हैं ताकि लोगों Expoको इसे खोलने के लिए क्लाइंट का उपयोग न करना पड़े , और यदि आपको पसंद हो तो आप ऐप स्टोर और प्ले स्टोर पर वितरित कर सकते हैं।

तो, Expoउपकरण का एक सेट है जो ऊपर / आस-पास बनाया गया है React Native। ये उपकरण एक प्रमुख विश्वास पर निर्भर करते हैं जिसे हम पकड़ते हैं Expo: मूल कोड लिखने के लिए कभी भी आवश्यकता के बिना अधिकांश एप्लिकेशन बनाने के लिए संभव है, बशर्ते आपके पास एपीआई का एक व्यापक सेट है Javascript

यह महत्वपूर्ण है क्योंकि React Nativeआप हमेशा देशी कोड को छोड़ सकते हैं। यह कभी-कभी अविश्वसनीय रूप से सहायक होता है, लेकिन यह एक लागत पर आता है: आपको लोगों को अपने बायनेरिज़ भेजने की ज़रूरत है यदि आप उन्हें परीक्षण करना चाहते हैं, तो दुनिया के दूसरी तरफ कोई व्यक्ति केवल काम करने के दौरान इसे खोलने के लिए लिंक को टैप नहीं कर सकता है उस पर और आप इसे किसी ऐसे व्यक्ति के लिए एक क्लिक के साथ प्रकाशित नहीं कर सकते, जैसे आप किसी ब्राउज़र में कैसे करेंगे।

इसके साथ Expo, हमारा सुझाव है कि यदि आप कर सकते हैं तो मूल कोड को छोड़ने से बचने का प्रयास करें। जैसा कि मैंने ऊपर उल्लेख किया है, हमें लगता है कि उपलब्ध एपीआई के व्यापक सेट के साथ Javascript, यह अधिकांश ऐप्स के लिए आवश्यक नहीं होना चाहिए। इसलिए, हम एपीआई के इस व्यापक सेट को प्रदान करने का लक्ष्य रखते हैं, और फिर सभी भयानक टूलिंग का निर्माण करते हैं जो एक ऐसी दुनिया में मौजूद हो सकते हैं जहां देशी रनटाइम साझा किया जाता है।

हालाँकि, यदि आपको यह पता होना चाहिए कि आप मूल रूप से नीचे जा रहे हैं, तो आप ExpoKitमूल एपीआई का उपयोग जारी रखने के लिए उपयोग कर सकते हैं जो Expoआपको किसी भी मूल परियोजना में होने वाले नियंत्रण के समान स्तर प्रदान करता है। " ExpoKitएक उद्देश्य-सी और जावा पुस्तकालय है जो आपको एक बड़े मानक देशी परियोजना के हिस्से के रूप में Expoमंच और आपकी मौजूदा Expoपरियोजना का उपयोग करने की अनुमति देता है।" यहाँ और पढ़ें


4
"घातांक के साथ, आप मूल कोड तक नहीं छोड़ सकते हैं"। यह जानकर अच्छा लगा कि आपको देशी कोड छोड़ने की जरूरत नहीं है, लेकिन अगर आपको इसकी आवश्यकता है, तो एक्सपोनेंट इसे करने से क्यों रोकेगा?
ओट्टो

3
आह मैं देख सकता हूँ कि यह कैसे अस्पष्ट था। तो घातांक क्लाइंट पूरी तरह से खुला स्रोत है ( github.com/exponentjs/exponent ) जिसका अर्थ है कि यदि आप चाहें, तो आप मूल कोड लिख सकते हैं, लेकिन फिर आप प्रभावी ढंग से बस पुस्तकालयों का उपचार कर रहे हैं, अन्यथा एक विशिष्ट एससीटी मूल निवासी के मूल मॉड्यूल का एक संग्रह के रूप में एप्लिकेशन। यह पूरी तरह से ठीक है और हमारे लिए प्रोजेक्ट को खोलने के लिए एक प्रेरक था। उस ने कहा, यदि आप हमारे टूलिंग (ऐप बाइनरी बिल्डर, ऐप / प्ले स्टोर पर एक्सपोनेंट क्लाइंट को टेस्ट बिल्ड, अंतर्निहित पुश नोटिफिकेशन आदि साझा करने के लिए) का उपयोग करने में सक्षम होना चाहते हैं, तो आप मूल कोड नहीं लिख सकते।
ब्रेंटवेटन

लेखन के समय, एक्सपो उपयोगी देशी प्लगइन्स को एकीकृत करने के साथ बहुत अच्छा हो गया है। हालाँकि, उनके पास IAP के लिए MAJOR प्लगइन एकीकरण की कमी है और इसके बिना, आप ऐप से पैसे नहीं कमा सकते हैं !!! और आप पूछते हैं, अगर मैं लाभ नहीं कमा सकता तो एक ऐप बनाने की क्या बात है !!
एडम

96

मैंने एक्सपो कर्मचारियों से प्रलेखन और उत्तरों का सारांश करने की कोशिश की:

प्रतिक्रिया मूलक init:

लाभ :

  • आप जावा / ऑब्जेक्टिव-सी में लिखे गए मूल मॉड्यूल को जोड़ सकते हैं (शायद एकमात्र लेकिन सबसे मजबूत एक)

नुकसान :

  • प्रोजेक्ट्स को चलाने के लिए Android Studio और XCode की आवश्यकता है
  • आप मैक के बिना iOS के लिए विकसित नहीं कर सकते
  • परीक्षण के लिए उपयोग करने के लिए डिवाइस को USB के माध्यम से जोड़ा जाना है
  • फ़ॉन्ट्स को XCode में मैन्युअल रूप से आयात करने की आवश्यकता है
  • यदि आप उस ऐप को साझा करना चाहते हैं जिसे आपको संपूर्ण .apk / .ipa फ़ाइल भेजने की आवश्यकता है
  • जेएस एपीआई को बॉक्स से बाहर नहीं प्रदान करता है, जैसे पुश-नोटिफिकेशन, एसेट मैनेजर, उन्हें मैन्युअल रूप से स्थापित करने और उदाहरण के लिए एनपीएम के साथ लिंक करने की आवश्यकता है
  • ठीक से काम कर रहे प्रोजेक्ट को स्थापित करना (डिवाइस कॉन्फ़िगरेशन को कम करना) बल्कि जटिल है और इसमें समय लग सकता है

एक्सपो

लाभ :

  • एक परियोजना स्थापित करना आसान है और इसे मिनटों में किया जा सकता है
  • आप (और अन्य लोग) इस परियोजना को खोल सकते हैं, जबकि आप इस पर काम कर रहे हैं
  • एप्लिकेशन को साझा करना आसान है (क्यूआर-कोड या लिंक के माध्यम से), आपको पूरे .apk या .ipa भेजने की आवश्यकता नहीं है।
  • एप्लिकेशन को चलाने के लिए आवश्यक कोई निर्माण नहीं
  • एक मानक परियोजना में कुछ बुनियादी पुस्तकालयों को एकीकृत करता है (पुश सूचनाएं, एसेट मैनेजर, ...)
  • आप इसे एक्सपोइट को अस्वीकार कर सकते हैं और एक्सपो की कुछ विशेषताओं का उपयोग करके देशी कोड को एकीकृत कर सकते हैं, लेकिन उन सभी को नहीं
  • एक्सपो .apk और .ipa फाइलों का निर्माण कर सकता है (एक्सपो के साथ दुकानों में वितरण संभव है)

नुकसान :

  • आप मूल मॉड्यूल नहीं जोड़ सकते हैं (शायद कुछ के लिए एक गेमचेंजर)
  • आप उद्देश्य-सी / जावा में मूल कोड का उपयोग करने वाले पुस्तकालयों का उपयोग नहीं कर सकते
  • हैलो वर्ल्ड ऐप का मानक 25MB बड़ा है (एकीकृत पुस्तकालयों के कारण)
  • यदि आप उपयोग करना चाहते हैं: FaceDetector, ARKit, या भुगतान आपको ExpoKit को इसे अस्वीकार करने की आवश्यकता है
  • एक्सपोजिट के लिए इसे खारिज करने से एक्सपो की सुविधाओं का व्यापार बंद हो जाता है, जैसे आप क्यूआर कोड के माध्यम से साझा नहीं कर सकते
  • एक्सपोजिट को खारिज करते समय आप प्रतिक्रिया मूल संस्करण तक सीमित होते हैं जो उस समय एक्सपो किट द्वारा समर्थित है
  • एक्सपोजिट (देशी मॉड्यूल के साथ) में डिबगिंग बहुत अधिक जटिल है, क्योंकि यह दो भाषाओं और विभिन्न पुस्तकालयों (अब कोई आधिकारिक एक्सपो समर्थन नहीं) को मिलाता है

मुझे उम्मीद है कि मैं सबसे महत्वपूर्ण बिंदुओं को जोड़ सकता हूं। कृपया अतिरिक्त अंक जोड़ने के लिए स्वतंत्र महसूस करें।

स्रोत: https://code.tutsplus.com/tutorials/detaching-expo-apps-to-expokit-congets--cms-30661 https://github.com/react-community/create-react-appative-app/ मुद्दों / 516 # जारी करने -373629114 https://docs.expo.io/versions/latest/guides/detach.html (सामान्य रूप में आधिकारिक दस्तावेज)


1
एक्सपो का उपयोग करने का एक और बड़ा नुकसान ऐप का आकार है। न्यूनतम आकार आईओएस ऐप के लिए ~ 25 एमबी और एंड्रॉइड ऐप के लिए ~ 20 एमबी
प्रतीक सिंघल

3
यह पहले से ही एक एक्सपो प्रोजेक्ट के नुकसान के रूप में उल्लेख किया गया है: "मानक हैलो वर्ल्ड ऐप लगभग 25
एमबी

1
फायदे और नुकसान की एक स्पष्ट तस्वीर के लिए @BenjaminHeinke धन्यवाद। मैं पहले से ही नुकसान का सामना कर रहा हूं # 2 देशी एप्लिकेशन को एक्सपो अपनाने के हमारे फैसले के साथ। हम इस वजह से Appsee के साथ एकीकृत नहीं कर सकते। क्या इसके लिए कोई वर्कअराउंड नहीं है?
कूलडोकमैन

1
डिवाइस को परीक्षणों के लिए USB से कनेक्ट करने की आवश्यकता नहीं है, केवल पहला संकलन और इंस्टॉल यूएसबी पर किया जाना है। बाद में आप वाई-फाई का उपयोग कर सकते हैं! अगर आपको देशी में बदलाव करना है तो एक पुनर्संयोजन की आवश्यकता होगी
rszalski

28

ब्रेंट वेटेन का उत्तर ठीक है, लेकिन मैं कुछ विवरण जोड़ना चाहूंगा।


एक्सपो रिएक्टिव नेटिव की एपीआई सतह का विस्तार करता है

प्रतिक्रिया मूल निवासी आपको सभी जेएस एपीआई आपको बॉक्स से बाहर की जरूरत नहीं देता है, लेकिन केवल सबसे आदिम विशेषताएं हैं। रिएक्ट नेटिव डेवलपर्स को अतिरिक्त देशी पुस्तकालयों को जोड़ने के लिए एंड्रॉइड स्टूडियो / एक्सकोड का उपयोग करने की उम्मीद है। एक्सपो का उद्देश्य आरएन को बढ़ाना और सभी सामान्य आवश्यकताओं के लिए आपको सभी जेएस एपीआई प्रदान करना है। यह मूल रूप से अच्छी तरह से परिभाषित गुणवत्ता वाले देशी परिवादों का एक समूह है जो पहले से ही आपके लिए एक ही लिबास में पैक किया गया है: एक्सपोजिट। कभी-कभी ये पुस्तकालय वास्तव में पहले से ही आरएन दुनिया में मौजूद हैं, और एक्सपोइट में एकीकृत हैं।

यह भी ध्यान रखना महत्वपूर्ण है कि एक्सपो टीम एक्सपोकिट (जो कुछ हताशा पैदा कर सकती है) में हर काम को शामिल नहीं कर सकती है क्योंकि हैलो वर्ल्ड ऐप का आकार बढ़ेगा, क्योंकि यह बहुत सारे एपीआई को शिप करेगा जिसका उपयोग नहीं किया जाएगा अधिकांश ऐप्स में।

एक्सपो ओवर-द-एयर जेएस अपडेट प्रदान करता है

अन्य प्रणालियों (CodePush ...) की तरह, एक्सपो आपके ऐप को हवा में अपडेट करने के लिए एक सिस्टम प्रदान करता है। इसका मतलब है कि आप अपने जेएस बंडल को सीडीएन पर अपलोड करते हैं और मोबाइल एप्लिकेशन स्वचालित रूप से नए जेएस को अगले स्टार्टअप पर (स्टोरों से प्रकाशन / समीक्षा का अनुरोध किए बिना) डाउनलोड और उपयोग करेंगे।

एक्सपो अपने CDN पर JS बंडलों को अपलोड / प्रबंधित करने के लिए एक CLI टूल प्रदान करता है। विकास के लिए आप सीडीएन बनने का विकल्प चुन सकते हैं और जेएस बंडल को लोकलहोस्ट पर होस्ट कर सकते हैं। और XDE CLI पर सिर्फ एक दृश्य आवरण है।

एक्सपो एक सामान्य ग्राहक प्रदान करता है

एक्सपो क्लाइंट एक सामान्य क्लाइंट है जो एक्सपो के साथ संगत किसी भी ऐप को लोड करने की अनुमति देता है। सभी एक्सपो ऐप ठीक उसी मूल रनटाइम (आरएन + एक्सपोइट) को साझा करते हैं, एकमात्र अंतर जेएस है जो हम उन्हें देते हैं। एक्सपो ऐप जो आप ऐप स्टोर पर प्रकाशित करते हैं, उसमें आपका JS बंडल url हार्डकोड होता है। एक्सपो क्लाइंट एक विशिष्ट तरीके से बनाया जाता है ताकि आप यह चुन सकें कि किस यूआरएल से जेएस लोड करना है, क्यूआरकोड स्कैन करके या एक यूआरएल प्रदान करें।

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

वास्तव में चूंकि एक्सपो एसडीके को अपग्रेड किया जा सकता है, एक्सपो क्लाइंट में एक संगतता परत शामिल है ताकि यह पिछले 5 एसडीके संस्करणों को चलाने में सक्षम हो।

एक्सपो एक निर्माण सेवा प्रदान करता है

जैसा कि सभी एक्सपो ऐप एक ही मूल कोड साझा करते हैं, एक्सपो आपके लिए इन ऐप को आसानी से बनाने में सक्षम है। उन्होंने क्लाउड बिल्ड सर्विस बनाई है।

एक्सपो द्वारा निर्मित 2 ऐप्स में अंतर करने वाली प्रमुख बात सिर्फ हार्डकोडेड यूआरएल है, जिसे चलाने के लिए ऐप को जेएस बंडल डाउनलोड करना चाहिए।

एक्सपो आपके लिए कुछ अन्य काम करता है, जैसे कि ऐप आइकन, ओरिएंटेशन, परमिशन, एपि कीज़ को सेटअप करने के लिए एक डिक्लेक्टिव रास्ता प्रदान करना, आपको सेटअप पुश नोटिफिकेशन की मदद करना, प्रोफाइल प्रोविजन करना ... ऐप में बिल्ड टाइम पर कई सेटिंग्स को हार्डकोड किया जा सकता है और कर सकते हैं 'हवा के ऊपर नहीं बदला जा सकता।

एक्सपो नेटिव को रिएक्ट करने के लिए है कि कॉर्डोवा को फोनगैप क्या है

रिएक्ट नेटिव कोर्डोवा जैसा ही है। यह एक ही दृश्य तकनीक (देशी बनाम वेबव्यू) नहीं है, लेकिन दोनों आपको जावास्क्रिप्ट से देशी सुविधाओं को नियंत्रित करने की अनुमति देते हैं, और दोनों एक प्लगइन प्रणाली प्रदान करते हैं ताकि डेवलपर्स आसानी से नए जेएस / देशी बाइंडिंग जोड़ सकें।

PhoneGap एक्सपो के समान है। वे दोनों उन अंतर्निहित प्लेटफ़ॉर्म के कच्चे एपीआई को समृद्ध करने की कोशिश करते हैं जो वे अतिरिक्त देशी प्लगइन्स के पूर्वनिर्धारित सेट के साथ बनाए जाते हैं। PhoneGap एक बिल्ड सेवा भी प्रदान करता है और इसमें एक सामान्य ग्राहक होता है जो तब तक काम करता है जब तक आप स्वीकृत प्लगइन्स का उपयोग करते हैं।

निष्कर्ष

जैसा कि आप देख सकते हैं, एक्सपो उपकरण का एक सेट है। अंत में यह आसानी से अपने मोबाइल प्रोजेक्ट्स को स्टोर करने, साझा करने और प्रकाशित करने की अनुमति देता है। यह फोनगैप अनुभव के समान है (लेकिन बहुत बेहतर और कम भ्रमित करने वाला)।

मैं निश्चित रूप से इन 2 मामलों को छोड़कर किसी भी नई प्रतिक्रिया मूल ग्रीनफील्ड परियोजना के लिए एक्सपो की सिफारिश करूंगा:

  • आप पहले से ही जानते हैं कि आपको एपीआई की आवश्यकता है जो एक्सपो में उपलब्ध नहीं है और जल्द ही कभी भी नहीं होगी
  • आप अपने ऐप के आकार के बारे में बहुत परवाह करते हैं (HelloWorld> ExpoKit के बड़े आकार के कारण 25mb है, लेकिन इसके बाद यह इतना नहीं बढ़ता जितना कि यह JS है)

1
मैं एपीआई की एक्सपो की सूची का समर्थन करने की कोशिश नहीं कर रहा हूं। किसी को पता है कि यह कहां मिल सकता है?
रोनॉयर

@ronnyrr एक्सपो सब कुछ का समर्थन नहीं करता है जो जेएस नहीं है और जो कच्चे आरएन और एक्सपोइट में शामिल नहीं है। एक्सपो का समर्थन नहीं करने वाली चीजों की एक अनंत सूची है, क्योंकि यह सब कुछ है जो उन सुविधाओं की परिमित सूची में नहीं है जो एक्सपो समर्थन नहीं करता है। आप जो मांगते हैं, वह मौजूद नहीं हो सकता।
सेबेस्टियन लॉर्बर

2
@ronnyrr मुझे लगता है कि यह वही है जो आप ढूंढ रहे हैं: expo.canny.io यह उन फ़ीचर अनुरोधों की सूची है, जिन्हें आप लोकप्रियता के आधार पर क्रमित कर सकते हैं
इवान बेकन

26

यह आधिकारिक एक्सपो प्रलेखन में समझाया गया है

एक्सपो और रिएक्टिव नेटिव में क्या अंतर है?

एक्सपो एक तरह का है जैसे रिएक्ट नेटिव के लिए रेल्स। आपके लिए बहुत सी चीजें स्थापित की जाती हैं, इसलिए यह जल्दी शुरू हो और सही रास्ते पर हो।

एक्सपो के साथ, आपको Xcode या Android Studio की आवश्यकता नहीं है। आप जो भी टेक्स्ट एडिटर (Atom, vim, emacs, Sublime, VS Code, जो भी आपको पसंद हो) के साथ जावास्क्रिप्ट का उपयोग करके लिखते हैं। आप XDE (हमारे डेस्कटॉप सॉफ़्टवेयर) को मैक, विंडोज और लिनक्स पर चला सकते हैं।

यहां कुछ चीजें दी गई हैं, जिन्हें एक्सपो आपको सही काम करने के लिए देता है:

IOS और Android के लिए समर्थन

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

सूचनाएं भेजना

पुश सूचनाएँ आईओएस और एंड्रॉइड दोनों के बॉक्स में से एकल, एकीकृत एपीआई का उपयोग करके सही काम करती हैं। आपको APNS और GCM / FCM सेट करने या ZeroPush या कुछ भी कॉन्फ़िगर करने की आवश्यकता नहीं है। हमें लगता है कि हमने इसे इतना आसान बना दिया है जितना कि अभी हो सकता है।

फेसबुक लोगिन

यह अपने आप ठीक से स्थापित होने में लंबा समय ले सकता है, लेकिन आपको इसे एक्सपो में 10 मिनट या उससे कम समय में काम करने में सक्षम होना चाहिए।

त्वरित अद्यतन

XDE में प्रकाशित करें पर क्लिक करके सभी एक्सपो ऐप को सेकंड में अपडेट किया जा सकता है। आपको कुछ भी सेट करने की ज़रूरत नहीं है; यह सिर्फ इस तरह से काम करता है। यदि आप एक्सपो का उपयोग नहीं कर रहे हैं, तो आप इस समस्या के लिए या तो Microsoft कोड पुश का उपयोग करेंगे या अपना स्वयं का समाधान रोल करेंगे

परिसंपत्ति प्रबंधन

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

एक्सपो के बिना, सामान्य बात यह है कि अपनी संपत्ति को अपने ऐप में बंडल करें, जिसका अर्थ है कि आप उन्हें बदल नहीं सकते हैं। या आपको अपनी संपत्ति को CDN या खुद के समान रखने का प्रबंधन करना होगा।

नए रिएक्टिव मूल निवासी विज्ञप्ति के लिए आसान अद्यतन

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

लेकिन कोई देशी मॉड्यूल ...

एक्सपो के बारे में सबसे सीमित बात यह है कि आप अपने खुद के मूल मॉड्यूल को एक्सपोकिट को अलग करने और उपयोग किए बिना नहीं जोड़ सकते हैं।


2
मैं विंडोज़ 8 में एक्सपो का उपयोग कर रहा हूं। QR कोड कैसे जनरेट करें ताकि सीधे अपने डिवाइस पर अपना ऐप चलाऊं।
प्रसन्ना

1
मैंने इसे विंडोज पर आजमाया नहीं है, लेकिन मुझे लगता है कि यह किसी भी सिस्टम पर समान होना चाहिए। QR कोड स्वचालित रूप से या तो Expo XDEकंसोल या exp startकंसोल कमांड आउटपुट में उत्पन्न होता है ।
गमकिंस

1
$ prasanna कभी-कभी आप क्यूआर कोड नहीं देखते हैं क्योंकि आपके पास एक ही नेटवर्क पर आपका फोन और आपकी विकास मशीन नहीं है। उदाहरण के लिए, यदि आप घर पर काम कर रहे हैं, तो सुनिश्चित करें कि आपका फोन आपके घरेलू नेटवर्क पर है। और आदि ...
ccalvert

expo startआपको अपने लोकलहोस्ट पर एक आईपी एड्रेस भी दिखाएगा जिसमें आप क्यूआर कोड से एक्सेस कर सकते हैं
जॉर्डन सिम्बा

7

एक्सपो सीएलआई

पेशेवरों: -

 1. No need to install Android studio and Xcode for start building mobile app.
 2. No requirement of high configuration machine for development.
 3. Mobile ui easily check on both devices android and iphone using barcode scanning.and some time you can check on online iphone and android simulators.
 4. fast development.

विपक्ष: -

 1. Native dependency can not add on expo because expo project don't have ios and android folder so here expo is bounded.
 2. Making apk and ipa are to difficult  using expo.
 3. Size of the apk/ipa is huge

प्रतिक्रियाशील मूलनिवासी

पेशेवरों: -

 1. Easily add native dependency for android and ios because this project structure have ios and android folder.
 2. Apk and ipa build making is easy rather than expo.

Note":- React Native cli is right approach to started work on react native framework.

विपक्ष: -

1. High configuration machine is require.
2. Adding dependency some time more difficult but good.
3. Required basic knowledge of android folder structure and ios folder structure but from this learn more things.

आप अपनी आवश्यकताओं के अनुसार किसी भी दृष्टिकोण को पसंद कर सकते हैं।


2

मैं यहां एक नोट करूंगा कि एक्सपो 16.5 के पुराने संस्करण का उपयोग कर रहा है जो आपको नए हुक फीचर का उपयोग करने से रोक देगा। यदि आप अपने संस्करण नियंत्रणों को देखने के लिए एक्सपो के साथ जाने का निर्णय लेते हैं। यदि आपको अजीब त्रुटियां हो रही हैं, तो प्रतिक्रिया-नेविगेशन के पुराने संस्करणों को 16.5 संस्करण के साथ उपयोग करने की आवश्यकता होगी।


expo updateएक्सपो द्वारा प्रबंधित अधिकांश पैकेजों के लिए संगत संस्करण प्राप्त करने का एक बहुत अच्छा काम करता है। फिलहाल, मुझे नहीं लगता कि यह रिएक्ट नेविगेशन को अपडेट करता है, लेकिन यह लाइब्रेरी वास्तव में एक्सपो द्वारा प्रायोजित है। व्यक्तिगत रूप से, मैं शायद ही कभी रिएक्ट नेविगेशन और एक्सपो के बीच संगतता मुद्दों में भागता हूं (मुझे लगता है कि मुझे बीटा संस्करणों का उपयोग करते समय कुछ मुद्दों का सामना करना पड़ा)। हालाँकि, आप एक्सपो द्वारा प्रबंधित पैकेज के साथ अधिक संगतता समस्याएँ देख सकते हैं।
क्रिश्चियन जूथ

2

एक्सपो और प्रतिक्रिया-देशी-क्ली के फायदे और नुकसान के बारे में जवाब पूर्ण हैं। मैं अपने व्यक्तिगत अनुभव के रूप में एक और बिंदु का उल्लेख करना चाहता हूं। एक्सपो में परियोजना में डिफ़ॉल्ट रूप से कई मॉड्यूल शामिल हैं और इसके साथ काम करना आसान बनाता है। लेकिन यह उत्पादन चरण पर एक बड़ी समस्या है क्योंकि निर्मित androidऔर iosसंस्करणों का इतना बड़ा आकार है। उदाहरण के लिए यदि आपके पास फ़ाइल आकार के साथ एक एकल पृष्ठ है 'Hello World', apkतो इसके बारे में होगा 19 MB। अभिक्रिया-मूल- cli में एक ही परियोजना होने के परिणामस्वरूप आकार में एक ऐप होगा 6 MB

यदि आप एक वाणिज्यिक ऐप विकसित करना चाहते हैं तो व्यक्तिगत रूप से मैं एक्सपो का उपयोग करने की अनुशंसा नहीं करता हूं।


मुझे नहीं लगता कि एक्सपो ऐप्स के लिए यह एक अच्छा पर्याप्त कारण है कि वे तैयार न हों। इसके अलावा पिछले उत्तरों द्वारा अच्छी तरह से समझाया गया है
दाऊदजी

1

मैंने एक वर्ष से अधिक का अनुभव किया है जो एक्सपो के साथ काम करता है यदि ऐप का आकार आपके लिए एक्सपो का उपयोग करने के लिए महत्वपूर्ण नहीं है क्योंकि मैप को लागू करना आसान है, तो प्रतिक्रिया-मूल की तुलना में आसान पुश करें लेकिन यदि आप प्रकाशित करना चाहते हैं तो परियोजना के अंत में Google Play में ऐप या किसी अन्य स्टोर में आपके पास अपने एपीके रिएक्ट-देशी में कुछ अनुमति को हटाने के लिए एक चुनौती है जिसे आप सब कुछ बदल सकते हैं लेकिन कुछ लाइब्रेरी जैसे पुश नोटिफिकेशन या मैप को आयात करने के लिए कुछ चुनौतियों की भी आवश्यकता होती है क्योंकि आपको इन पुस्तकालयों को मैन्युअल रूप से जोड़ना होगा Android और iOS प्रोजेक्ट्स


-1

एक्सपो एक टूलकिन है जो रिएक्ट नेटिव के आसपास बनाया गया है ताकि आप जल्दी से एक ऐप शुरू कर सकें। यह टूल्स का एक सेट प्रदान करता है जो रिएक्ट नेटिव ऐप और इंटरफ़ेस और सेवाओं के विकास और परीक्षण को सरल बनाता है जो आमतौर पर तीसरे पक्ष के मूल रिएक्ट नेटिव घटकों में उपलब्ध होते हैं। एक्सपो के साथ आप इन सभी को एक्सपो एसडीके में पा सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.