2011-12-06 14 views
12

ऐसे कई ऐप्स होना चाहिए जो सर्वर के साथ संवाद करने के लिए डिज़ाइन किए गए हों। मेरा सवाल केवल आईओएस डिवाइस + सर्वर साइड सेवा इंटरैक्शन पर स्थापित ऐप के बारे में है। वेब ऐप वह नहीं है जिसके बारे में मैं बात कर रहा हूं, और इस चर्चा में कोई वेबपृष्ठ शामिल नहीं होना चाहिए। विशिष्ट उदाहरण Instagram और ट्विटर जैसे ऐप्स हैं, जिनमें ऐप और सर्वर के बीच आदान-प्रदान की जाने वाली अधिकांश जानकारी स्ट्रिंग, छवि और इंटीग्रर्स (JSON या XML में लिपटे) जैसी डेटा है, कोई वेबपृष्ठ प्रस्तुति आवश्यक नहीं है।सर्वर/क्लाइंट संरचना आईओएस ऐप विकास के लिए सर्वर कार्यान्वयन पर सलाह?

मेरा प्रश्न होगा: यदि आप एक स्वतंत्र ऐप डेवलपर हैं, और आप किसी भी मौजूदा वेबसाइट एपीआई, डेटाबेस संरचना या एप्लिकेशन के बिना स्क्रैच से ऐसे ऐप को डिज़ाइन कर रहे हैं (इसलिए आप किसी भी मौजूदा एपीआई या डेटाबेस संरचना से सीमित नहीं हैं या आवेदन प्रोटोकॉल), सबसे कुशल दृष्टिकोण क्या होगा?

क्या Sever पक्ष क्या करने की जरूरत हैं:

  • प्राप्त डेटा अनुप्रयोग से भेजते हैं,
  • डिज़ाइन किए गए तर्क वाले डेटा को संसाधित करें;
  • डेटाबेस (जैसे MySQL) के साथ बातचीत;
  • आवश्यक डेटा खनन और विश्लेषण करें --- यह लगातार चल रही सेवा या ऐप क्लाइंट द्वारा अनुरोध किए जाने वाले एक बार कार्य हो सकता है;
  • अनुरोध पर या स्वचालित रूप से डेटा को वापस ऐप पर भेजें;
  • अलग-अलग ऐप क्लाइंट्स के बीच डेटा का आदान-प्रदान या प्रसारण (यानी: समूह चैट रूम और पीयर संदेश के साथ सहकर्मी);

जहाँ तक मुझे के रूप में जानते वहाँ सर्वर साइड लागू करने के लिए 3 स्पष्ट विकल्प हैं:

  • पीएचपी
  • अजगर
  • रूबी ऑन रेल्स

(कृपया के लिए स्वतंत्र महसूस अधिक विकल्प जोड़ें)

मेरे प्रश्न हैं:

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

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

पुनश्च: मैं इस सवाल का धागा अद्यतन करने और इस विषय पर मेरी निष्कर्ष जोड़ने stackoverflow पर अन्य सभी उपयोगकर्ताओं की मदद के लिए रखेंगे। :-) कृपया अपना उत्तर जानकारीपूर्ण, समझने में आसान, और रचनात्मक बनाने का प्रयास करें। मुझे लगता है कि इस धागे के लिए अधिकांश पाठक इस महान समुदाय के नए सदस्य होंगे।

उत्तर

0

यह एक बहुत बड़ा सवाल यह है कि और मुझे नहीं लगता कि एक सर्वश्रेष्ठ उत्तर वहाँ है। यह सबसे अधिक निर्भर करता है कि आप किस चीज की देखभाल करते हैं, जैसे कि विकास प्रक्रिया कितनी जल्दी, कार्यान्वयन कितनी आसानी से,

और कौन सा लोकप्रिय है, कौन सा ठंडा है, मुझे नहीं लगता कि यह वास्तव में समझ में आता है।

मेरी निजी राय में, मैं ASP.NET में अच्छा कर रहा हूँ और मैं Windows सर्वर आसानी से प्राप्त कर सकते हैं, तो मैं एक ASP.NET सेवा डेटा प्रदान करता है के साथ शुरू करेंगे।

और, जारी रखा जाएगा।

1
  • जो एक सर्वर पक्ष को लागू करने के लिए सबसे उपयुक्त विकल्प है?

खैर कि तुम क्या जानते पर निर्भर करता है, वहाँ अन्य

  • अनुप्रयोग प्राकृतिक मानव भाषा/पाठ खोज, विश्लेषण और डेटा माइनिंग पर गहन रूप से ध्यान केंद्रित कर रहा है, तो के चुनाव से एक के लिए कारण है , कौन सा सबसे अच्छा विकल्प है? मैं सुना है कि पाइथन इस क्षेत्र में बहुत अच्छा कर रहा है।

यह आपके पहले प्रश्न पर प्रतिबिंबित होगा, आप अपनी जरूरतों पर भाषा चुनते हैं। इस प्रकार यदि अजगर इसे आसान बनाता है तो उसे चुनें।

  • डेटाबेस विकल्पों पर कोई सलाह? मैं अब के लिए MySQL का उपयोग कर रहा हूं, और मैं पाया कि यह मेरे उद्देश्यों के लिए काफी शक्तिशाली है, मैंने सुना है कि ट्विटर कैसंद्रा में स्विच कर रहा है। क्या यह शुरू करना बहुत मुश्किल होगा?

फिर से उत्तर देने में आसान नहीं है, क्योंकि इसे सभी आवश्यकताओं के साथ करना है। लेकिन कोई भी SQL सर्वर करेगा। कैसंद्रा वेबसाइट पर पहुंचने के लिए "प्रदर्शन समझौता किए बिना स्केलेबिलिटी और उच्च उपलब्धता" के लिए है। क्या आपको लगता है कि आपको webservice कई अनुरोध मिलेगा, तो यह विचार करने का विकल्प हो सकता है।

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

यह फिर से उत्तर दिया जा रहा है जब आप SQL सर्वर और सर्वर भाषा चुनते हैं।

  • एक नया प्रोग्रामर उनमें से गैर में कोई अनुभव नहीं है, जो एक आप वह वह साथ शुरू करने के लिए सुझाव देते हैं/है?

कुछ आसान के साथ शुरू करें, आप वास्तव में यहां एक अंग पर बाहर जा रहे हैं।

  • वहाँ किसी भी अच्छा संदर्भ सामग्री या इस तरह के संदर्भ हम से सीख सकते हैं में सर्वर तरफ नमूना कोड है?

उचित रूप से कुछ हैं, लेकिन आपको वास्तव में छोटे से शुरू करना चाहिए और वहां से काम करना चाहिए।


ट्विटर रेल ऐप्लिकेशन पर किसी रब के रूप में बाहर शुरू किया और मापनीयता और उपलब्धता जो गहरे लाल रंग का वास्तव में अच्छा ar नहीं है पर काम कर रहा है (कि मेरे व्यक्ति की राय है)। या फेसबुक पर देखो, उन्होंने PHP को तेजी से चलाने के लिए सी कंपाइलर को एक php लिखा है।

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

और चूंकि आप बताते हैं कि आप प्रोग्रामिंग के लिए नए हैं और अधिक काट नहीं सकते हैं तो आप चबा सकते हैं।

+0

वास्तव में त्वरित प्रतिक्रिया के लिए धन्यवाद। :) आपके उत्तरों निश्चित रूप से बताते हैं कि इस बड़े विषय पर मुझे इतनी छोटी जानकारी क्यों मिल सकती है। शायद चमकदार ने कहा, मैंने एक बहुत बड़ा सवाल पूछा। साझा करने के लिए धन्यवाद और मैं इस विषय पर अपने निष्कर्ष अपलोड करूंगा। अब मैं PHP + MySQL से शुरू कर रहा हूं, अब तक इतना अच्छा है। जैसा कि आपने कहा था, जब मैं बाधाओं को मारना शुरू करता हूं, तो मैं इस विषय के बारे में और जानूंगा। – horacex

4

क्या आप वाकई अपना खुद का एपीआई विकसित करने के लिए पैसा खर्च करना चाहते हैं & अपना खुद का एपीआई विकसित करना चाहते हैं? बहुत सारे एमबीएएस (एक सेवा के रूप में मोबाइल बैकएंड) प्रदाता आज QuickBlox, Parse, StackMob, जो उपयोग करने के लिए तैयार हैं और उनके पास कस्टम कस्टम ऑब्जेक्ट्स एपीआई और कुछ पूर्वनिर्धारित मॉड्यूल हैं। उनके पास बड़े कोटा के साथ बहुत अच्छी योजनाएं हैं। उनमें से कुछ ऐसे क्विकब्लॉक्स में एंटरप्राइज़ प्लान है - इसलिए आप अपने उद्देश्य के लिए लाइसेंस खरीद सकते हैं और वे सर्वर टीम अपडेट सर्वर खरीद सकते हैं।

तो, मैं सलाह देता हूं कि आप अपना सर्वर विकसित न करें और एमबीएएस बाजार के बारे में सोचें।

बस अपनी समस्या के बारे में - मैं QuickBlox Custom Objects code sample और Custom Objects API पर भी अनुशंसा कर सकता हूं। कस्टम ऑब्जेक्ट मॉड्यूल आपको आवश्यक किसी भी डेटा संरचना (स्कीमा) को परिभाषित करने के लिए लचीलापन प्रदान करता है। स्कीमा प्रशासन पैनल में परिभाषित किया गया है। स्कीमा को कक्षा कहा जाता है और फ़ील्ड नाम और उनके प्रकार होते हैं। मुझे लगता है कि आपको यही चाहिए।