बैकबोन जैसे ढांचे का उपयोग करना [बंद]


24

वर्तमान में मेरे पास एक पृष्ठ http://proctors.org/tv है जो jQuery के टन के साथ कई विचारों और अनुलग्नकों द्वारा संचालित है और जावास्क्रिप्ट स्पेगेटी को हैक किया है, और मैं इसे साफ करना चाहूंगा। मैं समझता हूं कि नए जावास्क्रिप्ट "एमवीसी" ढांचे टेम्पलेट का उपयोग करते हैं, और डोम में सभी डेटा को कड़ाई से संग्रहीत नहीं करते हैं जैसा कि आप jQuery के साथ कर सकते हैं।

मेरा मानना ​​है कि आप बैकेंड के साथ फ्रंट पर बैकबोन के साथ सर्विसेज और / या व्यूज जैसे कुछ का उपयोग करेंगे।

बैकबोन के लिए एक डू प्रोजेक्ट है , और मुझे याद है कि DrupalCon डेनवर में BoF या सत्र होने के बारे में ...

मैं यह जानने की उम्मीद कर रहा हूं कि क्या यह एक नए ढांचे में इसे आजमाने और फिर से लिखने या मेरे पास जो कुछ है उसे साफ करने के लिए मेरे समय के लायक है।


4
सवाल क्या है, बिल्कुल? यदि प्रश्न "क्या कोई ड्रुपल के साथ बैकबोन या एम्बर जैसे जावास्क्रिप्ट फ्रेमवर्क का उपयोग कर रहा है?" तब यह एक सर्वेक्षण है, और जैसा कि स्टैक एक्सचेंज साइटों पर स्वागत नहीं है। यदि आपके पास उन जावास्क्रिप्ट फ्रेमवर्क में से किसी एक का उपयोग करने के बारे में एक विशिष्ट प्रश्न है, तो उस प्रश्न को पूछें।
kiamlaluno

2
मुझे लगता है कि वह पूछ रहा है कि क्या कोई एमवीसी जावास्क्रिप्ट फ्रेमवर्क मौजूद है जो ड्रुपल के अपने जावास्क्रिप्ट फ्रेमवर्क के साथ पर्याप्त रूप से अच्छी तरह से काम कर सकता है, जिसके परिणामस्वरूप वे बस अपने स्वयं के रोल करने की तुलना में कम काम करेंगे। मेरे लिए उचित लगता है - कुछ चीजों के लिए, ड्रुपल के साथ इंटिग्रेटिंग सुंदर रूप से आसानी से चला जाता है, दूसरों के लिए, यह इतनी हैकिंग की आवश्यकता है कि आप इसे खरोंच से बस फिर से लिखना बेहतर होगा - और यह उन लोगों से पूछना उचित लगता है जो पहले से ही कोशिश कर चुके हैं।
user56reinstatemonica8

यदि आप एक त्वरित ट्यूटोरियल प्राप्त करना चाहते हैं तो बैकबोन + ड्रुपल
कृति २२'१३

इस आदमी के पास बैकबोन और Drupal pixelite.co.nz/article/… के
Dan Walmsley

हा वह आदमी ऊपर दिए गए किसी एक उत्तर से @masterchief है
रयान प्राइस

जवाबों:


18

मैंने ड्रुपल के साथ एम्बर और बैकबोन दोनों का उपयोग किया है - लेकिन उस तरीके से नहीं जैसा आप सोचते हैं।

वेब एप्लिकेशन बनाने के लिए एम्बर और बैकबोन दोनों ठीक उपकरण हैं - लेकिन ड्रुपल वास्तव में उनके साथ उपयोग करने के लिए एक अच्छा उपकरण नहीं है। जब आप एक वेब ऐप का निर्माण करते हैं तो आपकी इच्छा कुछ हल्की और तेज़ होती है। आप चाहते हैं कि यह तुरंत प्रतिक्रिया समय होने पर अपने उपयोगकर्ताओं को यह महसूस कराने में सक्षम होने के लिए तेज़ हो। आप चाहते हैं कि इसे हल्का बनाया जाए ताकि यह बेहतर हो सके। Drupal तेज़ नहीं है - पूरा Drupal बूटस्ट्रैप एक लंबा समय लेता है (बहुत सारे अन्य विकल्पों की तुलना में) यदि आप सब करना चाहते हैं तो अपने वेब ऐप के लिए REST API प्रदान करें। Drupal PHP है, जो समवर्ती उपयोगकर्ताओं की संख्या को सीमित करते हुए इसे काफी भूखा बना देता है।

तो अगर ड्रुपल इसके लिए इतना बुरा है तो इसका उपयोग क्यों करें?

आपको वास्तव में Drupal का उपयोग किस Drupal excels के लिए करना चाहिए - एक CMS। मैंने उन परियोजनाओं के साथ अतीत में काम किया है जिनके लिए वेब ऐप की आवश्यकता होती है वेब ऐप के चारों ओर CMS बनाने के लिए Drupal का उपयोग करना। ब्लॉग, सामग्री सूची और पसंद जैसे सामान बनाने के लिए। मैंने कुछ बैकेंड सामान को परिभाषित करने के लिए मॉड्यूल भी बनाए - जैसे कि स्कीमा परिभाषाएं, और अन्य सामान जहां यह ड्रुपल का उपयोग करने के लिए समझ में आता है - क्योंकि इससे मेरा विकास बहुत आसान हो गया।

REST API बनाने के लिए Drupal का उपयोग करने के बजाय, जिसे webapp की आवश्यकता थी - मैंने वास्तविक REST API और अन्य चेक्स AJAX कॉल बनाने के लिए Node.js का उपयोग किया, जिसे बनाने के लिए Webapp की आवश्यकता थी। यह सिर्फ करने में excels.js। यह तेज़ी से धधक रहा है (वस्तुओं की सूची के लिए प्रतिक्रिया समय 30ms जितना कम)। यह बहुत हल्का भी है, क्योंकि सर्वर पर जावास्क्रिप्ट अतुल्यकालिक कार्यों का उपयोग करता है, एक Node.js सर्वर आमतौर पर हजारों समवर्ती उपयोगकर्ताओं को संभाल सकता है जहां PHP शायद 100 को संभाल सकता है। इसके अलावा - चूंकि Node.js जावास्क्रिप्ट है, इसलिए आप बहुत पुन: उपयोग कर सकते हैं कोड सर्वर और क्लाइंट की तरफ। आप वस्तुतः एक ही सत्यापन कोड लिख सकते हैं, बजाय इसके कि जावास्क्रिप्ट में क्लाइंट साइड और PHP में सर्वर साइड दोनों को लागू किया जाए। यदि आप कुछ हफ्तों में म्युनिख में द्रुपाल कोन जा रहे हैं - तो आपको नोड.जेएस प्रस्तुति देखने पर विचार करना चाहिए

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


अद्यतन Drupal 8

इसलिए ड्रुपल 8 की रिलीज के साथ उपरोक्त में से कुछ अभी भी सही हैं, लेकिन पहले जैसे विस्तार में नहीं हैं। Drupal 8, Drupal 7 की तरह है, न कि हल्के वजन वाले उपकरण, जैसे Node.js, Rails, Django आदि। चूंकि जावास्क्रिप्ट ऐप मुख्य रूप से विभिन्न सेवाओं का उपभोग करते हैं, आपको अभी भी विचार करना चाहिए कि क्या Drupal इसके लिए सबसे अच्छा उपकरण है।

Drupal 8 के साथ बहुत सी चीजों में सुधार किया गया है। सेवाएँ एक बहुत अधिक मूल है, सिम्फनी अनुरोध / प्रतिक्रिया ड्राइविंग के साथ। Drupal 8 में उन्नत कैशिंग और सभी शानदार विशेषताओं के साथ बहुत सारी दिलचस्प संभावनाएं हैं। लेकिन ड्रुपल 8 की महानता के साथ, यह अभी भी हल्के वजन के अनुप्रयोगों की तुलना में बहुत अधिक है। यह कहना मुश्किल है कि Drupal 8 को एक सफल वेबसेवा प्रदाता के रूप में कैसे इस्तेमाल किया जा सकता है।

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


दिलचस्प दृष्टिकोण। क्या आप drupal.org/project/nodejs का उपयोग कर रहे हैं या आप Drupal DB में अपना स्वयं का इंटरफ़ेस रोल कर रहे हैं?
mpdonadio

@googletorp, मैंने फ़्यूज़न पैसेंजर के साथ काम किया और यहां तक ​​कि वह कैशिंग और सर्वर ऑप्टिमाइज़ेशन के बिना बेहतर प्रदर्शन नहीं कर सकता है और सभी सर्वर साइड स्क्रिप्टिंग लैंग्वेज (js को छोड़कर) में ब्लॉकिंग इश्यू की उचित मात्रा है। वास्तव में मैं खुद को खुले स्रोत समुदाय में कुछ समर्पित प्रदर्शन समर्थन और उपयोग में अत्यधिक आसानी के कारण माणिक से php में बदल गया। अन्य भाषाओं की तुलना में नोडज हमेशा तेज बने रहेंगे।
मिनिट

वैसे भी बिंदु यह है कि चूंकि द्रुपाल भयानक सेवा मॉड्यूल ढांचा प्रदान करता है, मैंने सोचा कि आप ग्राहक पक्ष पर डेटा को संभालने पर कुछ ज्ञान साझा कर सकते हैं, विशेष रूप से सत्र और सामान सौंप सकते हैं।
मिनिट

@ मेन्टी नोडोड्स में Drupal के एकीकरण के लिए एक सहायक पैकेज है: github.com/mikl/node-drupal वास्तविक सत्र हैंडलिंग आप कैसे / क्या करते हैं, इस पर बहुत कुछ निर्भर करता है। कॉर्स आदि, लेकिन मैं आमतौर पर Drupal session_id को कुकी या अनुरोध शीर्ष लेख में भेजता हूं।
googletorp

मैं सिर्फ इस भयानक बैकबोन प्रलेखन github.com/kjbekkelund/writings/blob/master/published/… के माध्यम से पढ़ा और सोचा, आदमी रीढ़ अपने जावास्क्रिप्ट को व्यवस्थित करने और मार्ग प्रणाली के माध्यम से AJAX कॉलबैक के साथ उपयोग करने का एक शानदार तरीका है। क्यों नहीं इसे द्रुपाल के साथ जोड़ दिया जाता है क्योंकि द्रुपाल एक ही मार्ग विशेषताओं पर निर्भर करता है?
AlxVallejo

6

मैंने हाल ही में अपना पहला बैकबोन + ड्रुपल एप्लिकेशन विकसित करना शुरू किया है और वास्तव में इसका आनंद ले रहा हूं। सेवाओं, सेवाओं के दृश्य और आवश्यक पुस्तकालयों के साथ-साथ बैकबोन मॉड्यूल का उपयोग करना । यह परियोजना काफी सरल है: 6 पृष्ठों का एक प्रबंधनीय हिंडोला बनाने के लिए जो विभिन्न डेटा प्रदर्शित करता है, साथ ही एक अतिरिक्त समाचार स्लाइडर है जो विभिन्न सामग्री प्रदर्शित करता है। यह पृष्ठ उपयोगकर्ता के संपर्क के बिना विभिन्न स्क्रीन पर बैठता है ताकि ब्राउज़र को रीफ्रेश किए बिना फ्रंट एंड कंटेंट को अपडेट करने की क्षमता की आवश्यकता हो। मैंने सोचा कि यह पूरी तरह से एक Drupal + Backbone ऐप में Drupal के साथ सामग्री और बैकबोन को नियंत्रित करने और db के साथ समन्वयित करने के लिए उपयुक्त है। मैंने jquery.cycle 2 में एकीकृत किया है जिसमें एक भयानक एपीआई है और कोडिंग के एमवीसी शैली में अच्छी तरह से फिट बैठता है।

मैं देख सकता हूं कि लोग Drupal को बैकएंड फ्रेमवर्क के रूप में उपयोग करने के लिए अपनी नाक क्यों चिपका सकते हैं, लेकिन इस तरह के एक छोटे से आवेदन के लिए Drupal हल्का और तेज है । मैंने इसे न्यूनतम इंस्टॉल से शुरू करके और कॉन्ट्रिब और कोर मॉड्यूल को सावधानीपूर्वक उठाकर हासिल किया। मैं बैकबोन सामान के लिए कस्टम जेएस कोड की सिर्फ 150 लाइनों के तहत लगभग 50 मॉड्यूल्स पर हूं।

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

निष्कर्ष के तौर पर:

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


5

मूल उत्तर हां है, कुछ लोग इसका उपयोग कर रहे हैं। मैंने स्वयं इसका उपयोग नहीं किया है (अभी तक एक अच्छा प्रोजेक्ट मैच नहीं मिला है), लेकिन वर्तमान में इसके लिए एक Drupal Group है, और यह वेब सेवा और संदर्भ कोर पहल के साथ भी फिट होगा जो Drupal 8 पहल में से एक है । DrupalCon Munich 2012 में एक सत्र भी है, फ्रंटबेंड में Backbone.js

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


1
अनिवार्य रूप से: स्टैकएक्सचेंज इस बारे में पूछने के लिए गलत जगह है, क्योंकि इस बिंदु पर ऐसा विशेष मामला है। गोंड पर समूह चर्चा पर भटकना
पॉल-एम

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

3

आपको यह उपयोगी लग सकता है: यह JQuery आधारित स्क्रिप्ट को एक बैकबोन स्क्रिप्ट में परिवर्तित करने का एक उदाहरण दिखाता है। स्पष्ट रूप से आपको backbone.js में खींचने की आवश्यकता होगी, या तो एक पुस्तकालय के रूप में drupal_add_js का उपयोग करके या मॉड्यूल का उपयोग करके।

https://github.com/kjbekkelund/writings/blob/master/published/understanding-backbone.md/


हाय क्रेग, इस लिंक के लिए धन्यवाद, क्या आपके पास कोई संसाधन है जहां यह विशिष्ट में Drupal के साथ प्रयोग किया जाता है? धन्यवाद
मिन्टी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.