अजगर ऐप को पूरी तरह से कैसे बनाएं? [बन्द है]


104

मैं प्ले स्टोर के माध्यम से वितरित करने के लिए एक (बल्कि सरल) एंड्रॉइड ऐप विकसित करना चाहूंगा। मैं पूरी तरह से अजगर में ऐसा करना चाहूंगा। हालाँकि, ऑनलाइन शोध ने मुझे बहुत प्रबुद्ध नहीं किया है: अधिकांश टिप्पणियां या तो पुरानी हैं (> 1 वर्ष पुरानी हैं, और मुझे लगता है कि तब से अजगर का बेहतर एकीकरण हो सकता है) या वे एंड्रॉइड (जैसे यहां ) में अजगर चलाने की बात करते हैं ।

इसलिए, मैं सवालों के बारे में जानकारी की तलाश में हूँ:

  • क्या अजगर में पूरी तरह से एक ऐप विकसित करना संभव है - और ऐसा करने के लिए उपकरण क्या हैं? (जैसे किवी की सिफारिश है?)
  • यदि हां: इसे लागू करने के लिए सबसे अच्छा सॉफ्टवेयर वातावरण क्या हैं? (मैंने एंड्रॉइड स्टूडियो का उपयोग करने की असफल कोशिश की, लेकिन वहां अजगर कोड को चलाने का एक तरीका नहीं खोज सका।)

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

आपके लिए बहुत धन्यवाद अग्रिम में मदद।


अतीत में, मैंने कीवी और उनके बिल्डओज़र प्रोग्राम का उपयोग किया था। वे दस्तावेज़ यहां kivy.org/docs/guide/packaging-android.html
es

मूल रूप से आपको या तो जावा या कोटलिन का उपयोग करना होगा, हालांकि जैसा कि अन्य ने बताया है कि 3 पार्टी "ऐप-बिल्डर्स" या फ्रेमवर्क हैं जिन्हें आप पायमोब या कीवी जैसे अजगर के साथ उपयोग कर सकते हैं।
डोमिनिक श्मिट

6
मैंने एक एंड्रॉइड गेम बनाया जो कि कीवी का उपयोग करके पूरी तरह से पायथन में विकसित किया गया है। इसे Google Play पर यहां उपलब्ध CoinTex कहा जाता है: play.google.com/store/apps/details?id=coin.tex.cointexreactfast । गेम का सोर्स कोड यहां GitHub: github.com/ahmedfgad/CoinTex पर उपलब्ध है । मैंने एक पुस्तक भी लिखी है जो इस वर्ष पायथन का उपयोग करके एंड्रॉइड ऐप बनाने के लिए प्रकाशित होगी। यह "पायथन में बिल्डिंग Android एप्लिकेशन एंड्रॉयड स्टूडियो के साथ Kivy का उपयोग करना: Pyjnius के साथ, plyer, और Buildozer अहमद Fawzy गाद" शीर्षक है उपलब्ध यहाँ अमेज़न पर: amazon.com/dp/1484250303
अहमद गद

1
कोई उत्तर पोस्ट नहीं कर सकता है, लेकिन यहां एक समाधान प्रतीत होता है : विभिन्न तकनीकों का प्रदर्शन किया जाएगा, जिसमें नैसैटिस Qt पोर्ट और Py4A / SL4A- आधारित दृष्टिकोण का उपयोग करके PySide- आधारित QML GUI शामिल हैं, जिसे Android के WebKit और re के साथ जोड़ा जा सकता है -यूएस पायथन वेब फ्रेमवर्क।
बसज

जवाबों:


111

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

BeeWare के निर्माता द्वारा इस वीडियो को चेकआउट करें जो इसे पूरी तरह से समझाता है और प्रदर्शित करता है

यह काम किस प्रकार करता है

एंड्रॉइड के कार्यान्वयन की पसंदीदा भाषा जावा है - इसलिए यदि आप पायथन में एक एंड्रॉइड एप्लिकेशन लिखना चाहते हैं, तो आपको जावा वर्चुअल मशीन पर अपने पायथन कोड को चलाने का एक तरीका होना चाहिए। यह वही है जो VOC करता है। वीओसी एक ट्रांसपॉइलर है - यह पायथन स्रोत कोड लेता है, इसे सीपीथॉन बायटेकोड के लिए संकलित करता है, और फिर उस ट्रांसपाइल को जावा-संगत बायोटेक में ट्रांसटेक करता है। अंतिम परिणाम यह है कि आपकी पायथन सोर्स कोड फाइलें सीधे जावा .class फाइल में संकलित की जाती हैं, जिसे एंड्रॉइड एप्लिकेशन में पैक किया जा सकता है।

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

एक बार जब आप अपना मूल Android एप्लिकेशन लिख लेते हैं, तो आप Android एप्लिकेशन के रूप में अपने पायथन कोड को पैकेज करने के लिए ब्रीफ़केस का उपयोग कर सकते हैं ।

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

  • मैक
  • खिड़कियाँ
  • लिनक्स
  • iPhone / iPad
  • एंड्रॉयड
  • एप्पल टीवी
  • tvOS।

आप इस देशी एंड्रॉइड टिक टीएसी को पैर की अंगुली ऐप की जांच कर सकते हैं , जिसे BeeWare सूट का उपयोग करके पायथन में लिखा गया है। GitHub पर

BeeWare टूल के अलावा, आपको अपने एप्लिकेशन को चलाने के लिए एक JDK और Android SDK इंस्टॉल करना होगा।

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

मुझे उम्मीद है कि यह मददगार रहा होगा


1
क्या यह सिर्फ मुझे है, या वीओसी को छोड़ दिया गया है?
निधि मोनिका का मुकदमा

2
यह एक मृत अंत है (पिछली बार जब मैंने इसकी जाँच की थी: दिसंबर 2018)। इस अत्यधिक जटिल समाधान में एक या अधिक घटक अब काम नहीं कर रहे हैं, या खुद को अद्यतित नहीं रख सकते हैं।
बेरी त्सकला

2
2019 के लिए बस इसके लिए एक अपडेट, लेकिन कोटलिन अब एंड्रॉइड विकास के लिए पसंदीदा भाषा है।
डेविंमियन

3
@Basj मैं यह कहना चाहूंगा कि Beeware निश्चित रूप से थोड़ी देर के लिए इधर-उधर हो जाएगा, क्योंकि बस इसके GitHub खाते पर एक नज़र डालने से आप पाएंगे कि यह सक्रिय रूप से विकसित हो रहा है, और यदि आप Gitter चैनल पर जाते हैं, तो आप कर सकते हैं हमेशा पूरी टीम तक पहुंचें, विशेष रूप से डॉ। रसेल (फ्रीकीबॉय) निर्माता, और समुदाय काफी मैत्रीपूर्ण हैं, और साथ ही उनके आधिकारिक खाते से एक बहुत हालिया ट्वीट (26 सितंबर 2019) ट्वीट किया गया था जिसमें कहा गया था कि उन्हें पायथन से शिक्षा अनुदान मिला है सॉफ्टवेयर फाउंडेशन। मुझे लगता है कि यह आपके समय के लायक होगा, खासकर यदि आप एक भाषा के रूप में अजगर को पसंद करते हैं
मैरिटो shittu

1
BeeWare किसी भी सूरत में इस स्तर पर Android (जावा) का समर्थन नहीं करता है।
मार्क एंडरसन

15

आप BeeWare की कोशिश कर सकते हैं - जैसा कि उनकी वेबसाइट पर वर्णित है:

पायथन में अपने एप्लिकेशन लिखें और उन्हें iOS, Android, Windows, MacOS, Linux, Web और TVOS पर समृद्ध, मूल उपयोगकर्ता इंटरफ़ेस का उपयोग करके रिलीज़ करें। एक कोडबेस। कई ऐप्स।

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

यहाँ Android Apps के लिए ट्यूटोरियल है


4
क्या आपने BeeWare के साथ खुद एक ऐप बनाया है?
बेरी त्सकला

11

एंड्रॉइड पर अजगर ऐप के लिए दो प्राथमिक दावेदार हैं

Chaquopy

https://chaquo.com/chaquopy/

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

सावधान रहें (टोगा विजेट टूलकिट)

https://pybee.org/

यह एक मल्टी टारगेट ट्रांसपॉइलर प्रदान करता है, कई लक्ष्यों जैसे कि एंड्रॉइड और आईओएस का समर्थन करता है। यह एक सामान्य विजेट टूलकिट (टोगा) का उपयोग करता है जो होस्ट इंटरफ़ेस कॉल के लिए मैप करता है।

कौनसा?

दोनों सक्रिय परियोजनाएं हैं और उनके जीथब खाते हाल ही की गतिविधि की एक उचित मात्रा को दर्शाते हैं।

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

दूसरी ओर, Chaquopy एंड्रॉइड के लिए अजगर एपीआई की मैपिंग में अधिक सटीक है। यदि आप अन्य संसाधनों से मौजूदा कोड का उपयोग करना चाहते हैं तो यह आपको जावा में उपयोगी होने की भी अनुमति देता है। यदि आपके पास सख्त डिज़ाइन लक्ष्य हैं, और मुख्य रूप से एंड्रॉइड को लक्षित करना चाहते हैं तो यह बहुत बेहतर संसाधन है।


10

एंड्रॉइड, पायथन!

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

किवी लोगो

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


उपयोग करने के लिए सरल

एक अजगर मूल बातें के साथ, आप इसे सीखने में परेशानी नहीं होगी।


अच्छा समुदाय

यह अच्छी तरह से प्रलेखित है और एक महान, सक्रिय समुदाय है।


क्रॉस प्लेटफॉर्म।

आप इस एकल ढांचे के साथ एंड्रॉइड, आईओएस, विंडोज, लिनक्स और यहां तक ​​कि रास्पबेरी पाई के लिए चीज़ विकसित कर सकते हैं। खुला स्त्रोत।


यह एक फ्री सॉफ्टवेयर है

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


त्वरित ग्राफिक्स का समर्थन

ओपन के ईएस 2 पर कीवी के ग्राफिक्स इंजन का निर्माण सॉफ्टवेयर्स के लिए उपयुक्त बनाता है जिसमें गेम जैसे फास्ट ग्राफिक्स रेंडरिंग की आवश्यकता होती है।



अब प्रश्न के अगले भाग में आकर, आप Kivy के लिए Android Studio IDE का उपयोग नहीं कर सकते। विकास पर्यावरण की स्थापना के लिए यहां एक विस्तृत मार्गदर्शिका दी गई है।


4
विंडोज समर्थन उत्पादन मानकों (या यहां तक ​​कि हॉबीस्ट मानक) से पिछड़ रहा है। इसके अलावा, आरटीएल समर्थन के अभाव में दुनिया के आधे लोग इसका उपयोग नहीं कर सकते हैं।
बेरी त्सकला

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