2012-02-08 10 views
45

के लिए फोन गैप बनाम मोनोटouch हम मोबाइल उपकरणों के लिए डेटा गहन आवेदन विकसित करना चाहते हैं। हमारे केंद्रीय समस्याडेटा गहन ऐप

  1. हम ग्राहक
  2. पर काफी डेटा का एक बहुत स्टोर करने के लिए क्लाइंट ऐप के काम करने के लिए चाहता है होगा ऑफ़लाइन
  3. हमारे कौशल सेट बहुत ज्यादा वेब विकास सी # ASP.Net है। निश्चित रूप से नहीं उद्देश्य सी

हम देव

  1. वेब अनुप्रयोग HTML5 स्थानीय संग्रहण ऑफ़लाइन एप्लिकेशन संचय को लाभ का उपयोग कर के लिए तीन संभावनाएं के बारे में सोचा है। हम स्थानीय स्टोरेज के लिए 5 एमबी सीमा पर हैं लेकिन यह कुछ ब्राउज़रों के लिए 2.5 एमबी तक हो सकता है

  2. वेब एप्लिकेशन को PhoneGap के माध्यम से मूल एप्लिकेशन बनाने के लिए। यहां बड़ा लाभ यह है कि हम भंडारण के लिए फ़ाइल सिस्टम का उपयोग कर सकते हैं। एप्पल

  3. हम Android और iOS के लिए MonoTouch का उपयोग करके ऐप बाहर का निर्माण करने के एक सदस्यता अनुप्रयोग के लिए राजस्व का 30% चक - नीचे की ओर यह (iOS के लिए विशेष रूप से) App स्टोर के माध्यम से जाना होगा कि है। अच्छा - सी # और नेट हम यह कर सकते हैं। बुरा - कोई ब्लैकबेरी

प्रश्न

मैं इस उदाहरण में PhoneGap से अधिक MonoTouch का उपयोग कर के किसी भी वास्तविक लाभ को देखने के लिए संघर्ष कर रहा हूँ। वे क्या हैं? क्या वे कोई हैं?

इस उदाहरण में एक उदाहरण के रूप में यह फ़ाइल सिस्टम पर डेटा को सहेजने के लिए वास्तव में उपयोगी होगा लेकिन मेरा मानना ​​है कि फ़ोन अंतर File object के माध्यम से ऐसा कर सकता है। जाहिर है मोनो टच System.IO का लाभ उठाएगा।

ऐसे उदाहरण हैं जहां मोनो टच में निश्चित अतिरिक्त कार्यक्षमता है - विशेष रूप से ऐसे कार्यों जो मोबाइल देव के लिए उपयोगी हैं उदा। भौगोलिक स्थान या कैमरा प्रकार के कार्यों? या फोन अंतराल में इन सभी को कवर किया गया है।

चीकी अतिरिक्त प्रश्न

क्या कोई अन्य विकल्प मैं चूक गए या तीन दृष्टिकोण मैं रेखांकित किया है कि मैं के बारे में भूल गए हैं के लिए किसी भी अन्य प्रमुख लाभ/नुकसान है?

हर किसी की विशेषज्ञता के लिए धन्यवाद

+2

आप एडोबफ्लेक्स (https://www.adobe.com/de/products/flex.html) पर एक नज़र डाल सकते हैं। जो देशी आईओएस-बाइनरी को संकलित करने में सक्षम होने का भी दावा करता है। – basti

+0

@chiffre। धन्यवाद - लेकिन इस्तेमाल की जाने वाली भाषा क्या है। यह एक्शनस्क्रिप्ट की तरह दिखता है, तो यह एक फ्लैश संस्करण की तरह है। क्या वह सही है? –

+0

यह एक्शनस्क्रिप्ट और एमएक्सएमएल है। जब तक आप केवल पूर्ववर्ती नियंत्रणों का उपयोग करते हैं, तब तक सब कुछ आसान है। फ्लैशबिल्डर का 60-दिन का परीक्षण है, इसलिए आप इसे आज़मा सकते हैं।मैं अपने उपयोगकर्ता नियंत्रण/घटकों को बनाने की कोशिश करके थोड़ा सा अटक गया हूं। – basti

उत्तर

40

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

हम मोनोड्रॉइड का उपयोग कर विंडोज फोन और एंड्रॉइड को पोर्ट करने की प्रक्रिया में हैं।

यह मेरे बॉस कि MonoTouch तरह से आगे था समझाने के लिए कुछ समय लिया, और हम कुछ अलग अलग उत्पादों की कोशिश की पहले से jQuery मोबाइल, ExtJS और Obj सी

बार मैं समझाने के लिए उसे था कोशिश कर रहा था सहित अटैचमैट अधिग्रहण का समय और यह कई बार देखा गया, जैसे मोनो टच बर्बाद हो गया था। सौभाग्य से हमारे लिए (मुझे), ज़मरिन आग से फीनिक्स की तरह गुलाब, और उन्होंने आज मोनो * विकसित करना जारी रखा है।

सी # डेवलपर (और मोनो उत्साही) के रूप में ओब्जे सी या एचटीएमएल/जावास्क्रिप्ट में से कोई भी मुख्य जीत यह थी कि मैं काम पूरा करने के लिए सी # का उपयोग कर सकता था। दस्तावेज़ीकरण बहुत अच्छा था, और जब डॉको ने काफी कटौती नहीं की (हाल ही में अपडेट किया गया) समुदाय ने किया था।

आईआरसी चैनल बहुत सक्रिय है, Xamarin कर्मचारियों और सामुदायिक प्रचारकों हमेशा एक समस्या में अंतर्दृष्टि या सहायता प्रदान करने के इच्छुक हैं। मेलिंग सूचियां हैं।

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

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

उद्देश्य बने रहने के लिए, मेरे लिए मोनो टच का 2 'विपक्ष' रहा है कि आपको अभी भी ओबीजेसी पढ़ने में सक्षम होना चाहिए (हालांकि, tbh, मैं इसे एक con के रूप में नहीं देखता ... एक के रूप में 'सी #' डेवलपर मुझे किसी भी तरह की भाषाओं को पढ़ने और लिखने में सक्षम होना चाहिए) और तथ्य यह है कि, ऐतिहासिक रूप से, मोनो डेवलप थोड़ा सा गड़बड़ रहा है। प्रमुख कीड़े को स्क्वैश किया गया प्रतीत होता है और, यह एक ओपन सोर्स प्रोजेक्ट होने के साथ, आप हमेशा उन्हें ठीक कर सकते हैं और बाकी की मदद कर सकते हैं!

अपनी चिंताओं का जवाब करने के लिए:

  1. हम सी # में नेट की

उपयोग System.IO कक्षाएं ग्राहक पर काफी डेटा का एक बहुत स्टोर करने के लिए होगा। आप इनमें से अनिश्चित हैं, MSDN उदाहरण के अधिक संख्या (एमटी छुपाता फ़ाइल भंडारण के आईओएस कार्यान्वयन)

  1. ग्राहक ऑफ़लाइन काम करने के

वे सभी ऐसा कर सकते हैं एप्लिकेशन चाहता है, लेकिन एक है मूल ऐप हमेशा मेरी राय में बेहतर महसूस करने जा रहा है।

  1. हमारा कौशल सेट बहुत अधिक वेब विकास सी # एएसपी.Net है। निश्चित रूप से उद्देश्य सी

मोनो टच सी # - अपनी ताकत के लिए खेलें और सप्ताहों में ऐप करें, महीनों में नहीं!

मेरी 2 पैसा! मैं बार-बार एक ही मार्ग का चयन करने में संकोच नहीं करूंगा।

+0

अच्छा जवाब। आपके लिए एक सवाल, जब मोनोड्रॉइड पर पोर्टिंग करते हैं, तो मुझे लगता है कि आपको यूआई कोड के साथ फिर से शुरू करना होगा? लेकिन आप व्यापार तर्क साझा कर सकते हैं? – ColinE

+0

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

+0

@JD यह एक अच्छा जवाब है। इसके लिए धन्यवाद, यह वास्तव में किसी के असली दुनिया के अनुभव में हुक करने के लिए उपयोगी है। फ़ाइल सिस्टम और System.IO के उदाहरण के साथ - फोन अंतराल आपको फ़ाइल ऑब्जेक्ट के साथ समान नहीं देता है। मोनो टच की तुलना में फ़ोन अंतर में उल्लेखनीय कार्यात्मक अंतराल है? वे लोग जो व्यावहारिक अंतर लाएंगे? या वास्तव में यह लाभ है कि आप देव के लिए जावास्क्रिप्ट की बजाय सी # का उपयोग कर रहे हैं जो आसान होगा (कम से कम हमारे लिए)। और निश्चित रूप से आपको एक रैपर –

14

मैं PhoneGap थोड़ी देर के लिए अब (WP7 के पर) का इस्तेमाल किया है, लेकिन MonoTouch का प्रयोग नहीं किया, फिर भी मैं एक अनुभवी सी #/सिल्वरलाइट डेवलपर हूँ।

MonoTouch के कुछ फायदे:

  • एक देशी यूआई में आप कोड के परिणाम, सभी प्लेटफार्मों पर सबसे अच्छा अनुभव
  • सी # एक 'उद्यमी शक्ति' प्रोग्रामिंग भाषा है दे रही है।यह डेटा गहन अनुप्रयोगों के विकास के लिए उपयुक्त है
  • आपके वर्तमान कौशल सेट आपको अच्छी तरह से सेवा देंगे
  • ऐप स्टोर के माध्यम से numerous applications written with MonoTouch उपलब्ध हैं।

MonoTouch के कुछ नुकसान:

  • आप सी # कोड फिर से iPhone एपीआई, इसलिए Android के लिए बंदरगाह के लिए लिखते हैं, आप MonoDroid के लिए एक अलग यूआई परत की आवश्यकता होगी।

PhoneGap के लाभ:

  • यह समर्थित OS के की पूरी रेंज भर में काफी परिपक्व ढांचे की तरह लग रहे करने के लिए, numerous applications written using PhoneGap के साथ शुरू किया गया है।
  • फोनगैप
  • के लिए अच्छा सामुदायिक समर्थन है यह HTML5 का उपयोग करता है, जो कई भविष्य की तकनीक के रूप में देखते हैं। यह एक व्यापक विवरण है, हालांकि, अधिकांश बड़े खिलाड़ी (माइक्रोसॉफ्ट, एडोब, ...) इसका समर्थन कर रहे हैं।

PhoneGap का नुकसान:

  • यह जावास्क्रिप्ट most misunderstood language in widespread use का उपयोग करता है, शायद!
  • यूआई HTML में लिखा गया है। jQuery Mobile जैसे ढांचे के सर्वोत्तम प्रयासों के बावजूद यह कभी देशी महसूस नहीं करेगा।
  • क्योंकि इसमें एक सतत API प्रदान करने के लिए प्लेटफ़ॉर्म विशिष्ट 'शिम' कोड है, तो आपको प्लेटफ़ॉर्म-विशिष्ट समस्याएं मिलेंगी। हालांकि, मुझे पता चला है कि फोनगैप टीम इन्हें तेजी से ठीक कर देती है।

संक्षेप में, एक कठिन विकल्प!

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

+0

उत्तर के लिए धन्यवाद। बहुत सूचनाप्रद। मैं मोनो टच के बारे में पूछ रहा हूं http://xamarin.com/monotouch moncross नहीं - क्या आपका मतलब मोनो टच - क्या यह सिर्फ एक टाइपो है? –

+0

हां - मोनो टच :-) – ColinE

+0

@ कोलिने: क्या आपने कभी फोनगैप के साथ डेटा-गहन ऐप देखा है? मुझे इस विषय में भी दिलचस्पी होगी, लेकिन मैं जो कुछ भी पा सकता हूं वह "आसान" ऐप्स हैं। – basti

2

मोनो टच की एक नई रिलीज है जो कल बाहर आई (8 फरवरी, 2012) - 5.2। आईओएस ऐप्स को आसान और तेज़ बनाने के लिए कई नई विशेषताएं। इसके बारे में विवरण यहां से पहुंचा जा सकता है: http://blog.xamarin.com/

एक बात जो मोनो टच को विशेष रूप से रोचक तकनीक बनाती है वह कुछ सुंदर धुन परिष्कृत ऐप्स विकसित करने की क्षमता है जो इंटरनेट कनेक्टिविटी की आवश्यकता के बिना चल सकती हैं। यह एक बड़ी बात हो सकती है।