2012-09-25 18 views
6

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

नोड के साथ कुछ प्रयोग चलाएं, और फिर जब मैं उपकरण और संसाधनों का उपयोग करने के लिए खोज करता हूं, तो मैं वहां बहुत सारी चीजों से अभिभूत हूं।

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

तो ऐप ढांचे का उपयोग करके NodeJS से अधिक चलाएगा।

मैंने knockout.js, क्लाइंट-साइड लाइब्रेरी को स्वचालित यूआई रीफ्रेश जैसे रीयलटाइम सामान प्रदान करने के लिए पढ़ा, और मुझे लगता है कि मैं इसे jQuery के साथ संयोजित कर सकता हूं। इसके अलावा, मुझे socket.io मिला। लेखक कहते हैं: Socket.IO aims to make realtime apps possible in every browser and mobile device, blurring the differences between the different transport mechanisms. It's care-free realtime 100% in JavaScript. तो socket.io संगतता के बारे में है। backbone.js के बारे में क्या? यह कहां जाता है?

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

अग्रिम

उत्तर

7

धन्यवाद यह ग्राहक के पक्ष (ब्राउज़र) पुस्तकालयों और jQuery जैसी प्रौद्योगिकियों, रीढ़ की हड्डी के सभी से आप Node.js सर्वर साइड पुस्तकालयों को अलग करने के लिए उपयोगी हो सकता (के माध्यम से NPM आदि ...) , नॉकआउट इत्यादि ... जब आप इसके बारे में सोचते हैं। यहां तक ​​कि socket.io जो ब्राउज़र और सर्वर (मतदान से बचने के लिए) के बीच एक सतत सॉकेट कनेक्शन का खुलासा करता है, यह निर्धारित नहीं करता कि आप किस क्लाइंट साइड टेक्नोलॉजीज का उपयोग करते हैं।

अपने सर्वर से एक ठोस वेब-एपीआई (random example) को उजागर करने पर ध्यान केंद्रित करें और आपकी क्लाइंट प्रौद्योगिकियों को सर्वर पर कोई प्रभाव नहीं पड़ता है ... एकमात्र जगह जो वे छेड़छाड़ करते हैं वह है यदि आप जेड जैसी दृश्य तकनीक का उपयोग कर रहे हैं। यह एक शुद्ध अलगाव का विकल्प भी है जहां सर्वर सिर्फ क्लाइंट फाइलों की सेवा कर रहा है और आपका क्लाइंट एक अच्छा सर्वर वेब एपीआई कॉल करने वाला एक मोटा जावास्क्रिप्ट एप्लिकेशन (नॉकआउट, jquery आदि ...) का उपयोग कर रहा है।

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

मेरे 2 सेंट (और कुछ असहमत हो सकते हैं)। सर्वर पर नोड के साथ शुरू करें और अपना भंडारण चुनें (mongoDb आदि ...)। solid RESTful (hypermedia) API डिज़ाइन करें - क्लाइंट की परवाह किए बिना एक अच्छी वेबपी। फिर एक बुनियादी एचटीएमएल/सीएसएस/जेएस, शायद jquery क्लाइंट से शुरू करें और नॉकआउट इत्यादि जैसी चीजें जोड़ें ... जैसे ही आप अपने क्लाइंट कौशल का विस्तार करते हैं। इससे आपको अपनी क्लाइंट टेक्नोलॉजीज को आपके सर्वर से स्वतंत्र करने की अनुमति मिल जाएगी क्योंकि नई तकनीक हवाएं बदलती हैं (और वे करेंगे)।

एक अच्छी तरह से डिजाइन प्रणाली की पहचान है कि - सब कुछ :)

आशा है कि स्पष्ट में मदद करता है कोहरे :)

0

आप कर सकते हैं में से कुछ को फिर से लिखने के बिना componets/उप-प्रणालियों की जगह करने की क्षमता यदि आप रीयल-टाइम जावास्क्रिप्ट ऐप्स पर ध्यान केंद्रित कर रहे हैं तो उल्का देखें: http://meteor.com/

संबंधित मुद्दे