2008-12-08 16 views
13

मुझे एक दोस्त के साथ एक संभोग हो रहा है कि मेसन (पर्ल) एक ढांचा नहीं है, बल्कि एक templating भाषा है। मुझे लगता है कि पर्ल के लिए मेसन जावा के लिए जेएसपी करता है (एक समानता के रूप में, शुद्ध तकनीकी तुलना नहीं)। जो मुझे पता है, जेएसपी एक ढांचा नहीं है और मुझे लगता है कि न तो मेसन है। जब मैंने विकिपीडिया Mason (Perl) देखा, तो मुझे लगता है कि मुख्य साइट का कहना है कि यह पर्ल में लिखा गया एक वेब एप्लिकेशन फ्रेमवर्क है, जबकि चर्चा पृष्ठ इसकी प्रतिस्पर्धा करता है।मेसन एक ढांचा है?

कोई पॉइंटर्स यह क्यों है/यह ढांचा नहीं है?

ysth से टिप्पणियों के आधार पर अद्यतन: एक ढांचे के लिए, मुझे लगता है कि कम से कम डीबी एक्सेस को आसान बनाना, सत्र प्रबंधित करना, बुनियादी सुरक्षा को एक वेबपैप की आवश्यकता होगी, टेम्पलेटिंग और कोड पुन: उपयोग करना चाहिए (या पुस्तकालय जो बुनियादी कार्यों को आसान बनाता है)।

+0

शायद आप अपने प्रश्न को "यह एक वेब अनुप्रयोग ढांचा" के रूप में अर्हता प्राप्त करना चाहते हैं, क्योंकि अयोग्य "ढांचा" लगभग किसी भी चीज़ पर लागू हो सकता है। – ysth

+0

शायद आप अपने स्वयं के प्रश्न का उत्तर पोस्ट कर सकते हैं जो एक वेब अनुप्रयोग ढांचे के गुणों को सूचीबद्ध करता है और कौन सा मेसन करता है या नहीं? – ysth

+0

मैं फिर से प्रश्न को साफ करने के लिए चारों ओर मिल गया। कुछ जवाब भी इंगित करते हैं। प्रश्न व्याख्या के लिए बहुत खुला था। – Arvind

उत्तर

13

मेसन एक एमवीसी (मॉडल-व्यू-कंट्रोलर) ढांचा होने के कारण 'एम' छोटा है। यह व्यापक प्रतिपादन (देखें) विशेषताएं प्रदान करता है, यही कारण है कि लोग मेसन को एक templating भाषा के रूप में सोचते हैं। हालांकि यह काफी कुछ प्रेषण तंत्र भी प्रदान करता है (आमतौर पर dhandlers के रूप में), और नियंत्रण तंत्र (जो स्वाभाविक रूप से autohandlers में फिट)।

कुछ साल पहले मैंने इनमें से कुछ सुविधाओं को दिखाने के लिए on-line tutorial (मेसन में) लिखा था। इसे पूर्ण-स्क्रीन डिस्प्ले के लिए अनुकूलित किया गया है, और जावास्क्रिप्ट सक्षम होना आवश्यक है।

क्या मेसन आपको डेटाबेस एब्स्ट्रक्शन लेयर नहीं देता है, इसलिए आपको अपना खुद का मॉडल लेना होगा।

मेरे ज्ञान का सबसे अच्छा amazon.com मेसन में many other sites के साथ लिखा गया है।

आप मेसन के साथ काम करने का आनंद लें, लेकिन आप एक मॉडल, अधिक खिलौने, और एक टट्टू करना चाहते हैं, तो आप एक वेब अनुप्रयोग फ्रेमवर्क के रूप में Jifty को देख पर विचार कर सकते हैं।

+4

अरे, आपका लिंक काम नहीं करता है। मुझे आपका ट्यूटोरियल देखना अच्छा लगेगा। – i8abug

+0

^दूसरा, 7 साल बाद! o_O! –

+1

^9 साल बाद, अभी भी काम नहीं करता है! –

0

ढांचे की आपकी परिभाषा के आधार पर।

यदि आप एक से अधिक चीजें करते हैं तो आप किसी भी पुस्तकालय में नाम ढांचे को लागू कर सकते हैं।

4

एक templating प्रणाली HTML::Template की तरह कुछ होगा, यानी, एक मॉड्यूल जो केवल templating करता है।

मुझे लगता है कि Mason अधिक है, यह किसी भी तरह से एक रूटिंग तंत्र है, यह %ARGS हालांकि %INIT के माध्यम से इंटिलाइज़ेशन प्रदान करता है।

यह भी mod_perl, CGI को इंटरफेस प्रदान करता है ...

अब, यह डेटाबेस से बात नहीं करता है, के रूप में यदि आप यह करने के लिए एक साफ रास्ता चाहते हैं, आप Class::DBI, DBIx::Perlish उपयोग करने के लिए करनी होंगी अन्य सौ पर्ल मॉड्यूल में से एक जो ऑब्जेक्ट मैपिंग करता है, या जो कुछ भी ...

4

इस सवाल का जवाब नहीं दे सकता कि HTML :: मेसन यह देखे बिना ढांचा है या नहीं, लेकिन मैं हमेशा हूं निम्नलिखित परिभाषा से खुश ....

1

अपनी प्रतिस्पर्धा की Embedded Perl in HTML with Mason दृश्य को देखते हुए "जबकि अपने कार्यक्रम एक पुस्तकालय कॉल एक रूपरेखा अपने कार्यक्रम कॉल", मैं कहेंगे यह एक टेम्पलेट भाषा है। अन्यथा Catalyst और Maypole सूची में होंगे। साथ ही, मुझे लगता है कि मैंने कहीं पढ़ा है कि आप उत्प्रेरक अनुप्रयोग में View भाग के रूप में मेसन का उपयोग कर सकते हैं।

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

4

यह Model-View-Controller फ्रेमवर्क का प्रकार नहीं है, उदाहरण के लिए रेल पर रूबी की तुलना में यह संभवतः PHP के करीब है (और जैसा कि मैंने इसे देखा है उससे भी बुरा है)।

1

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

देखभाल करें!

0

एचटीएमएल :: मेसन यह है कि जब वे बड़े हो जाते हैं तो कौन सा ढांचा बनना चाहता है। एचटीएमएल :: मेसन के साथ आपको मिलता:

  • एक डिस्पैचर
  • templating
  • कैशिंग
  • प्रवेश
  • अत्यंत लचीला मॉड्यूलर

यह उच्च प्रदर्शन बहु-स्तरीय वेब के लिए डिजाइन किया गया था अनुप्रयोग, डेस्कटॉप प्रोग्रामिंग से उधार डिजाइन पैटर्न के प्रशंसकों को प्रसन्न करने के लिए नहीं (जैसे एमवीसी था)।

1

डिजाइन पैटर्न पर गामा पुस्तक से ढांचे की निम्नलिखित परिभाषा ली गई है। "एक ढांचा वर्गों को सहयोग करने का एक सेट है जो एक विशिष्ट वर्ग के सॉफ्टवेयर के लिए एक पुन: प्रयोज्य डिजाइन बनाता है।" मेसन, उस परिभाषा से, एक ढांचा है। एक एमवीसी ढांचा केवल एक प्रकार का ढांचा है।

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