2011-09-13 9 views
8

मैं नोड.जे.एस. के साथ एक वेब ऐप विकसित करने की तलाश में हूं। मैं एक PHP पृष्ठभूमि से आ रहा हूं जहां मैंने टेम्पलेट इंजन (PHP के अलावा) का उपयोग नहीं किया है और मैंने हमेशा सीधे HTML लिखा है। तो, मुझे जेड या कुछ अन्य टेम्पलेट इंजन का उपयोग क्यों नहीं करना चाहिए?जेड जैसे टेम्पलेट इंजन का उपयोग करने के पेशेवर और विपक्ष क्या हैं?

+0

आपने एक templating भाषा का उपयोग किया है, PHP एक है। – Raynos

+8

ठीक है, यही कारण है कि मैंने कहा "PHP के अलावा ही।" –

उत्तर

9

सकारात्मक:

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

विपक्ष:

सबसे पहले:

  • कुछ प्रदर्शन भूमि के ऊपर
  • फिर भी एक और बात यह है कि
+0

यह "प्रदर्शन ओवरहेड" क्या है। क्या आप सुझाव दे रहे हैं कि आप गतिशील रूप से HTML उत्पन्न कर सकते हैं जो तेजी से एक टेम्पलेटिंग इंजन है? – Raynos

+2

बिल्कुल। 'Res.write ('

' + पेजटाइट + '

') जैसे कुछ करने के लिए यह हमेशा तेज़ होगा; 'बनाम' res.render (' title-template ', {title: pageTitle}); '(में एक्सप्रेस)। ज्यादातर मामलों में प्रदर्शन ओवरहेड नगण्य है, हालांकि। यदि जेड (या अन्य टेम्पलेटिंग इंजन) आपकी बाधा है, तो आप कहीं और अच्छी तरह से अच्छा कर रहे हैं। – jmar777

+0

जो पेटेंटिक टेम्पलेट्स के लिए केवल सत्य है। कैशिंग के कारण एक टेम्पलेट इंजन के साथ कोई भी गंभीर टेम्पलेट तेज होगा। – Raynos

1

जेड या किसी अन्य टेम्पलेट भाषा के बारे में है कि HTML से बहुत कुछ अलग जानने के लिए उत्पादित एचटीएमएल डीबग करने में अधिक समय लगता है। आप ब्राउज़र में एचटीएमएल देखते हैं और आपको अपनी संपादक सामग्री की तुलना करने के लिए इसे वापस जेएडीई (अपने दिमाग में) पर पार्स करना होगा। यह बहुत असुविधाजनक है और डीबगिंग को कठिन बनाता है तो यह होना चाहिए।

बेशक यह एक समस्या नहीं हो सकती है यदि आप कोड पर काम करने वाले एकमात्र प्रोग्रामर हैं। जेडई लाइनों के साथ एचटीएमएल लाइनों से मिलान करना इतना आसान प्रतीत हो सकता है यदि आप उन्हें लिखते हैं।

टीमों में काम करते समय यह एक समस्या है।