क्रॉस प्लेटफ़ॉर्म मोबाइल एप्लिकेशन विकसित करना [बंद]


109

अधिक से अधिक मोबाइल प्लेटफ़ॉर्म लॉन्च किए जा रहे हैं और एसडीके डेवलपर्स के लिए उपलब्ध हैं। विभिन्न मोबाइल प्लेटफॉर्म उपलब्ध हैं: एंड्रॉइड, आईओएस, मोबलिन, विंडोज मोबाइल 7, आरआईएम, सिम्बियन, बाडा, मैम आदि।

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

या एचटीएमएल (विजेट प्रकार) में कोड लिखकर और इसे मूल एप्लिकेशन में लोड करके संभावनाएं हैं। मुझे Android के बारे में पता है, जिसमें हम कॉल करके वेब दृश्य को एप्लिकेशन में जोड़ सकते हैंsetContentView(view)

कृपया वर्ग विवरण साझा करें जहां हम विभिन्न प्रकार के प्लेटफार्मों के मूल एप्लिकेशन में html दृश्य जोड़ सकते हैं जो आप जानते हैं।

इस धागे का उद्देश्य डेवलपर्स के बीच सामान्य विवरण साझा करना है। समुदाय विकि के रूप में चिह्नित करना।

प्लेटफ़ॉर्म टूल और लाइब्रेरी पार करें

  • XMLVM, कोडनेम वन और iSpectrum (एंड्रॉइड ऐप से जावा कोड को क्रॉस करना या स्क्रैच से एक बनाना)

  • फ़ोन गैप (क्रॉस प्लेटफ़ॉर्म मोबाइल ऐप्स)

  • टाइटेनियम (वेब ​​तकनीकों के साथ देशी मोबाइल और डेस्कटॉप ऐप बनाने के लिए)

  • मोनो टच (iPhone के लिए C #)

  • rhomobile - http://rhomobile.com/ नमूने यहां हैं: http://github.com/rhomobile/rhodes-system-api-samples

  • स्नेहा टच - स्नेचा टच एक एचटीएमएल 5 मोबाइल ऐप फ्रेमवर्क है, जो आपको ऐप्पल आईओएस और Google एंड्रॉइड टचस्क्रीन डिवाइस पर देशी दिखने और महसूस करने वाले वेब ऐप विकसित करने की अनुमति देता है। http://www.sencha.com/products/touch/

  • कोरोना - Iphone / Ipad / एंड्रॉइड एप्लिकेशन क्रॉस प्लेटफॉर्म लाइब्रेरी। बहुत अद्भुत। http://anscamobile.com/corona/

  • विंडोज फोन 7 पर मौजूदा एंड्रॉइड ऐप को पोर्ट करने के लिए एक गाइड http://windowsphone.interoperabilitybridges.com/articles/windows-phone-7-guide-for-iphone-application-developers

  • स्मार्टफोन और टैबलेट के लिए Jquery मोबाइल टच-ऑप्टिमाइज्ड वेब फ्रेमवर्क

1
जबकि मुझे एक दिलचस्प धागा मिला जो इस एक से संबंधित है, stackoverflow.com/questions/3326110/…
sohilv

क्रॉस प्लेटफॉर्म देव के बारे में एक और अच्छी पोस्ट: stackoverflow.com/questions/51988/…
sohilv

1
इसे डुप्लिकेट के रूप में बंद करने के लिए वोट दिया गया। यह दो प्रश्नों को विभाजित करने के लिए बहुत महत्वपूर्ण है। stackoverflow.com/questions/51988/…
ripper234

1
मैंने हाल ही में इस stronia.com/2014/05/building-cross-platform-mobile-apps.html
Anshu Dwibhashi

जवाबों:


97

यहाँ मेरा जवाब क्रॉस-प्लेटफ़ॉर्म टूल की कुछ तकनीकी सीमाओं को शामिल करता है लेकिन मुझे थोड़ा विस्तार दें:

मुझे लगता है कि क्रॉस-प्लेटफ़ॉर्म टूल हमेशा ऐतिहासिक रूप से भी रैन रहे हैं क्योंकि ऐसे टूल में गलत दार्शनिक फ़ोकस है।

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

क्रॉस-प्लैफ़ॉर्म टूल को बेचा नहीं जाता है, जो लाभ वे अंतिम उपयोगकर्ताओं के लिए लाते हैं

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

इसके विपरीत, क्रॉस-प्लेटफॉर्म एपीआई बनाने के अपरिहार्य समझौते का मतलब है कि एपीआई द्वारा बनाए गए सभी ऐप हर प्लेटफॉर्म पर सर्वश्रेष्ठ बी-ग्रेड होंगे। वे प्रत्येक मंच पर उपयोग करने के लिए सबसे अच्छा उपकरण कभी नहीं होंगे।

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

आप अंत उपयोगकर्ताओं को सबसे उपयोगी उपकरण देकर लंबे समय में पैसा बनाते हैं। यदि आप दार्शनिक रूप से अंत उपयोगकर्ता के जीवन को आसान और अधिक उत्पादक बनाने पर ध्यान केंद्रित नहीं करते हैं, तो आप शुरू से ही बहुत अधिक बर्बाद हैं। अंतिम उपयोगकर्ताओं के पास बहुत सारे विकल्प हैं और यदि आपका उपकरण सर्वश्रेष्ठ में से एक नहीं है तो आप इसे बाजार में नहीं बनाएंगे।

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


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

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

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

4
@TechZen - मैं अपने वेब ब्राउज़र पर अब StackOverflow का उपयोग कर रहा हूं और मूल ग्राहक की तलाश करने का कोई कारण नहीं देखता हूं। मुझे लगता है कि आप अपने दावों को सामान्यीकृत करते हैं।
युवल ब्रॉन्की

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

14

मोबाइल उपकरणों पर क्रॉस-प्लेटफॉर्म विकास के कई दृष्टिकोण हैं। बेशक वे सभी की सीमाएं हैं। कोई भी समाधान सभी डिवाइस की कार्यक्षमता का लाभ उठाने का प्रबंधन नहीं करता है जिस तरह से एक मूल एप्लिकेशन कर सकता है।

कोड का फिर से उपयोग करना

हालांकि सभी मोबाइल ओएस एक ही विकास भाषा और एपीआई का उपयोग नहीं करते हैं लेकिन आप कभी-कभी कुछ कक्षाएं या लॉजिक टियर कोड साझा कर सकते हैं।

C ++ उदाहरण के लिए, संभवतः iOS एप्लिकेशन के लिए फिर से उपयोग किया जा सकता है , Android ऐप के लिए NDK का उपयोग करके , सिम्बियन ऐप के लिए चूंकि वे C ++ में विकसित किए गए हैं, आदि।

कुछ समाधान भी डिवाइस द्वारा सामान्य रूप से उपयोग किए जाने वाले की तुलना में एप्लिकेशन को किसी अन्य भाषा में लिखने की संभावना प्रदान करते हैं। सबसे प्रसिद्ध (वास्तव में केवल एक ही मुझे पता है) वाणिज्यिक और मोनो परियोजना (सी # विकास) पर आधारित हैं :

लेकिन मुझे यकीन नहीं है कि हम इस क्रॉस-प्लेटफॉर्म विकास को कॉल कर सकते हैं क्योंकि कोड का पुन: उपयोग डिवाइस के आधार पर सीमित है:

  • विंडोज फोन 7 देशी कोड विकास की अनुमति नहीं देगा (शायद आगे के अपडेट में)
  • AFAIK मोनो जैसी परियोजना सभी प्लेटफार्मों (अभी तक?) बडा, वेबओएस, मैमो, आदि के लिए मौजूद नहीं है।

और UI भाग भी प्रत्येक डिवाइस के लिए विशिष्ट रहता है।

वेब विकास

मोबाइल के लिए क्रॉस-प्लेटफॉर्म विकास के बारे में पूछने पर एक नियमित उत्तर वेब विकास है। फिर हमें एक रैपर की आवश्यकता होगी, जो मोबाइल ब्राउज़र का उपयोग करेगा, इसे देखने के लिए और एक देशी एप्लिकेशन की तरह व्यवहार करेगा। इसी तरह से कुछ क्रॉस-प्लेटफ़ॉर्म फ्रेमवर्क हैं जिन्हें हम आगे काम पर देखेंगे।

एचटीएमएल 5 का उदय वेब डेवलपमेंट फंक्शनलिटीज को लाता है, जो केवल जियोलोकेशन, ऑफ-लाइन एप्लिकेशन, स्थानीय भंडारण जैसे मूल एप्लिकेशन के साथ किया जा सकता है।

हम नवीनतम वेब मानकों एचटीएमएल 5, सीएसएस 3, जेएस का लाभ उठाकर देशी लुक और फील के साथ वेब एप्लिकेशन विकसित करने के लिए अधिक से अधिक चौखटे पा सकते हैं।

लेकिन HTML5 अभी भी बहुत युवा है और कार्यान्वयन एक ब्राउज़र से दूसरे में भिन्न हो सकता है। अधिकांश डिफ़ॉल्ट मोबाइल ब्राउज़र WebKit इंजन का उपयोग करते हैं (मुख्य अपवाद Windows मोबाइल / इंटरनेट एक्सप्लोरर का उपयोग कर फोन किया जा रहा है) और यहां तक ​​कि जरूरी नहीं कि वे उसी समानता का समर्थन करते हों । स्थानीय डेटाबेस अभी भी काम करने के लिए अजीब है और हम यह सुनिश्चित नहीं कर सकते हैं कि यह विभिन्न ब्राउज़रों द्वारा कैसे लागू किया जा रहा है। इसके अलावा, HTML5 के साथ भी, वेब विकास अभी भी एक देशी ऐप की तुलना में बहुत सीमित है। आप संपर्क, कैमरा, एक्सेलेरोमीटर आदि का उपयोग नहीं कर सकते।

संपादित करें: इस महीने की शुरुआत में W3C ने HTML5 के विकास के बारे में कुछ चेतावनियाँ दी हैं: ZDNet से अनुच्छेद

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

क्रॉस-प्लेटफॉर्म चौखटे

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

[१] याद रखें कि ऐप्पल की अपने प्लेटफ़ॉर्म के लिए लिखे गए ऐप्स के बारे में एक विशेष नीति है। वे इस तिथि में इन ऐप्स को अवरुद्ध नहीं करते हैं, लेकिन यह एक जानकारी है जिसे ध्यान में रखा जाना चाहिए। संपादित करें: Apple ने इस नीति को 9 सितंबर से बदल दिया है ।


6

वेबैप के रूप में तैनाती करते समय आपको कुछ समानताएं मिलती हैं (एचटीएमएल 5 जैसा कि ऊपर बताया गया है) लेकिन समृद्ध देशी ऐप के लिए एपीआई विभिन्न स्मार्टफोनों के लिए पूरी तरह से अलग हैं।

एचटीएमएल 5 चीजों को कुछ हद तक सुधार सकता है लेकिन दिलचस्प चीजें करने के लिए आपको देशी जाने की आवश्यकता है।

फ़ोनगैप जैसे 'क्रॉस प्लेटफ़ॉर्म' स्मार्टफ़ोन फ्रेमवर्क हैं, लेकिन मैंने "असली" काम के लिए इसका इस्तेमाल करने के बारे में ज्यादातर बुरी बातें सुनी हैं। (बहुत सारे उपरि आदि)


5

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

वेबसाइट: http://www.wholesaleappcommunity.com/default.aspx

समाचार: http://news.google.de/news/search?aq=f&pz=1&cf=all&ned=us&hl=en&q=%22Whiland+Applications+Community2222

डब्लूएसी का उद्देश्य नवंबर में डेवलपर्स के लिए अपने एसडीके के शुरुआती विनिर्देश और घटकों को प्रकाशित करना है। यह विनिर्देश W3C मानकों पर आधारित होगा और समृद्ध मोबाइल वेब अनुप्रयोगों को विकसित करने के लिए एक मजबूत मंच तैयार करेगा। WAC वर्तमान JIL और BONDI विनिर्देशों के आधार पर उपकरणों के लिए पश्चगामी संगतता प्रदान करेगा। ( http://www.convergedigest.com/Bandwidth/newnetworksarticle.asp?ID=31021 )

यह लगभग 25 दूरसंचार कंपनियों का एक अंतरराष्ट्रीय गठबंधन है जो सभी डेवलपर्स के लिए एक मंच बनाने और सभी मोबाइल फोन उपयोगकर्ताओं को बेचने का लक्ष्य है। ( http://www.downloadsquad.com/2010/02/15/atandt-whillon-applications-community-is-a-platform-not-an-app/ )


1

जहां तक ​​मुझे पता है कि अधिकांश डिवाइस इसे चलाने में सक्षम हैं:

जावा एमई - मोबाइल उपकरणों के लिए सबसे सर्वव्यापी अनुप्रयोग प्लेटफ़ॉर्म

मुझे लगता है कि यह अच्छा और बुरा दोनों उदाहरण पेश कर सकता है।


वास्तव में, iPhone पर कोई जावा नहीं है, और जहाँ तक मुझे पता है, जावा मुझे एंड्रॉइड पर नहीं चलता है
Alaa Nassef

Android विकास बड़े पैमाने पर जावा है। developer.android.com/reference/java/net/package-summary.html
निक गार्वे

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