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