दिलचस्प पोस्ट
स्काला पर मैं कैसे टाइप एरीर पर हूं? या, मैं अपने संग्रह के प्रकार पैरामीटर क्यों नहीं प्राप्त कर सकता हूं? सी # में एक फ़ाइल का नाम बदलें आईडीईए: जवाक: स्रोत रिलीज 1.7 को लक्ष्य रिलीज 1.7 की आवश्यकता है सी मैक्रो और कोष्ठक में तर्कों का उपयोग त्रुटि "। 'लोड करने के लिए लोड नामस्थान () में विफल' tcltk ' अपने नाम के आधार पर तरीके को गतिशील कैसे कॉल करें? एक डाटाबेस में ब्लॉप्स के रूप में दस्तावेज़ संग्रह करना – कोई नुकसान? उपयोगकर्ता भाषा चुनने पर एप की भाषा को कैसे बदल सकता है? ऑपरेटिंग सिस्टम के विकास में शुरू करने के लिए कुछ संसाधन क्या हैं? आप एक ब्राउज़र के संस्करण का कैसे पता लगा सकते हैं? CSS में तत्वों को संरेखित करें एंड्रॉइड में इमोटिकॉन प्रदर्शित करना मैं Moment.js के साथ दिनांक से कैसे समय निकाल सकता हूं? Django में `संबंधित_नाम` क्या है? डिफ़ॉल्ट ब्राउज़र में सीधे चमकदार ऐप खोलना

Android पर नोडजेएस चलाने के लिए व्यवहार्य विकल्प (अगस्त 2017)

एंड्रॉइड पर चलने वाले नोडजेएस के साथ काम करने वाले पुराने एसए धागे का एक गुच्छा है। इनमें से अधिकांश अब व्यवहार्य नहीं हैं (जेएक्सकोर) और / या भ्रमित, पुरानी, ​​अपूर्ण, या गलत सूचना प्रदान करते हैं

इसलिए मैंने जांच की है जो वर्तमान में (अगस्त 2017 तक) व्यवहार्य दृष्टिकोणों की जांच कर रहा है और तीन संभावित उम्मीदवारों को मिला है

उन दोनों के बीच निर्णय लेने के लिए मैं जानना चाहूंगा:

  • इन तरीकों के बीच प्राथमिक अंतर
  • प्रत्येक दृष्टिकोण पर विशिष्ट प्रो और चुनाव है
  • संभावना बाधाओं, चुनौतियों और कमियों
  • क्या आप अन्य व्यवहार्य विकल्पों के बारे में जानते हैं?

व्यावहारिक दृष्टिकोण हैं :

  1. V8 जावास्क्रिप्ट इंजन चला रहा है जिसमें नोडजेएस ( जे 2 वी 8) शामिल है
  2. नोडजेएस का उपयोग सीधे, मूल पुस्तकालय के रूप में एम्बेडेड ( नोड-ऑन-एंड्रॉइड )
  3. नोडजेएस ऐप-ए-ऐ-सर्विस ( रिएक्ट- नेट -नोड ) के साथ रिएक्ट नेटिव के संयोजन

इसके अलावा मुझे कई संबंधित दिलचस्प संसाधन मिले हैं:

  • एनपीएम नोडजेएस को सीधे रीडिंग के बिना टर्मिक्स का इस्तेमाल करते हैं (एंड यूजर के लिए नहीं)
  • लिक्विडकोर – मूल मोबाइल माइक्रो ऐप डेवेंव (जांच नहीं की गई, दिलचस्प अवधारणाएं)
  • dna2oslab – नोड निष्पादन योग्यता के लिए एक काम नोडजेएस स्क्रिप्ट है
  • एंड्रॉइड के लिए बिल्डिंग नोडजेएस – उपयोगी संकलन सुझावों और उदाहरण परियोजना के साथ ब्लॉग

Solutions Collecting From Web of "Android पर नोडजेएस चलाने के लिए व्यवहार्य विकल्प (अगस्त 2017)"

व्यवहार्य विकल्पों की जांच करना

[ नोट इस उत्तर में ऐसे निष्कर्ष शामिल हैं जो मूल प्रश्न में थे]

मैंने विभिन्न विकल्पों की थोड़ी अधिक जांच की है और यहां कुछ प्रारंभिक निष्कर्ष हैं I

0. नोडजेएस संकलित करना

प्रत्येक विकल्प एंड्रॉइड के लिए संकलित नोडजेएस के कुछ फार्म का उपयोग करता है लेकिन किसी भी विकल्प का उपयोग करने के लिए आप शायद विभिन्न नोड, एंड्रॉइड और आर्किटेक्चर (x86, एआरएम, एआरएम 64, इत्यादि) संस्करणों के लिए संकलित करना चाहते हैं।

यह समस्याग्रस्त है नोडजेएस में एक android-configure स्क्रिप्ट है, लेकिन इसके परिणामस्वरूप मैंने सबसे अधिक संयोजनों में त्रुटियों का परिणाम दिया है। मैंने काम कर रहे स्क्रिप्ट के लिए कई गिथब मुद्दे बनाए हैं। इस मुद्दे के परिणाम एकत्र किए जाते हैं:

  • एंड्रॉइड एआरएम नोड 7.x या 8.x साझा लाइब्रेरी के लिए वर्किंग बिल्ड स्क्रिप्ट

संक्षेप में:

  • साझा लाइब्रेरी सभी को असफल बनाती है (जब आपके एंड्रॉइड पर शारीरिक रूप से निर्माण करते हैं, तो नीचे देखें)
  • J2V8 नोडजेएस ( libnode.a ) के साथ स्थिर रूप से लिंक किया गया है libj2v8.so . libj2v8.so तक 7.x के लिए काम करता है
  • 7.x के लिए बिल्ड- ए -नोड-एक्जीक्यूटेबल काम करता है ( डीएनए 2 स्लैब बिल्ड स्क्रिप्ट का उपयोग करके)

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

1. V8 जावास्क्रिप्ट इंजन चला रहा है जिसमें नोडजेएस ( जे 2 वी 8) शामिल है

J2V8 V8 के लिए जावा बाइंडिंग का एक सेट है। जे 2 वी 8 वी 8 के साथ प्रदर्शन और तंग एकीकरण पर केंद्रित है। […] [जो] जेएस और जावा कोड के बीच एक और अधिक स्थिर प्रकार की प्रणाली को बल देता है, लेकिन इंटरमीडिएट ऑब्जेक्ट नहीं बनाए जाते हैं, क्योंकि यह प्रदर्शन को भी सुधारता है। […]

बिल्डिंग जे 2 वी 8 को मूल भागों और जावा लाइब्रेरी (.jar / .aar फ़ाइल) दोनों के निर्माण की आवश्यकता है। मूल भागों का निर्माण करने के लिए हम पहली बार एक पुस्तकालय के रूप में नोड। जेएस बनाते हैं और उसके बाद स्थिर रूप से जे 2 वी 8 को लिंक करते हैं। […]

क्रॉस-कंपाइलिंग जे 2 वी 8 के लिए डॉकर (एंड्रॉइड, लिनक्स, विंडो) और उग्रन्ट (मैकोज) का उपयोग करता है।

स्लाइडशैयर देखें: जावा वर्ल्ड में रनिंग नोडजेएस (या इन्फोक वीडियो देखें, 32 मिनट।)

विशेषताएं :

  • अधिक शक्तिशाली वी 8 (नोडजेएस के साथ) के साथ JavaScriptCore इंजन की जगह
  • जोड़ा गया जे 2 वी 8 जेएनआई / जावा परत के माध्यम से मल्टी थ्रेडिंग (थ्रेड्स / श्रमिक) समर्थन
    • प्रत्येक थ्रेड का अपना पृथक वी 8 इंस्टेंस हो सकता है
  • 2-रास्ता जे एस-टू-जावा पुल (स्क्रिप्ट से जावा जावा कॉल करें और इसके विपरीत)
  • 2-रास्ता एकीकृत त्रुटि / अपवाद हैंडलिंग
  • सुंदर क्रॉस-कंपाइलिंग इंटरैक्टिव बिल्ड सिस्टम ( काम करता है )
  • क्रोम डिबगिंग समर्थन
  • दूसरों, टाइप एरे, ES6 समर्थन, …

अभिलक्षण :

  • build_system/build_settings.py में संकलित करने के लिए संस्करण निर्दिष्ट करें
  • python build.py --interactive बिल्ड के साथ बस एक बिल्ड शुरू करें – python build.py --interactive , का चयन करें बिल्ड:

     [0] Docker >> android-x86 >> NODE_ENABLED [1] Docker >> android-arm >> NODE_ENABLED [2] Docker >> alpine-linux-x64 >> NODE_ENABLED [3] Docker >> linux-x64 >> NODE_ENABLED [4] Docker >> linux-x86 >> NODE_ENABLED [5] Vagrant >> macosx-x64 >> NODE_ENABLED [6] Vagrant >> macosx-x86 >> NODE_ENABLED [7] Native >> windows-x64 >> NODE_ENABLED [8] Docker >> windows-x64 >> NODE_ENABLED [9] Vagrant >> windows-x64 >> NODE_ENABLED 
  • बिल्ड चरणों का चयन करें (या all ):

     NodeJS --> CMake --> JNI --> Optimize --> Java/Android --> JUnit 
  • साझा लाइब्रेरी के रूप में वी 8 को libj2v8_{platform}_{abi}.{ext}

    • नोट : nodejs बिल्ड चरण नोड साझा लाइब्रेरी (त्रुटियों) का निर्माण नहीं कर सकता है, libnode.a में लिंक करने के लिए स्थिर libnode.a बनाता है
  • जावा द्वारा एक्सेस किए गए वी 8 के बड़े हिस्से बनाने के लिए एक जेएनआई परत है
  • अतिरिक्त सुविधाओं (उदाहरण के लिए जेएस <-> जावा पुल) जावा में लागू की गई
  • अंतिम निर्माण आउटपुट एक .aar है। परियोजना निर्भरता के रूप में शामिल करने के लिए

पेशेवरों :

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

विपक्ष :

  • थोड़ा, अधिकतर पुराने उपयोग दस्तावेज़
    • विशेष रूप से undocumented बड़े (आर) -स्कूल जेएस परियोजनाओं में उपयोग होता है
  • जेएनआई गोंद संहिता के बहुत से बनाए रखा जाना चाहिए
  • प्रोजेक्ट अच्छी तरह से बनाए रखा नहीं है (कई पुराने खुले मुद्दे, गैर-विलय पीआर)
    • कुछ जनसंपर्क किसी प्रतिक्रिया के बिना भी 2 साल के लिए लटकाए हुए हैं अच्छा नही
  • अन्य विकल्पों की तुलना में J2V8 परियोजना सेटअप (कई फाइलें) समझने के लिए कठिन
  • लाइसेंसिंग मुद्दे (ईपीएल 1.0 लाइसेंस में "सभी अधिकार सुरक्षित")

2. नोडजेएस का उपयोग सीधे, मूल पुस्तकालय के रूप में एम्बेडेड ( नोड-ऑन-एंड्रॉइड )

साझा किए गए लाइब्रेरी का उपयोग करके एंड्रॉइड ऐप के अंदर अपने नोड। जेएस चलाकर एंड्रॉइड काम पर नोड। यह तब आपके यूआई कोड को होस्ट करने वाली एक WebView बंडल करता है। सभी यूआई सिर्फ क्लासिक एचटीएमएल / सीएसएस / जेएस है

नोड ऐप में आपको node-on-android आवश्यकता हो सकती है जिससे कि वेबव्यू तक पहुंच प्राप्त हो सके। आप इसका प्रयोग WebView में एक html पृष्ठ लोड करने के लिए कर सकते हैं।

node-on-android क्रिएटर ( @ माफिंटॉश ) के मुताबिक यह आसान और जे 2 वी 8 से बेहतर है क्योंकि यह वी 8 सीधे असली चीज़ के रूप में संकलित करता है

विशेषताएं :

  • UI सहित पूर्ण देशी नोडजेएस अनुप्रयोगों को बनाएं, (मूल वेबदृश्य के माध्यम से)

अभिलक्षण :

  • क्रेडेले app प्रोजेक्ट में संबंधित निर्देशिका / फाइलें:
    • app/src/main/include/node साथ .h हेडर
    • app/src/main/jniLibs/arm64-v8a को libc++_shared.so और साथ। libnode.so
    • native-lib.cpp ( node.h शामिल है) के साथ app/src/main/cpp
    • जावा कोड, एक अलग थ्रेड में चलने वाले नोड के साथ सिर्फ एक Service को स्पिन करता है
  • libnode.so लिए कोई libnode.so , इसलिए private native void startNode(String... app); IDE में त्रुटि के रूप में दिखाता है (लेकिन संकलित)
  • नोडजेएस प्रोजेक्ट android/app/src/main/assets/node
  • नोडजेएस कोड को अस्थायी भंडारण में स्थानांतरित किया जाता है और वहां से क्रियान्वित किया जाता है
  • नोडजेएस ऐप उजागर लोड यूआरएल फ़ंक्शन के माध्यम से वेबविवे में लोड करने के लिए दृश्यों को निर्दिष्ट करता है
    • नोड सेवा एनपीएम पैकेज node-on-android द्वारा सुलभ है

पेशेवरों :

  • सरल प्रोजेक्ट, बहुत नलसाजी कोड नहीं
  • हाल ही में v8.x नोड संस्करण के साथ-साथ- बॉक्स के साथ आता है
  • साधारण एचटीएमएल-आधारित ऐप यूआई प्रोग्रामिंग (उदाहरण के लिए चू का उपयोग करना)
  • बॉक्स के बाहर काम करता है 🙂

विपक्ष :

  • बहुत ही नई परियोजना, केवल प्रयोगात्मक कोड अभी भी
  • केवल arm64 वास्तुकला के लिए आता है (पूर्ण मोबाइल समर्थन की योजना बनाई है, या DIY बिल्ड)
    • नोट : 64-बिट रिएक्ट नेटिव के साथ जोड़ा जा सकता है ( 64-बिट समर्थन नहीं )!
  • कोई देशी UI संभव नहीं (जब तक कि Gradle / Java / XML में कोडिंग नहीं)
  • नोड ऐप (एएएआईआईएक पर कोई डीबगिंग समर्थन नहीं है, लेकिन हो सकता है कि आप किसी तरह से वेब वीव से संलग्न कर सकें)

3. नोडजेएस ऐप के रूप में एक-सेवा ( प्रतिक्रिया-देशी-नोड ) के साथ प्रतिक्रिया के मूल निवासी

पृष्ठभूमि में एक वास्तविक नोड.जेएस प्रक्रिया चलाएं, मूल निवासी ऐप के पीछे।

इस पैकेज का उपयोग करना आप कर सकते हैं: एंड्रॉइड में एचटीएम सर्वर चलाने के लिए, नोड स्ट्रीम का प्रयोग करें, फाइल सिस्टम के साथ इंटरफेस करें, मूल प्रतिक्रिया वाले जेएस धागा से कुछ भारी प्रसंस्करण निकाल लें, और अधिक! Android में असली Node.js चलाना, आप डेस्कटॉप पर Node.js कर सकते हैं जो सब कुछ कर सकते हैं।

विशेषताएं :

  • यूआई के लिए निवासी मूल का प्रयोग करें, पृष्ठभूमि की सेवा के रूप में नोडजेएस

अभिलक्षण :

  • नोडबेस से व्युत्पन्न
  • नोड-ऑन-एंड्रॉइड के समान (अलग थ्रेड पर नोड के साथ Service चलाएं)
    • लेकिन node अनुप्रयोग के रूप में संकलित / उपयोग किया जाता है, एम्बेडेड साझा लाइबिल नहीं
    • नोडजेएस ऐप कोड {projectRoot}/background में स्थित है
    • NodeJS निष्पादन योग्य /android/src/main/res/raw/bin_node_v710
    • बिल्ड समय पर नोड ऐप टैब्लेट किया जाता है, `/ android / src / main / res / raw / {appName} पर अनपैक किया गया है
    • नोडजेएस सेवा को लागू किया जाता है जैसे कमांड लाइन से चलाया जा रहा है, एल्ग्स पास कर रहा है
  • नोड सेवा RNNode react-native-node आयात करके आरएन में उपलब्ध है
    • react-native-node में सीएलआई भी शामिल है जो बिल्ड समय पर नोड कोड स्थानांतरित करता है
  • उदाहरण परियोजना रिएक्ट नेटिव से नोडेज एसएसईएस सेवा के माध्यम से REST के माध्यम से संचार करती है
    • http://localhost:5000 पर एक express सर्वर चलाना http://localhost:5000 नोड की ओर

पेशेवरों :

  • सरल प्रोजेक्ट, बहुत नलसाजी कोड नहीं
  • स्पष्ट: Android पर NodeJS के साथ मूल समर्थन पर प्रतिक्रिया दें!
  • नोड-ए-एक्जिक्यूटिव शायद 64-बिट डिवाइस + प्रतिक्रिया-देशी के साथ काम करेगा

विपक्ष :

  • बहुत ही नई परियोजना, केवल प्रयोगात्मक कोड अभी भी
  • पुराने नोडजेएस 7.1.0 संस्करण के साथ आता है (लेकिन DIY नए लोगों का निर्माण )
  • आरएन और नोड ऐप्स (आरईएसटी-आधारित) के बीच संवाद करने का कोई आसान तरीका नहीं है
    • REST एपीआई का विस्तार या अपने स्वयं के तंत्र को रोल करने की आवश्यकता है
  • नोड ऐप पर कोई डीबगिंग समर्थन नहीं क्या हो रहा है यह जानना बहुत मुश्किल है

स्थिति (2017-08-17)

मेरा लक्ष्य मूल निवासी + नोडजेएस है यह मेरी गतिविधियों का दर्जा है:

  • निष्पादन योग्य कार्यों के रूप में नोडजेएस v7.x संस्करणों को संकलित करना
  • नया J2V8 बिल्ड सिस्टम के साथ v7.9.0 कार्यों के लिए नोडजेएस v7.4.0 को संकलित करना
  • नोडजेएस v8.1.2 को संकलित करना जल्द ही जे 2 वी 8 (लिबसी libc++ खिलाफ संकलित) के साथ काम करेगा
  • react-native-node संकलन करता है, लेकिन कई प्रयासों के बावजूद काम नहीं करता है
  • node-on-android काम करता है, लेकिन नोड केवल ऐप विकास और 64-बिट आरएन के साथ असंगत है

मैंने J2V8 साथ react-native-node को गठबंधन करने का निर्णय लिया क्योंकि:

  • महान क्रॉस-कंपाइल बिल्ड पीआर: https://github.com/eclipsesource/J2V8/pull/327
  • एक अच्छा जे 2 .aar 8 में .aar होता है। आसानी से .aar में शामिल होने के लिए .aar

मूल निवासी 0.46.4 + नोडजेएस 7.9.0 अब काम कर रहा है! देख:


मेरा उपयोग मामले: पी 2 पी विकेन्द्रित नेटवर्किंग के साथ वसा ग्राहक

मैं एक सीक्यूआरएस (कमांड-क्वेरी-डिलीवरी-पृथक्करण) डिज़ाइन के बारे में सोच रहा हूं:

  • प्रतिक्रिया-देशी UI नोड सेवा से पूछे जाने वाले दृश्य से बनाया गया है
  • प्रतिक्रिया-देशी UI क्रिया नोड पृष्ठभूमि सेवा पर आदेशों को ट्रिगर करती है
  • पृष्ठभूमि सेवा नेटवर्क संदेश, आने वाले कमांड, घटनाओं को ट्रिगर करती है
  • घटनाएं रियलएम डीबी में संग्रहित की जाती हैं जो सामने और पीछे के बीच के पुल का निर्माण करती है

विवरण: देशी नोडजेएस को पुल करने के लिए Realm.io + एंड्रॉइड वेट क्लाइंट ऐप (सीक्यूआरएस-शैली) में मूल निवासी प्रतिक्रिया दें


निष्कर्ष

यहां तक ​​कि पोर्ट नोडजेएस को एंड्रॉइड के लिए कोशिश करने वाले लोगों के वर्षों के बाद भी, कोई भी अच्छा अच्छा समाधान नहीं है, यह अग्रणी है।

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

मुझे @ डीएनए 2 जिथूब , नोडबेस के निर्माता (बहुत बहुत धन्यवाद!) से एक जवाब मिला है कि मैं यहां (अनुमति के साथ) में शामिल होगा:


नमस्ते,

आपके प्रश्न के लिए Thx मैं अपने विचार में एक संक्षिप्त उत्तर देगा

1. एंड्रॉइड पर वी 8 जावास्क्रिप्ट इंजन चला रहा है जिसमें नोडजेएस शामिल है

पेशेवरों:

  • जावा दुनिया के साथ एकीकृत; कोड का पूर्ण नियंत्रण प्राप्त कर सकते हैं

विपक्ष:

  • 3 पैकेज के साथ एकीकृत करने के लिए थोड़ा मुश्किल है (कैसे जानने के लिए समय की जरूरत है)।
  • नोडजेएस और वी 8 चीजों के बारे में जानने की जरूरत है और यह भी J2V8 डॉक्स (यह लंबे समय का उपयोग करता है)।

2. नोडजेएस को देशी लाइब्रेरी के रूप में संकलित करें (नोड-ऑन-एंड्रॉइड का उपयोग करके)

पेशेवरों:

  • जेएस देव पर ध्यान केंद्रित करें और एंड्रॉइड पक्ष पर विचार करने की आवश्यकता नहीं है।
  • कम सीखने का समय; कॉर्डोवा फोनगाप के समान …

विपक्ष:

  • जेएस ऐप => एपीके एक ब्लैक बॉक्स है।

3. टर्मॉक्स का इस्तेमाल करते हुए एंड्रॉइड पर नोडजेएस चलाना

पेशेवरों:

  • लचीला

विपक्ष:

  • कोई गुई नहीं

4. अन्य दिलचस्प दृष्टिकोण

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

नोडबेस के लिए:

पेशेवरों:

  • 3 के समान; अंतर यह है कि इसके ऐप को शुरू करने / बंद करने के लिए इसकी अपनी GUI है
  • यह सब कुछ के लिए एक टेम्पलेट हो सकता है; उदाहरण के लिए, अगर आप डीजेंगो को चलाने के लिए चाहें, तो आपको नोड को अजगर में बदलना होगा; रेल, रूबी …

विपक्ष:

  • मूल प्रक्रिया का उपयोग समस्या; प्रक्रिया एंड्रॉइड ऐप से पहुंच हासिल नहीं कर सकती
  • खुश खिलौना खुश खुला स्रोत एक वाणिज्यिक ऐप की तरह नहीं; ग्राहकों को वितरित करना चाहते हैं तो अधिक डिज़ाइन की आवश्यकता है

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

मेरे लिए, मैं जो उदाहरण के लिए लचीलेपन चाहता हूं, मैं अपने एंड्रॉइड को एक मशीन लर्निंग रनर के रूप में बनाना चाहूंगा; यह किसी भी समय मशीन सीखने के कार्यक्रमों को चलाने में मदद कर सकता है (नोड और अजगर के साथ, इस तरह मेरे दूसरे रेपो में: फोन बाइनरी का उपयोग करने के लिए dna2oslab बिन्नर के निर्माण पर केंद्रित है)

आपके लिए, यदि थोड़े समय में आपका ऐप बंद करना है, तो मैं सुझाता हूं 2; अगर आपके पास समय और अन्य संसाधन हैं, 1 बेहतर है 3 अगर आप सिर्फ एक खिलौना / डेमो बनाते हैं 4 अन्य हमेशा संभव होते हैं और कार्य करने के लिए अपनी कल्पना भी करते हैं

शुभकामनाएं, सात