TurboGears - अवलोकन

वेब फ्रेमवर्क क्या है?

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

TurboGears क्या है?

TurboGears पाइथन में लिखा गया एक वेब एप्लिकेशन फ्रेमवर्क है। मूल रूप से 2005 में केविन डंगूर द्वारा निर्मित, इसका नवीनतम संस्करण TurboGears (ver 2.3.7) मार्क राम और फ्लोरेंट एड के नेतृत्व में डेवलपर्स के एक समूह द्वारा प्रबंधित किया गया है।

TurboGears मॉडल-व्यू-कंट्रोलर प्रतिमान का अनुसरण करता है क्योंकि अधिकांश आधुनिक वेब फ्रेमवर्क जैसे रेल, Django, स्ट्रट्स आदि।

मॉडल दृश्य नियंत्रक

MVC वेब एप्लिकेशन विकसित करने के लिए एक सॉफ्टवेयर डिज़ाइन पैटर्न है। एक मॉडल व्यू कंट्रोलर पैटर्न तीन भागों से बना है -

  • Model - पैटर्न का निम्नतम स्तर डेटा को बनाए रखने के लिए जिम्मेदार है।

  • View - यह उपयोगकर्ता के लिए डेटा के सभी या एक हिस्से को प्रदर्शित करने के लिए जिम्मेदार है।

  • Controller - सॉफ्टवेयर कोड जो मॉडल और दृश्य के बीच की बातचीत को नियंत्रित करता है।

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

आदर्श

मॉडल एप्लिकेशन के डेटा के प्रबंधन के लिए जिम्मेदार है। यह दृश्य से अनुरोध का जवाब देता है और यह नियंत्रक से खुद को अपडेट करने के निर्देशों का भी जवाब देता है।

दृश्य

किसी विशेष प्रारूप में डेटा की प्रस्तुति, डेटा को प्रस्तुत करने के लिए एक नियंत्रक के निर्णय से शुरू होती है। वे AJAX प्रौद्योगिकी के साथ एकीकृत करने के लिए बहुत आसान स्क्रिप्ट आधारित टेंपलेटिंग सिस्टम हैं।

नियंत्रक

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

TurboGears कई पुस्तकालयों और उपकरणों के शीर्ष पर बनाया गया है। ये उपकरण TurboGears के विभिन्न संस्करणों के बीच बदल गए हैं। वर्तमान संस्करण के घटक (देखें 2.3.7) नीचे सूचीबद्ध हैं।

SQLAlchemy

यह एक ओपन सोर्स SQL ​​किट है जो पायथन कोड के लिए ऑब्जेक्ट रिलेशन मैपिंग (ORM) प्रदान करता है।

Genshi

इस अस्थायी इंजन का उपयोग टीजी अनुप्रयोगों के सामने के अंत का निर्माण करने के लिए किया जाता है। एक वेब टेम्प्लेटिंग सिस्टम डायनामिक वेब पेजों को प्रस्तुत करने के लिए एक निश्चित डेटा स्रोत के साथ एक टेम्पलेट को जोड़ती है।

ToscaWidgets

यह सर्वर साइड कंट्रोल के साथ HTML फॉर्म जनरेट करने के लिए विजेट लाइब्रेरी है। Tosca जावास्क्रिप्ट विगेट्स और टूलकिट के साथ जुड़ने के लिए एक मिडलवेयर के रूप में भी कार्य करता है।

GearBox

यह परियोजनाओं और सर्वर TurboGears अनुप्रयोगों का प्रबंधन करने के लिए आदेशों का एक सेट प्रदान करता है। TurboGears अनुप्रयोगों को किसी भी WSGI अनुरूप वेब सर्वर पर तैनात किया जा सकता है।

वेब सर्वर गेटवे इंटरफेस (WSGI) को पायथन वेब एप्लिकेशन डेवलपमेंट के लिए एक मानक के रूप में अपनाया गया है। WSGI वेब सर्वर और वेब अनुप्रयोगों के बीच सार्वभौमिक इंटरफ़ेस के लिए एक विनिर्देश है। Wsgiref पैकेज WSGI का एक संदर्भ कार्यान्वयन है। इसका उपयोग WSGI समर्थन को वेब TurboGears वेब फ्रेमवर्क में जोड़ने के लिए किया जाता है। इस पैकेज में simple_server मॉड्यूल एक साधारण HTTP सर्वर को लागू करता है जो WSGI अनुप्रयोगों को कार्य करता है। हम इस ट्यूटोरियल के दौरान विकसित अनुप्रयोगों का परीक्षण करने के लिए इसका उपयोग करेंगे।