2010-11-09 15 views
22

मैं टेम्पलेट इंजन के रूप में उपयोग करने के लिए फ्रीमार्कर और वेग के बीच निर्णय लेने का प्रयास कर रहा हूं, आप प्रत्येक के बारे में किसी भी फायदे/नुकसान देखते हैं?फ्रीमार्कर बनाम वेग

कोई विकल्प जो मुझे इसके बजाय देखना चाहिए?

+3

यह पूछा गया था लेकिन यह एक बेहतर जवाब मिला। – Speck

उत्तर

35

वेग और फ्रीमार्कर दोनों काफी सक्षम हैं। पसंद पर परेशान मत करो। उनके डिजाइन के पीछे उनकी काफी प्राथमिकताएं हैं, इसलिए जब आप बुनियादी टेम्पलेटिंग से परे हो जाते हैं, तो उनके फीचर-सेट की तुलना करना मुश्किल होता है। वेग का वाक्यविन्यास सरल और अधिक विशिष्ट है, फ्रीमार्कर का भारी वाक्यविन्यास उन्हें जेएसपी libs का समर्थन करने की अनुमति देता है। वेग VelocityTools जैसे ऐड-ऑन परियोजनाओं के माध्यम से अधिक स्वतंत्रता और अंततः अधिक सुविधाएं प्रदान करता है। Freemarker काफी बेहतर देशी खाली स्थान के हैंडलिंग, हाल के वेग विज्ञप्ति अधिक रोचक सामग्री नियंत्रण (#define, #evaluate, # [[शाब्दिक ब्लॉक]] #) प्रदान की जाती है।

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

StringTemplate भी सम्मानजनक है, हालांकि वे MVC नाजियों कर रहे हैं और सुविधाओं के लिए वेग या Freemarker से मेल नहीं कर सकते हैं।;) आपकी संभावित निराशा अधिक लोकप्रिय टेम्पलेट इंजनों की तुलना में थोड़ी अधिक है, जिनमें से अधिकतर निराशाजनक होने की संभावना नहीं है। बस एक पकड़ो और जाओ।

+0

** "पसंद पर परेशान न करें।" ** अच्छी तरह लिखा है! – Stephan

8

मैं फ्रीमार्कर पसंद करता हूं। मुझे प्रलेखन पसंद है, मुझे हमेशा जो चाहिए वह मिल सकता है। कुल मिलाकर मुझे लगता है कि यह बहुत शक्तिशाली है।

String Template एक और विकल्प है।

+2

फिर, यह तुलना पुरानी है और केवल वेग सुविधाओं की तुलना करती है, जो वेग की विभिन्न शक्तिशाली ऐड-ऑन परियोजनाओं को अनदेखा कर रही है। यह फ्रीमार्कर समुदाय को कोई श्रेय नहीं है कि वे इसे अपडेट नहीं करते हैं। –

+0

@ नाथन बुब्ना - मैंने वास्तव में कभी-कभी वेग का उपयोग नहीं किया है, उस तुलना में वास्तव में क्या पुराना है? – Andy

+0

इसमें से अधिकांश, मैं यहां से अधिक बता सकता हूं। यह Velocity 1.2 पर आधारित है, जो 9 साल पहले की तरह था। वेग 1.7 बीटा में है और जल्द ही अंतिम होगा। ऐसा लगता है कि VelocityTools जैसी चीजें "वर्कअराउंड्स" हैं, जो शायद ही उचित मूल्यांकन है। –

2

फ्रीमार्कर प्रोजेक्ट पेज पर lengthy comparison है।

कभी भी वेग के साथ काम नहीं किया है, मैं अर्थपूर्ण रूप से दोनों की तुलना नहीं कर सकता, लेकिन मैं फ्रीमार्कर से इतना संतुष्ट था कि मुझे इससे परे देखने का कोई कारण नहीं मिला।

+1

वह लंबी तुलना शायद वेग 1.4 के लिए मान्य थी, लेकिन तब से वेग ने बहुत कुछ जोड़ा है। और उस तुलना ने हमेशा लोकप्रिय VelocityTools प्रोजेक्ट के अस्तित्व को स्वीकार करने से इंकार कर दिया जिसने हमेशा सुविधाओं का भरपूर धन प्रदान किया है। –

+1

सुधार, यह तुलना Velocity 1.2 के लिए मान्य थी। इसका अधिकांश हिस्सा वेग में अब समर्थित है (हालांकि कभी-कभी अलग-अलग लागू होता है), शेष में से अधिकांश को VelocityTools के साथ समर्थित किया जाता है। और कुछ "तुलना" बस अजीब है। जब हम जावा कार्यों को आसानी से समर्थन देते हैं, तो वेग को जावा-स्वतंत्र कार्यों की आवश्यकता नहीं होती है। –

+0

"लंबी तुलना" का लिंक मृत है – domih

5

ऐसा लगता है कि this तुलना की एक सभ्य रैंड डाउन है। हालांकि, यह कुछ साल पुराना है।

लेख से:

निष्कर्ष

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

दोनों वेग और FreeMarker एक आवेदन में एकीकृत करने के काफी आसान कर रहे हैं और अच्छा प्रदर्शन छोटे टेम्पलेट्स पर प्रदान करते हैं। वेग धीमा जब बड़े टेम्पलेट्स, जब अपने परियोजना के लिए एक टेम्पलेट इंजन चुनने जो आप को ध्यान में रखना हो सकता है को पार्स।

0

फ्रीमार्कर एंड्रॉइड पर नहीं चलता है। इसलिए, मैं वर्तमान में मोबाइल डिवाइस के अनुकूल बनाने के लिए अपनी परियोजना को Velocity में परिवर्तित कर रहा हूं।

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