साथ jQuery का उपयोग कर रहा ग्राहक के लिए एक सर्वर साइड ढांचे से कुछ html पीढ़ी कार्यों विस्थापित करने के लिए शुरू कर कारगर बनाने के लिए। मैं क्लाइंट पर jQuery का उपयोग कर रहा हूँ। मेरा लक्ष्य एक आरईएसटी एपीआई के माध्यम से JSON डेटा प्राप्त करना है और इस डेटा का उपयोग पृष्ठ में HTML को पॉप्युलेट करने के लिए करें।क्लाइंट-साइड templating चौखटे बाकी/JSON
अभी, जब अपनी साइट पर एक उपयोगकर्ता मेरे परियोजनाओं के लिंक पर क्लिक करें, सर्वर इस तरह एचटीएमएल उत्पन्न करता है:
<dl>
<dt>Clean Toilet</dt>
<dd>Get off your butt and clean this filth!</dd>
<dt>Clean Car</dt>
<dd>I think there's something growing in there...</dd>
<dt>Replace Puked on Baby Sheets</dt>
</dl>
मैं तो यह बदल रहा है कि मेरे परियोजनाओं अब पर क्लिक करेंगे
[
{
"name":"Clean Car",
"description":"I think there's something growing in there..."
},
{
"name":"Clean Toilets",
"description":"Get off your butt and clean this filth!"
},
{
"name":"Replace Puked on Baby Sheets"
}
]
मैं निश्चित रूप से कस्टम jQuery कोड लिख सकते हैं कि JSON लेते हैं और इसे से HTML उत्पन्न करने के लिए: GET अनुरोध है कि कुछ इस तरह देता है। यह मेरा सवाल नहीं है, और मुझे यह कैसे करना है इस बारे में सलाह की आवश्यकता नहीं है।
मुझे क्या करना पूरी तरह से तर्क (jQuery कोड) से प्रस्तुति और लेआउट अलग है चाहेंगे। मैं jQuery कोड के माध्यम से डीएल, डीटी, और डीडी तत्वों को बनाना नहीं चाहता। मैं कुछ प्रकार के HTML टेम्पलेट्स का उपयोग करूंगा जो मैं डेटा को भर सकता हूं। ये टेम्पलेट्स केवल HTML स्निपेट हो सकते हैं जो उस पृष्ठ में छिपे हुए हैं जिन्हें एप्लिकेशन से लोड किया गया था। या वे सर्वर से गतिशील रूप से लोड हो सकते हैं (उपयोगकर्ता विशिष्ट लेआउट, i18n, आदि का समर्थन करने के लिए)। उन्हें एक बार प्रदर्शित किया जा सकता है, साथ ही लूपिंग और दोहराने की अनुमति भी मिल सकती है। शायद इसे उप-टेम्पलेट्स का समर्थन करना चाहिए, यदि/तो/else, और बहुत आगे।
मैं अपनी साइट पर सूचियों और सामग्री है कि कई अलग अलग तरीकों से प्रस्तुत कर रहे हैं की बहुत सारी है। मैं अपनी साइट पर हर अलग-अलग फीचर के लिए कस्टम jQuery कोड बनाने के बिना सामग्री उत्पन्न और प्रदर्शित करने के लिए एक सरल और सुसंगत तरीका बनाना चाहता हूं। मेरे लिए, इसका मतलब है कि मुझे jQuery के शीर्ष पर एक छोटे ढांचे को खोजने या बनाने की ज़रूरत है (शायद एक प्लगइन के रूप में) जो इन आवश्यकताओं को पूरा करता है।
ढांचे के ही तरह है कि मैं इस तरह कुछ भी है कि मिल गया है jTemplates है। मुझे नहीं पता कि यह कितना अच्छा है, क्योंकि मैंने अभी तक इसका उपयोग नहीं किया है। पहली नज़र में, मैं इसके टेम्पलेट सिंटैक्स से रोमांचित नहीं हूं।
किसी अन्य चौखटे या प्लग इन है कि मैं इस पर गौर करना चाहिए के बारे में पता? कोई भी ब्लॉग पोस्ट या अन्य संसाधन जो इस तरह की चीज करने पर चर्चा करते हैं? मैं बस यह सुनिश्चित करना चाहता हूं कि मैंने इसे स्वयं बनाने से पहले सब कुछ सर्वेक्षण किया है।
धन्यवाद!
आपके परिप्रेक्ष्य के लिए धन्यवाद, लेकिन मेरे मामले में बिंदु एचटीएमएल की सर्वर-साइड पीढ़ी से दूर जाना है। डेटा के प्रत्येक आइटम में बहुत सारी संपत्तियां होती हैं, और इन सभी गुणों को लपेटने के लिए आवश्यक सभी HTML को प्रतिक्रिया के आकार में काफी वृद्धि होती है। जब मैं सैकड़ों डेटा तत्वों से गुणा करता हूं, तो मेरी HTML प्रतिक्रिया कच्चे डेटा की तुलना में कई गुना अधिक हो सकती है। चूंकि मेरा एप्लिकेशन AJAX का उपयोग करता है और जावास्क्रिप्ट की आवश्यकता है, क्यों न केवल ब्राउज़र में इसे प्रस्तुत करें? – Tauren
यदि सैकड़ों डेटा आइटम हैं, तो मार्कअप को प्रतिपादित करने वाले जावास्क्रिप्ट का प्रदर्शन सर्वर-साइड भाषा जैसे सी # या PHP से कहीं भी बदतर होगा। इसे gzip और AJAX कैशिंग के साथ संयोजित करें और यह वास्तव में अब कोई समस्या नहीं है। जब तक आप 2010 में सीपीयू समय के बारे में वास्तव में चिंतित नहीं हैं तब तक आगंतुक पर बोझ डालने और प्रतिपादन समय बढ़ाने का कोई वास्तविक कारण नहीं है। – tags2k
प्रस्तुत करने का समय और बैंडविड्थ इस दिशा में जाने के लिए मेरे एकमात्र कारण नहीं हैं। हालांकि, हाल के ब्राउज़र वाले किसी भी गैर-प्राचीन कंप्यूटर को मेरे मन में जो काम है, उससे बहुत बोझ नहीं होना चाहिए। क्या आप यह कह रहे हैं कि jqGrid नियंत्रण (http://www.trirand.net/demophp.aspx) JSON/REST के माध्यम से पुनर्प्राप्त डेटा की 1000 पंक्तियों को डाउनलोड और प्रस्तुत करने के लिए अधिक समय लेगा, इससे पहले कि यह पहले से स्वरूपित HTML डाउनलोड कर लेगा और इसके साथ ग्रिड का आंतरिक HTML? मुझे यकीन है कि किसी भी तरह से बहुत नगण्य है। – Tauren