iOS / Android क्रॉस प्लेटफ़ॉर्म विकास [बंद]


113

मैं थोड़ी देर के लिए जावा में एंड्रॉइड ऐप विकसित करने के साथ खेल रहा हूं और इस पर एक हैंडल प्राप्त करना शुरू कर रहा हूं। हालांकि अगर मैं एक iOS संस्करण पर शुरू करना चाहता हूं तो मुझे खरोंच से सब कुछ कोड करने की आवश्यकता है - जो कि, ठीक है, अवांछनीय है।

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

तो मेरे सवाल:

  1. आईओएस / एंड्रॉइड (और / या अन्य उपकरणों) के लिए क्रॉस-प्लेटफॉर्म विकास का वातावरण क्या है?

  2. इन उपकरणों के साथ आपका अनुभव क्या रहा है? (यह मैं वास्तव में जानना चाहता हूँ)


1
एलिस्टर, आप निश्चित रूप से इस तरह का प्रश्न पूछने वाले पहले व्यक्ति नहीं हैं, और न ही आप पहले व्यक्ति हैं जो उत्तर चाहते हैं! :) फोनगैप मत भूलना, जिसे मैंने और रेड फाउंड्री की मिश्रित समीक्षा सुनी है, जो कि अधिक कुकी कटर है लेकिन अच्छा दिखता है - अभी तक क्रॉस प्लेटफॉर्म नहीं।
रात 11:48

1
आप PhoneGap के साथ भी जा सकते हैं। मैंने इसका उपयोग किया है और आपको इसके लिए जाने की सलाह देता हूं। एंड्रॉइड में PhoneGap पर विकसित एप्लिकेशन का उपयोग करके एक exe फ़ाइल (iOS के लिए IPA) उत्पन्न करने का प्रावधान है।
जयप्रकाश दुबे

मैं इस सवाल का अपडेट देना चाहता हूं क्योंकि यह अब 2016 के अंत में है और क्रॉस-प्लेटफॉर्म टूल परिदृश्य बदल गया है। मैं कहता हूं कि यह आपकी पसंद की प्रोग्रामिंग भाषा पर निर्भर करता है और जहां आपकी टीम के पास सबसे अधिक xp है: 1. जावास्क्रिप्ट: मोबाइल पर फोनगैप का प्रदर्शन खराब है, इस प्रकार देशी घटकों के साथ टूल का उपयोग करना लेकिन एप्लिकेशन लॉजिक के लिए JS की सिफारिश की जाती है। विकल्प वी-प्ले ( v-play.net/apps ) या रिएक्ट ( reactnative.com ) हैं। 2. C #: ज़ामरीन आपका दोस्त है। 3. सी ++: क्यूटी ( क्यूटी.आईओ ) जैसे सी ++ फ्रेमवर्क का उपयोग करें अस्वीकरण: मैं वी-प्ले के पीछे लोगों में से एक हूं, जो क्यूटी पर आधारित है।
क्रिश्चियन फेल्डबैकर

उत्तर: स्पंदन , यह रिकॉर्ड समय में iOS और Android पर देशी इंटरफेस को क्राफ्ट करने के लिए Google का नया मोबाइल UI फ्रेमवर्क है।
naXa

एक आशाजनक सक्रिय haxe.org परियोजना भी है।
यूजीन जीआर। फिलिपोव

जवाबों:


104

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

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

आप क्या लिखना चाहते हैं? एंटरप्राइज एप्लिकेशन, व्यक्तिगत उत्पादकता अनुप्रयोग, पहेली खेल, पहले व्यक्ति शूटर?

आप किस तरह का विकास वातावरण पसंद करते हैं? IDE या सादा ol 'टेक्स्ट एडिटर?

क्या आपके पास प्रोग्रामिंग भाषाओं के बारे में मजबूत भावनाएं हैं? जिन रूपरेखाओं से मैं परिचित हूं, उनमें से आप ActionScript, C ++, C #, Java, Lua और Ruby में से चुन सकते हैं।

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

  • एकता www.unity3d.com एक 3 डी गेम इंजन है। यह वास्तव में मेरे द्वारा काम किए गए किसी भी अन्य विकास के माहौल के विपरीत है। आप 3 डी मॉडल के साथ दृश्यों का निर्माण करते हैं, और स्क्रिप्ट को ऑब्जेक्ट्स से जोड़कर व्यवहार को परिभाषित करते हैं। आप जावास्क्रिप्ट, C #, या बू में स्क्रिप्ट कर सकते हैं। यदि आप एक 3 डी भौतिकी-आधारित गेम लिखना चाहते हैं, जो कि आईओएस, एंड्रॉइड, विंडोज, ओएस एक्स या कंसोल पर चलेगा, तो यह संभवतः आपके लिए उपकरण है। आप 3D एसेट्स का उपयोग करके 2 डी गेम भी लिख सकते हैं - इसका एक अच्छा उदाहरण इंडी गेम है मैक्स और मैजिक मार्कर है, एक 2 डी भौतिकी-आधारित साइड-स्क्रोलर एकता में लिखा गया है। यदि आप इसे नहीं जानते हैं, तो मैं इसे जांचने की सलाह देता हूं (विशेषकर यदि आपके घर में कोई बच्चे हैं)। मैक्स पीसी, Wii, iOS और विंडोज फोन 7 के लिए उपलब्ध है (हालांकि बाद वाला संस्करण एक पोर्ट है, क्योंकि एकता WinPhone का समर्थन नहीं करता है)। एकता 3 डी एसेट्स और टेक्सचर के साथ कुछ सैंपल गेम्स के साथ आती है, जो वास्तव में एक जटिल वातावरण के साथ गति प्राप्त करने में मदद करता है।

  • कोरोना www.anscamobile.com/corona एक 2D गेम इंजन है जो Lua स्क्रिप्टिंग भाषा का उपयोग करता है और iOS और Android का समर्थन करता है। कोरोना का विक्रय बिंदु कोड के कुछ पंक्तियों में बहुत तेज़ी से भौतिकी-आधारित खेल लिखने की क्षमता है, और iOS ऐप स्टोर में कोरोना-आधारित गेम की बड़ी संख्या इसकी सफलता का एक वसीयतनामा है। पर्यावरण बहुत दुबला है, जो कुछ लोगों से अपील करेगा। यह एक सिम्युलेटर और डीबगर के साथ आता है। आप अपनी पसंद का टेक्स्ट एडिटर जोड़ते हैं, और आपके पास विकास का माहौल होता है। आधार एसडीके में कोई यूआई घटक शामिल नहीं हैं, जैसे बटन या सूची बॉक्स, लेकिन एक कोरोनायूआई ऐड-ऑन ग्राहकों के लिए उपलब्ध है।

  • कण एसडीके www.particlecode.com खेलों में पृष्ठभूमि के साथ थोड़ा अधिक सामान्य क्रॉस-प्लेटफ़ॉर्म समाधान है। आप MVC एप्लिकेशन मॉडल का उपयोग करके या तो जावा या एक्शनस्क्रिप्ट में लिख सकते हैं। इसमें WYSIWYG UI संपादक के साथ एक ग्रहण-आधारित IDE शामिल है। वर्तमान में हम एंड्रॉइड, iOS, वेबओएस और विंडोज फोन 7 उपकरणों के लिए बिल्डिंग का समर्थन करते हैं। आप वेब के लिए फ्लैश या एचटीएमएल 5 का भी उत्पादन कर सकते हैं। मूल रूप से ऑनलाइन मल्टीप्लेयर सोशल गेम्स, जैसे पोकर और बैकगैमौन के लिए रूपरेखा विकसित की गई थी, और यह जटिल तर्क के साथ 2 डी गेम और ऐप्स के अनुरूप है। फ्रेमवर्क 2 डी ग्राफिक्स का समर्थन करता है और इसमें 2 डी भौतिकी इंजन शामिल है।

ध्यान दें:

आज हमने घोषणा की कि कण कोड को टाइटेनियम के क्रॉस-प्लेटफॉर्म फ्रेमवर्क के निर्माताओं Appcelerator द्वारा अधिग्रहित किया गया है।

...

1 जनवरी 2012 तक, [ कण कोड ] अब आधिकारिक रूप से [ कण एसडीके ] मंच का समर्थन नहीं करेगा ।

स्रोत

  • Airplay SDK www.madewithmarmalade.com एक C ++ फ्रेमवर्क है जो आपको Visual Studio या Xcode में विकसित करने देता है। यह 2 डी और 3 डी ग्राफिक्स दोनों का समर्थन करता है। एयरप्ले iOS, Android, Bada, सिम्बियन, webOS और विंडोज मोबाइल 6 को लक्षित करता है। उनके पास PSP के लिए AirPlay ऐप बनाने के लिए एक ऐड-ऑन भी है। मेरा C ++ बहुत जंग खा रहा है, मैं इसके साथ ज्यादा नहीं खेला हूं, लेकिन यह अच्छा लग रहा है।

वक्र सीखने के संदर्भ में, मैं कहूंगा कि एकता के पास सबसे अधिक सीखने की अवस्था है (मेरे लिए), कोरोना सबसे सरल था, और पार्टिकल और एयरप्ले कहीं न कहीं हैं।

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

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

इसके अलावा, अगर मैं सिर्फ एक सार्वजनिक सेवा की घोषणा कर सकता था - इनमें से अधिकांश उपकरण वास्तव में सक्रिय विकास में हैं। अगर आपको कोई ऐसा ढांचा मिल जाता है जिसे आप पसंद करते हैं, तो हर तरह से प्रतिक्रिया भेजें और उन्हें बताएं कि आपको क्या पसंद है, आपको क्या पसंद नहीं है, और वे विशेषताएं जिन्हें आप देखना चाहते हैं। आपके पास इन उपकरणों के अगले संस्करणों में जाने को प्रभावित करने का एक वास्तविक अवसर है।

उम्मीद है की यह मदद करेगा।


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

प्रत्येक ढांचे के लिए लिंक उपयोगी होंगे
पेट्रस थेरॉन

2
अद्यतन: कण कोड टाइटेनियम के निर्माताओं Appcelerator द्वारा अधिग्रहित किया गया था, इसलिए कण SDK का भाग्य अनिश्चित है। एयरप्ले ने इसका नाम बदल दिया, बल्कि बेवजह "मार्मलेड।"
डॉक्यूडे

15

MonoTouch और MonoDroid लेकिन अब अटैचमेट के उस हिस्से का क्या होगा, किसी का अनुमान नहीं है। बेशक, मोनो समाधानों के साथ आप अभी भी गैर-क्रॉस प्लेटफ़ॉर्म दृश्य बना रहे हैं, लेकिन विचार व्यापार तर्क का पुन: उपयोग किया जा रहा है।

Http://www.xamarin.com/ पर नज़र रखें, यह देखना दिलचस्प होगा कि वे क्या करते हैं।


12

PhoneGap + jQuery मोबाइल में कुछ बहुत सरल बनाने के साथ मेरा अनुभव ठीक था। मैं इसे आईओएस के लिए जल्दी करने में सक्षम था। हालाँकि, यह कुछ परिवर्तन किए बिना मेरे Android फोन पर काम नहीं किया। चित्र लेने और उन्हें एक वेब साइट पर पोस्ट करने के लिए प्रोजेक्ट एक बहुत ही सरल ऐप था। और दिन के अंत में यह एक सच्चे देशी ऐप की तुलना में "क्लंकी" लगा।

मुझे विश्वास नहीं है कि कभी भी आसान क्रॉस प्लेटफॉर्म डेवलपमेंट होगा। मुझे लगता है कि ब्राउज़र उतना ही करीब होगा जितना आपको मिलेगा। PhoneGap जैसा कुछ चुनकर मुझे लगता है कि आप दर्द बिंदुओं के एक अलग सेट के लिए सिर्फ एक दर्द बिंदुओं का व्यापार कर रहे हैं।


7

यदि आप क्रॉस-प्लेटफ़ॉर्म विकास के लिए पूर्ण-विकसित ढांचे का उपयोग नहीं करना चाहते हैं, तो विकल्प के रूप में C ++ पर एक नज़र डालें। iOS पूरी तरह से Objective-C ++ के माध्यम से आपके एप्लिकेशन लॉजिक के लिए C ++ का उपयोग करता है। मुझे नहीं पता कि एनडीके के माध्यम से सी ++ के लिए एंड्रॉइड का समर्थन केवल कुछ प्रदर्शन-महत्वपूर्ण कोड स्निपेट्स के बजाय सी ++ में आपके व्यापार तर्क को करने के लिए अनुकूल है, लेकिन मामले में उपयोग केस अच्छी तरह से समर्थित है, तो आप इसे आजमा सकते हैं।

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

तथ्य की बात के रूप में, सी ++ सबसे व्यापक रूप से समर्थित प्रोग्रामिंग भाषा (सी के अपवाद के साथ) है, और इसलिए अधिकांश बड़े क्रॉस-प्लेटफ़ॉर्म अनुप्रयोगों की मूल भाषा है।


3
Btw, Android वास्तव में सीधे C ++ में लिखी गतिविधियों का समर्थन करने लगता है: developer.android.com/reference/android/app/NativeActivity.html
yeoman

4
NativeActivity से एक कैविएट - कोई जावा एक्सेस (इसलिए कोई 3rd पार्टी लाइब्रेरी इंटीग्रेशन या SDK एक्सेस) नहीं है। इसे कई उद्देश्यों के लिए अनुपयुक्त बनाता है।
rbgrn

6

हालाँकि मैंने अभी-अभी विकास के इस क्षेत्र को देखना शुरू किया है, लेकिन मुझे लगता है कि यह इस बुनियादी अंतर पर उतरता है: कुछ उपकरण मूल कोड को बनाए रखते हैं, और कुछ पोर्ट को मूल ...

उदाहरण के लिए, PhoneGap आपके द्वारा लिखने वाले HTML / CSS / JS कोड को रखता है, और ऐप के रूप में अर्हता प्राप्त करने के लिए इसे पर्याप्त iOS कोड में लपेटता है, जबकि Appcelerator आपको XCode प्रोजेक्ट देता है ... इसलिए यदि आप iOS से परिचित नहीं हैं, तो तो है कि वास्तव में PhoneGap से अधिक आप के लिए किसी भी लाभ प्रदान नहीं होता, लेकिन अगर आप क्या एक सा पता है, कि आप बस थोड़ा अपने बड़े कोडिंग प्रयास के बाद देशी संस्करण tweak करने के लिए अधिक क्षमता दे सकता है।

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

और हाँ, वास्तव में सेब के लिए प्रस्तुत करने के लिए, आपको एक मैक प्राप्त करना होगा, लेकिन अगर यह आपका प्राथमिक कार्य मंच नहीं है, तो आप सस्ते में जा सकते हैं।


3

कैप्पुकिनो या फोनगैप

कभी-कभी यद्यपि शार्टकट खोजने की कोशिश करने से आपका समय नहीं बचता है या आपको एक तुलनीय अंतिम उत्पाद मिलता है।



3

यदि आपने कभी LUA का उपयोग किया है, तो आप कोशिश कर सकते हैं कि कोरोना एसडीके आईओएस और एंड्रॉइड पर चलने वाले ऐप बना सकता है

https://coronalabs.com/

मैंने इसे डाउनलोड किया है और कुछ के आसपास गड़बड़ कर दी है, मुझे लगता है कि सामान्य स्क्रिप्टिंग भाषा की परेशानियों के बिना स्क्रिप्टिंग भाषा सीखने के लिए LUA बहुत आसान है।


2

बैटरटेक भी है जिसका उपयोग हम पिछले 18 महीनों से कर रहे हैं और इसके कई खेल जारी किए हैं। http://www.batterypoweredgames.com/batterytech

सभी C ++, Android और iOS समर्थन, सभी उपयोगकर्ताओं को पूर्ण स्रोत मिलता है। नए v2 में लुआ बाइंडिंग शामिल हैं।


3
5/30/12 के अनुसार: 5 या उससे कम डेवलपर्स के लिए लाइसेंस के लिए $ 200। $ 800 से अधिक के लिए 5. खुला स्रोत परियोजनाओं के लिए इस्तेमाल नहीं किया जा सकता है।
रोजर डाहल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.