2012-06-27 22 views
5

नहीं है मैंने अंगुलरजेएस और बैकबोन.जेएस को देखा है, दोनों महान ढांचे की तरह दिखते हैं, हालांकि मेरा मौजूदा कोड बेस एमवीसी पैटर्न का उपयोग नहीं करता है। उन दोनों ढांचे में आपको या तो एमवीसी पैटर्न का पालन करने के लिए स्क्रैच से शुरू करने या अपने पूरे कोड बेस को दोबारा शुरू करने के लिए मजबूर किया जाता है।एक जावास्क्रिप्ट ढांचे की तलाश है जो टेम्पलेटिंग और डेटा बाध्यकारी प्रदान करता है जो एमवीसी

लगभग सभी डेटा डेटा myobject.prototype.myfunction = ... के साथ कस्टम ऑब्जेक्ट्स है, फिर जेएसओएन से/से क्रमबद्ध किया गया है और सर्वर और jQuery टेम्पलेट्स को प्रस्तुत करने के लिए संग्रहीत किया गया है।

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

तो musts:

  • jQuery संगत
  • अंत परीक्षण योग्य
  • डेटा बाइंडिंग
  • उपयोग मौजूदा जावास्क्रिप्ट वस्तुओं
  • प्रमुख पुनर्रचना की आवश्यकता नहीं है समाप्त करने के लिए हो सकता है

पुनश्च अगर कोणीय या बैकबोन की मेरी राय बीमार है, तो कृपया मुझे सही दिशा में इंगित करें।

+0

क्या आपने http://api.jquery.com/jquery.tmpl/ पर देखा है? – Lance

+1

jquery.tmpl को बंद कर दिया गया है – Dimitri

+1

http://knockoutjs.com/ के बारे में कैसे? –

उत्तर

3

Data Link प्लगइन को jQuery टेम्पलेट्स के साथ उपयोग करने के लिए डिज़ाइन किया गया था, हालांकि दोनों अब समर्थित नहीं हैं। कोड, और उदाहरण, परियोजना के github पृष्ठ पर पाए जा सकते हैं।

के रूप में बताया गया है, लेखक jsViews

Knockout.JS नामक एक नई परियोजना के साथ इन की जगह करने की योजना एक लोकप्रिय डेटा-बाइंडिंग रूपरेखा है कि मूल रूप से ध्यान में jQuery टेम्पलेट के साथ डिजाइन किया गया है। यह अभी भी उनका समर्थन करता है, हालांकि इसने अपने स्वयं के टेम्पलेट सिस्टम को लागू किया है। कार्रवाई में नॉकआउट और jQuery टेम्पलेट्स के डेमो के लिए स्टीव सैंडर्सन की बिजली की बात के video देखें।

+1

मैं बस सभी को बताना चाहता था, आखिरकार मैंने जो फ्रेमवर्क इस्तेमाल किया वह Knockout.js था। मैं इसके साथ बेहद खुश हूं। यह सही नहीं है लेकिन मुझे लगता है कि यह अन्य ढांचे के बाद बेहतर है और सीमाएं हैं। यह अच्छी तरह से प्रलेखित है, समुदाय में इसकी अच्छी समझ है और यह मेरे लिए पूरी समझ में आता है। मुझे पता है कि वे इसे एमवीवीएम या कुछ बीएस कहते हैं, उन सभी को अनदेखा करें और बस उदाहरणों में कूदें और इसका उपयोग शुरू करना शुरू करें बहुत जल्दी हो जाएगा। – ethermal

3

प्यार jsRender और jsViews

यह वास्तव में jquery.tmpl का एक कांटा है। वही लेखक वे अभी भी पूर्व रिलीज हैं लेकिन नए मानक बन रहे हैं और उम्मीद है कि भविष्य में कभी-कभी jquery पर फिर से बदल दिया जाएगा।

+0

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

+0

हां, मैंने उत्पादन कोड में अन्य प्री-बीटा उत्पादों का उपयोग किया है। उदाहरण के लिए एफजी-बटन जो jquery.button में घायल हो जाते हैं। मुझे रीराइटिंग कोड पर कोई फर्क नहीं पड़ता। मुझे पता है कि यह कष्टप्रद है लेकिन प्यार अग्रणी है :) इसके अलावा, मुझे बहुत अच्छा लगा है कि यह उसी भाग्य का सामना नहीं करेगा। – Dimitri

0

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

मुझे पता है कि लिंक्डइन Dust.js का उपयोग करता है, जिसे जावास्क्रिप्ट टेम्पलेटिंग पुस्तकालयों के extensive evaluation के बाद चुना गया था।

2

टेम्पलेट बाध्यकारी के लिए एक ढांचा अज्ञेय समाधान के लिए चेकआउट Rivets.js। जबकि रिवेट्स का उपयोग अधिकांश लोकप्रिय एमवीसी ढांचे/सूक्ष्म ढांचे के साथ किया जा सकता है - यदि आप किसी भी एमवीसी ढांचे का उपयोग नहीं कर रहे हैं, तो यह भी काम करना आसान है। हालांकि Rivets.js प्रति templating भाषा के लिए समर्थन में निर्मित के साथ नहीं आता है।

यदि आप वास्तव में JQuery.tmpl का उपयोग करना जारी रखना चाहते हैं तो मैं KnockoutJS पर एक नज़र डालने के लिए आपको (ऊपर दिए गए कुछ लोगों की तरह) अनुशंसा करता हूं। ध्यान रखें कि यदि आप नॉकआउटजेएस पर स्विच करते हैं, तो प्रदर्शनत्मक उदाहरणों के पैटर्न को देखते हुए - आपके घोषणात्मक बाइंडिंग के अंदर डोमेन तर्क को अंतःस्थापित करना बहुत आसान है। तो व्यापारिक तर्क और प्रस्तुति परत के पूर्ण अलगाव को रखने के लिए इसे थोड़ी सी योजना की आवश्यकता होगी। आधिकारिक वेबसाइट के अलावा, नॉकआउट जेएस की बेहतर समझ प्राप्त करने के लिए मैं आपको कुछ इंडेथ संसाधनों के लिए चेकआउट knockmeout.net की सलाह देता हूं। this post आपके निर्णय में आपकी सहायता कर सकता है।

ध्यान में रखते हुए कि jquery.tmpl का भविष्य इस लेखन के रूप में कुछ संदिग्ध है, मैं आपको अन्य समाधानों की तलाश करने की सलाह दूंगा। KnockoutJS को आसानी से तीसरे पक्ष के templating भाषाओं के साथ एकीकृत किया जा सकता है।

+0

धन्यवाद, ऊपर देखें नॉकआउट आखिरकार मैंने जो चुना है। – ethermal

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