2012-12-10 26 views
10

मैं बैकएंड पर Node.js + Express.js + socket.io.js का उपयोग करके एक वेबपैप बना रहा हूं।क्या कोई क्लाइंट-साइड जावास्क्रिप्ट फ्रेमवर्क अच्छी तरह से Node.js + Express.js + socket.io.js के साथ एकीकृत करता है?

क्या लोकप्रिय सामने के अंत चौखटे (चपलता, कोणीय, रीढ़, बंद, डोजो, एंबर, GWT, jQuery, knockback, नॉकआउट, रीढ़, YUI, आदि) "वास्तविक समय के लिए इस बैकएंड साथ अच्छी तरह से एकीकृत के किसी भी " अनुप्रयोगों?

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

मुझे पता है कि यह सब सूचीबद्ध ढांचे के साथ किया जा सकता है। मुझे विशेष रूपरेखाओं की विशेषताओं में दिलचस्पी है जो फ्रेमवर्क को अन्य ढांचे की तुलना में नोड-आधारित बैकएंड के साथ बेहतर एकीकृत करने में मदद करेंगे।

+1

वेबसाकेट शांत और सब कुछ हैं, लेकिन यदि आप इसे सही करते हैं तो आप सादे पुराने HTTP से "साधारण" अनुप्रयोगों के लिए बहुत अधिक प्रदर्शन प्राप्त कर सकते हैं। – Pointy

+0

मैं कह सकता हूं कि बैकबोन, नॉकआउट और कैनजेएस यहां एक अच्छी नौकरी करते हैं। मुझे नहीं लगता कि यदि आप एक RESTfull JSON बैकएंड का उपयोग करते हैं तो इनमें से किसी भी के साथ काम करने में कोई अंतर है। – rcdmk

+0

सेकेंडिंग @ पॉइंटी - आपका एप्लिकेशन वेबसाइकिलों के लिए एक अच्छा उपयोग केस हो सकता है, लेकिन कम से कम आपके प्रश्न में वर्णित परिदृश्य अच्छे ol 'xmlhttprequest के लिए नौकरी की तरह लगता है। यह निश्चित रूप से आपके प्रश्न के बिंदु के बगल में है, बस इसे जाना और वैसे भी कहना था। – jevakallio

उत्तर

1

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

यदि आपको अपने ऐप का उपयोग करने के लिए प्रमाणीकरण की आवश्यकता है, तो रीडबोन या TODOMVC पर दिखाए गए ढांचे में से एक एक अच्छा समाधान हो सकता है।

आमतौर पर सर्वर पक्ष पर socket.io का उपयोग करते समय, आप इसे क्लाइंट साइड पर भी उपयोग करेंगे।

3

एम्बर भी वास्तव में फिट है।

चार्ल्स जोली के convoy देखें जो क्लाइंट-साइड संपत्ति एकीकरण के लिए बहुत उपयोगी हो सकता है।

एनपीएम का एम्बर पैकेज भी नमूना ऐप के साथ आता है जो एक अच्छी शुरुआत हो सकती है (convoy पर आधारित)।

1

मुझे लगता है कि angular.js वास्तविक समय के अनुप्रयोगों के लिए सबसे अच्छा है।

  • डाटा बाध्यकारी और निर्भरता इंजेक्शन
  • परीक्षण उपकरण
  • आसान बाकी

यहाँ some information ढांचे के बारे में है।

+0

मैंने पाया कि कोणीय अभिव्यक्ति पर बहुत कदम उठा रहा है - नियंत्रित रूटिंग इत्यादि (इसलिए एक्सप्रेस केवल स्थिर सेवा करने के लिए है) - यह अजीब पाया लेकिन यह मैं हूं। – electblake