react native - प्रतिक्रियाशील वीएस मूलस्क्रिप्ट: क्या फायदे हैं?




react-native nativescript (6)

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


आंतरिक उपयोग के लिए एक क्रॉस प्लेटफ़ॉर्म मोबाइल एप्लिकेशन बनाने के साथ कार्य किया गया था, मुझे एक महीने के दौरान दोनों का मूल्यांकन करने का अवसर मिला।

निचली पंक्ति: इस बिंदु पर मूलभूत स्क्रिप्ट अधिक परिपक्व है (भविष्य में बदल सकता है)। हमने अपनी परियोजना के लिए मूल स्क्रिप्ट चुना है।

क्यूं कर? यहां हमारे मूल्यांकन ऐप से कुछ उदाहरण दिए गए हैं:

  • जब तक कि आप पहले से ही एक रिएक्ट शॉप नहीं हैं (जो हम नहीं हैं) मूल स्क्रिप्ट सिंटैक्स और कार्यान्वयन एक डेवलपर के लिए समझना बहुत आसान है जो एचटीएमएल / सीएसएस / जावास्क्रिप्ट के साथ वेब विकास कर रहा है। लेआउट काम करने के लिए एक्सएमएल का उपयोग एचटीएमएल के समान ही है।
  • मौजूदा मानकों और टूलिंग का लाभ उठाने की क्षमता। उदाहरण के लिए सब्लिमे, विजुअल स्टूडियो, आदि में उपलब्ध सिंटैक्स हाइलाइटिंग पहले ही एक्सएमएल / जावास्क्रिप्ट का समर्थन करता है। मेरे मूल्यांकन के समय (दिसंबर 2015) मुझे रीएक्टनेटिव कोड के साथ सिंटैक्स हाइलाइटिंग करने के लिए कोई भी ऐड इन्स नहीं मिला। इसके बजाय मुझे वैध प्रतिक्रियात्मक कोड पर सभी "वाक्यविन्यास त्रुटियों" के टेक्स्ट एडिटर के लाल रेखांकन के साथ संघर्ष करना पड़ा।
  • ReactNative एक "टच करने योग्य हाइट" क्षेत्र का खुलासा करता है और आपको अंदर एक बटन खींचना होगा। हालांकि पुन: उपयोग के लिए "बटन" मॉड्यूल बनाना आसान है, लेकिन अंतर्निहित एंड्रॉइड / आईओएस बटन (मूलभूत स्क्रिप्ट के रूप में) के माध्यम से सीधे कॉल करने के रूप में यह सुरुचिपूर्ण नहीं है। मेरे लिए रेक्टनेटिव या नेटिवस्क्रिप्ट का उपयोग करने का पूरा बिंदु देशी वस्तुओं को कॉल करना है।
  • पासवर्ड फ़ील्ड जोड़ते समय रेक्टनेटिव पक्ष ने एंड्रॉइड पक्ष पर गोलियों को अक्षर नहीं बदला, भले ही मैंने "safeTextEntry" को सत्य पर सेट किया हो। यह एंड्रॉइड / आईओएस दोनों के लिए मूल स्क्रिप्ट पर पहली बार काम किया।

मैं अभी भी चिंतित हूं कि यह लंबे समय तक कैसे निकल जाएगा। चूंकि फेसबुक बड़ा है, मुझे लगता है कि टेलरिक मूल स्क्रिप्ट के साथ कर सकते हैं, उससे अधिक संसाधनों को प्रतिक्रियात्मक विकास के लिए समर्पित किया जा रहा है। फिर भी, चूंकि हमें अभी कुछ करना है, इसलिए हमने अपनी परियोजना के लिए मूल स्क्रिप्ट चुना है। मैंने अब नेटस्क्रिप्ट के साथ दूसरे महीने बिताया है और यह भी दृढ़ता से महसूस करता है कि यह हमारी परियोजना के लिए सही विकल्प था।


आम तौर पर मैं निश्चित रूप से मूल स्क्रिप्ट की अनुशंसा करता हूं और इसके लिए मुख्य बिंदु में से एक यह है कि वास्तव में प्रगति कंपनी एक बड़ी कंपनी है और मुख्य व्यवसाय डेवलपर्स के लिए सॉफ्टवेयर बना रहा है। तो अंत में इसका मतलब है बेहतर उपकरण, बेहतर गुणवत्ता और समर्थन। अधिक जानकारी जो आप यहां पा सकते हैं http://www.fankod.com/nativescriptvsreactnative.html और यहां https://stackshare.io/stackups/nativescript-vs-react-native


नेटिवस्क्रिप्ट में देशी प्रतिक्रिया पर 3 फायदे हैं:

  1. नेटिवस्क्रिप्ट प्रतिक्रिया देशी की तुलना में अधिक कोड साझा कर सकते हैं। इसका मतलब है कि यह आपके समय बचाओ।
  2. मूल निवासी वास्तविक क्रॉस-प्लेटफॉर्म है जो 100% मूल एपीआई एक्सेसिंग और लिब्स एक्सेसिंग सक्षम करता है।
  3. चूंकि यह कोणीय 2 का उपयोग करता है, इसका मतलब है कि इसमें कोणीय 2 के सभी फायदे हैं।

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

  • अधिक जटिल कार्यक्षमताओं को संभाल सकते हैं
  • ES6 / टीएस के साथ लिख सकते हैं
  • प्लेटफार्म विशिष्ट विकास के लिए एक अतिरिक्त हाथ
  • प्रदर्शन
  • ग्रेटर कम्युनिटी
  • नेटस्क्रिप्ट की तुलना में कम ऐप आकार

मूल स्क्रिप्ट

  • तेज़ विकास
  • सामग्री सूचीबद्ध करें
  • कोणीय 2 आधारित
  • मूल मंच एपीआई के लिए सीधी पहुंच

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


यहां कुछ प्रमुख सिर तुलना हैं (दिसम्बर 2017 के रूप में अच्छी तरह से खड़े हैं और 2018 की शुरुआत हो सकती हैं। भविष्य में मई में बदलाव हो सकता है)

1) समर्थित प्लेटफॉर्म

React Native - आईओएस और एंड्रॉइड (फेसबुक द्वारा - प्रतिक्रिया टीम)। here माइक्रोसॉफ्ट द्वारा विंडोज 10 और यूडब्लूपी समर्थन

NativeScript - आईओएस और एंड्रॉइड - नेटस्क्रिप्ट टीम द्वारा। मार्च 2016 में here जारी विंडोज़ समर्थन पूर्वावलोकन। और नवंबर-2017 तक, यह समुदाय की मांग जैसी चीजों पर विचार करने वाली टीमों की प्राथमिकता नहीं है और माइक्रोसॉफ्ट ने विंडोज फोन की घोषणा की है।

Verdict : यदि आप इस तथ्य पर विचार करते हैं कि माइक्रोसॉफ्ट अब विंडोज फोन नहीं बना रहा है (ऊपर लिंक), लक्ष्य के लिए केवल दो प्रमुख ओएस आईओएस और एंड्रॉइड होंगे, जो रिएक्ट देशी और नेटिवस्क्रिप्ट द्वारा समर्थित हैं। अन्य विचारों के साथ आगे बढ़ें। यदि विंडोज़ समर्थन एक जरूरी है और Electron जैसे अतिरिक्त ढांचे को लेने के लिए ठीक नहीं है, तो प्रतिक्रिया मूल आपके दोस्त है।

2) फ्रेमवर्क

React Native - हां। प्रतिक्रिया जेएस का उपयोग करता है! मूल स्क्रिप्ट - एकाधिक विकल्प। आप योजना जेएस, टाइपस्क्रिप्ट से कोणीय 2+ से कुछ भी चुन सकते हैं।

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

3) ऐप आकार

React Native - एक साधारण "हैलो वर्ल्ड" ऐप का आकार 10 एमबी से कम होगा।

NativeScript - हैलो वर्ल्ड ऐप स्वयं 40 एमबी से अधिक जा सकता है।

जबकि मूल ऐप में दोनों में से अधिकांश ढांचे से संबंधित फाइलें शामिल हैं और इसलिए "हैलो वर्ल्ड ऐप" के लिए आकार को भी बढ़ाया जा रहा है, ऐप में अधिक पेज जोड़े जाने पर आकार में भारी वृद्धि नहीं होती है। जब आप कुछ और पुस्तकालय जोड़ते हैं तो आप एमबी की वृद्धि में वृद्धि की उम्मीद कर सकते हैं।

Verdict - यदि आपका ऐप उन उपयोगकर्ताओं को लक्षित कर रहा है, जहां इंटरनेट की गति सीमित / महंगी होगी, तो प्रतिक्रिया मूल निवासी आपका मित्र है। यदि नहीं, तो निर्णय लेने के लिए अन्य मानदंडों पर विचार करें।

4) कोड साझाकरण

React Native - हालांकि यह 3 प्रमुख मोबाइल प्लेटफ़ॉर्म का समर्थन करता है, आपको कुछ प्लेटफ़ॉर्म विशिष्ट कोड लिखना पड़ सकता है (जिन्हें आप कस्टम कार्यान्वयन के लिए चुनते हैं)। हालांकि यह ज्यादातर के लिए एक सौदा ब्रेकर नहीं हो सकता है।

NativeScript - आईओएस और एंड्रॉइड के बीच इस तरह के कस्टम कोड की आवश्यकता उतनी ही प्रतिक्रियात्मक नहीं है। जब वेब ऐप और यहां तक ​​कि डेस्कटॉप ऐप के साथ कोड साझा करने की बात आती है तो नेटस्क्रिप्ट भी जीतता है। आप प्रत्येक (मोबाइल, वेब और डेस्कटॉप) के लिए अलग यूआई परत लिखने को समाप्त कर देंगे। लेकिन this. तरह की बीज परियोजनाओं का उपयोग करके कोड की अन्य परतों को निर्बाध रूप से साझा किया जा सकता है this.

Verdict: यदि आप प्लेटफार्मों (मूल मोबाइल, वेब और डेस्कटॉप) के बीच अधिक कोड साझा करने की उम्मीद कर रहे हैं तो इस क्षेत्र में मूलभूतता जीत जाती है।

5) लाइसेंस

React Native - लाइसेंसिंग पर उपयोगकर्ताओं / संगठनों के बीच हमेशा चिंताएं रही हैं। फेसबुक ने हाल ही में MIT में पुनः लाइसेंस प्राप्त किया, लेकिन बीएसडी + पेटेंट में प्रतिक्रिया मूल छोड़ दिया (सुधार के लिए धन्यवाद @ एटन बेसनोव)। वेब के आसपास this तरह की चिंताएं हैं। वास्तविक देशी लाइसेंसिंग मुद्दों के लिए बस Google। यदि आप प्रतिक्रियात्मक मूल पर विचार कर रहे हैं तो यह एम्बर लाइट है। मैं लाल नहीं कह रहा हूँ। यह संगठन और कानूनी टीम के प्रकार के आधार पर हो सकता है। मैंने दो बड़ी कंपनियों को देखा है जो सिर्फ इसके लिए मूल निवासी नहीं चुनते हैं। ऑफ-कोर्स, बड़ी कंपनियों ने इसका उपयोग भी किया है और कई लोग चुन सकते हैं।

अद्यतन:: फरवरी -16-2018 तक, प्रतिक्रिया मूल को एमआईटी को फिर से लाइसेंस प्राप्त किया जाता है, जैसा कि आप अपने जीथब पेज में देख सकते हैं। यह अभी भी एनपीएम रेपो जैसे कुछ अन्य स्थानों में प्रतिबिंबित नहीं है। मान लीजिए कि वे अद्यतन करने की प्रक्रिया में हैं। यह संगठनों के लिए एक अच्छी खबर है जो लाइसेंस मुद्दों के बारे में चिंतित हैं।

NativeScript - अपाचे 2.0 - अधिकांश के लिए एक ग्रीन लाइट।

सभी फैसले पर: शायद यह नहीं कि आपको यहां क्या देखने की उम्मीद है। यह उपर्युक्त मानदंडों के आधार पर आपकी पसंद पर निर्भर करता है। दोनों विचार करने के लिए पर्याप्त वादा कर रहे हैं।





nativescript