2014-07-15 5 views
11

हमारे पास रेल वेबसाइट पर रूबी है जो जेएस टेम्पलेट्स के साथ रिमोट अजाक्स में निर्मित रेल का उपयोग करता है। हमारे पास नई आवश्यकताएं हैं जो हमें एक पृष्ठ एप्लिकेशन की दिशा में ले जा रही हैं जहां पृष्ठ के पूरे ब्लॉक और कॉलम AJAX आधारित होंगे।जेएस ढांचे का उपयोग कब करें?

क्या हमें रेल अजाक्स आधारभूत संरचना का उपयोग करना जारी रखना चाहिए या कोणीय जैसे जेएस ढांचे को शामिल करना शुरू करना चाहिए? दूसरे शब्दों में जेएस ढांचे की आवश्यकता निर्धारित करने के लिए सिद्धांत मूल्यांकन मानदंड क्या हैं?

उत्तर

4

व्यक्तिगत रूप से, मुझे लगता है कि एक बार लगता है आपके पास AJAX प्रतिक्रियाएं हैं जिन्हें पृष्ठ के कई गैर-आसन्न क्षेत्रों को संभावित रूप से अपडेट करने की आवश्यकता है, यह निश्चित रूप से जेएस ढांचे को पेश करने का समय है। सर्वर जेनरस्क्रिप्ट जेनरेट किया गया है (जैसे कि रेल सहायक आपको क्या देते हैं) बहुत ही सरल चीजों के लिए सुविधाजनक है, लेकिन एक बार चीजें इससे अधिक जटिल हो जाती हैं, तो आप रेलवे से जेएसओएन डेटा लौटने से बेहतर होंगे और सामने वाले आंकड़े से बाहर निकलेंगे पृष्ठ के कुछ हिस्सों को अद्यतन किया जाना चाहिए।

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

एक चीज आपको यह तय करने की आवश्यकता होगी कि एक रूबीगेम के माध्यम से जेएस फ्रेमवर्क जोड़ना है या बस इसे डाउनलोड करना है और इसे अपनी संपत्ति पाइपलाइन में जोड़ना है। पहला तरीका आसान हो सकता है, लेकिन यह आपको मणि के साथ शामिल संस्करण में भी जोड़ देगा, जो आपको किसी बिंदु पर पीछे कुछ संस्करण छोड़ सकता है। अगर मैं एक नया ऐप शुरू कर रहा था, तो शायद मैं किसी भी रेल के जावास्क्रिप्ट हेल्पर्स का उपयोग नहीं करता, और शायद संपत्ति पाइपलाइन भी नहीं, और इसके बजाय ऐसा करने के लिए अन्य टूल का उपयोग करना चाहता हूं। यह लगभग 'वर्चस्व को अलग करना' के साथ अधिक काम करता है, बनाम 'बैटरी शामिल' ट्रेडऑफ।

+0

कई गैर-आसन्न क्षेत्रों को अपडेट करना एक प्रमुख मानदंड की तरह लगता है। यह भी आश्चर्य कीजिए कि भारी जेएस टेम्पलेट्स के लिए रेल का उपयोग करना समझ में आता है कि रेल डैशबोर्ड जैसे बड़े क्षेत्रों के लिए सेवा कर रहा है। यदि जेएस ढांचे को टुकड़ा भोजन शामिल किया गया है, तो एपीआई बैकएंड कुछ जटिल हो सकता है? – Phil

+1

यह दिलचस्प है कि किसी ने 'एम्बरजेएस' के बारे में उल्लेख नहीं किया ... – Askar

1

कोणीय जैसे जावास्क्रिप्ट ढांचे एक अच्छा विचार है जब आप अपने डेटा स्रोत के लिए अधिक बैकएंड JSON API का उपयोग कर सकते हैं, रेल कोड को हल्का रखते हुए। यदि आपको AJAX, कोणीय या यहां तक ​​कि बैकबोन के माध्यम से बहुत पीछे और आगे संचार करना पड़ रहा है, तो यह काफी साफ हो सकता है। यह वास्तव में नीचे आता है कि आप किस प्रकार का एप्लिकेशन बना रहे हैं, आप कैसे सोचते हैं कि फ्रंट एंड को संरचित किया जाना चाहिए, और यदि कोई ढांचा उसमें मदद कर सकता है।

चूंकि आपके पास पहले से ही js.erb पर रिमोट सच्चाई में आपका कोड है, तो आप इसके साथ रह सकते हैं। अगर मैं एक बड़ा दर्द बन रहा हूं तो मैं वास्तव में इस बिंदु पर वास्तव में स्विच करूंगा। एक मौजूदा ऐप में बदलते ढांचे/वास्तुकला के रूप में काम का एक उचित काम हो सकता है। विशेष रूप से यदि आप कोणीय के लिए नए हैं।

हाल ही में मैंने काम पर एक परियोजना पर काम किया जो अधिक ग्राहक पक्ष भारी होने वाला था। मैं कुछ टेम्पलेट प्रतिपादन के लिए हैंडलबार का उपयोग कर समाप्त हुआ, और फिर केवल कुछ सिंगलटन ऑब्जेक्ट्स। इसका कारण यह था क्योंकि हम बहुत अधिक डेटा नहीं बना रहे हैं। एजेक्स अनुरोध के साथ एक कुकी में बस कुछ जोड़े खेले जाते हैं, और फिर डेटा के लिए एक JSON अंत बिंदु सामने वाले & उन सिंगलेट्स का उपयोग करते हैं।

+0

तो एक और मानदंड यह है कि यदि HTML फॉर्म का उपयोग करके बहुत सारे डेटा और प्रमुख डेटा प्रविष्टि इंटरैक्शन हैं तो एक जेएस ढांचा जाने का सबसे अच्छा तरीका होगा? – Phil

0

यदि आप एकल पृष्ठ चलाते हैं तो रेल बैकएंड जेसन एपीआई समाधान के रूप में अभी भी महान हैं। जब आप तुलना परीक्षण करते हैं तो node.js काफी तेज हो जाएगा, लेकिन क्या यह रूबी बनाम जावास्क्रिप्ट, आदि जैसे विकास के आनंद के लिए इसका आदान-प्रदान करता है .. यदि आपको जेएस कोड में फिर से लिखने/विकसित करने के लिए दो बार और समय चाहिए, तो क्या यह मायने रखता है। ..

यदि परियोजना किसी अन्य "एफबी या यूट्यूब चीज़" की तरह नहीं है, तो मैं ईमानदारी से सोचता हूं कि रेल लंबे समय से पहले उद्यम तैयार ढांचा बन गया है। यह नई समाप्ति कहानी है लेकिन आशा है कि आपको मेरा अंक मिल जाएगा। चीयर्स

0

मैं का प्रयोग करेंगे: rabl मणि या इसी तरह के

  1. एपीआई रेल।
  2. कोणीयजेएस।

आप समय एपीआई के निर्माण का निवेश करेगी लेकिन, सामने के छोर कोणीय की तरह एक ढांचे के साथ आसान हो जाएगा (मैंने कहा, आवेदनों की इस तरह, एक पृष्ठ अनुप्रयोगों के लिए)

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