सेल्सफोर्स कुछ भी विकसित करने के लिए एक दर्दनाक अनुभव है लेकिन सबसे सरल अनुप्रयोग है। सेल्सफोर्स का एक बहुत ही विशिष्ट विचार है कि कोई क्या विकसित करना चाहेगा, और यदि आपका आवेदन उन सीमाओं के भीतर अच्छा नहीं है, तो स्पष्ट हो जाएं!
राज्यपाल सीमाएं वास्तव में काफी दयनीय हैं: 16 स्तर की रिकर्सन, 1 मेगापोरल हेप, एक प्रश्न से 200 से अधिक वस्तुओं को वापस नहीं किया गया है, एक आमंत्रण में 20 से अधिक प्रश्न नहीं हैं। एक आमंत्रण में 10 वेब कॉलआउट, एक ही सूची में 1000 आइटम, और वे आगे बढ़ते हैं। अंतिम परिणाम यह है कि आप किसी भी चतुरता के साथ एक सीमा तक पहुंचने के लिए आते हैं।
एक बार जब आप कुछ आकार तक पहुंच जाएंगे, तो आपका पूरा समय इन सीमाओं के आसपास कोडिंग पर खर्च किया जाएगा। भाषा, सर्वोच्च, वास्तव में किसी भी सार्थक विरासत का समर्थन नहीं करता है। यहां तक कि प्रतीत होता है कि सरल कार्य कुछ दिनों तक समाप्त होते हैं जब कोई नई और स्पष्ट रूप से मनमानी सीमाओं का सामना करता है, उदाहरण के लिए, एपेक्स में सभी ऑब्जेक्ट्स SObject
से प्राप्त होते हैं; हालांकि, इसे सामान्य SObject
एस के संग्रह को तुरंत चालू करने की अनुमति नहीं है, जिससे उपयोगी उपयोगिता पुस्तकालयों को बनाना असंभव हो गया है। परिसर (यहां तक कि सरल) डेटाबेस में शामिल होना संभव नहीं है।
सेल्सफोर्स के लिए टूलिंग और समर्थन भी बेहद कमजोर है। वे वास्तविक विकास प्रक्रियाओं के लिए अविश्वसनीय और उपयोग करने में मुश्किल हैं। परिनियोजन एक दुःस्वप्न है, क्योंकि औजारों में जटिल निर्भरता के मुद्दों को हल करने में बड़ी कठिनाई होती है, और सामान्य विकास के दौरान जो कई इकाइयां बनाई जाएंगी, उन्हें प्रोग्रामिक रूप से तैनात नहीं किया जा सकता है। अन्य छोटी विशेषताएं भी खुश हैं, जैसे तथ्य यह है कि भाषा असंवेदनशील है, लेकिन आईडीई केस संवेदनशील है। बोलने के लिए कोई रिफैक्टरिंग टूल्स नहीं हैं, इसलिए आपको एक स्थिर टाइप की गई भाषा के सभी दर्द मिलते हैं, जिनमें से कोई भी लाभ नहीं होता है। और बचाओ/संकलन समय उच्च है- मुझे आवृत्ति के साथ 2 मिनट से अधिक समय लगता है। और, ज़ाहिर है, अगर आपके पास एक सेव में कई संकलन त्रुटियां हैं (और आप करेंगे, क्योंकि आप प्रत्येक बदलाव को दोबारा नहीं बदलना चाहेंगे, उन 2 मिनट के इंतजार के साथ ...) आपको एक समय में केवल एक त्रुटि मिल जाएगी !
संबंधित नोट पर, आपने देखा है कि सेल्सफोर्स दस्तावेज बल्कि स्वयं को बधाई देता है - ठीक है, यह सब तरह से नीचे है। आम त्रुटियों के सबसे गहरे अंधेरे तकनीकी संदर्भों में, या यहां तक कि किसी दिए गए एपीआई या फीचर की सीमाओं में कहीं भी उल्लेख नहीं है। यह सब "यहां आप महान काम कर सकते हैं" और इसका कोई जिक्र नहीं है, "लेकिन आप कल्पना करेंगे कि यह ___ भी करेगा, लेकिन आप गलत होंगे! मृत गलत!" दस्तावेज वास्तव में मार्केटिंग सामग्री की तरह महसूस करता है। मैं अब 18+ महीनों के लिए इस माहौल में प्रोग्रामिंग कर रहा हूं, और फिर भी कभी-कभी एपीआई संदर्भ की तरह मूल बातें खोजने में कठिनाई होती है।
सेल्सफोर्स एक लचीला वातावरण नहीं है। यह एक तेजी से विकास पर्यावरण नहीं है (कम से कम किसी भी अन्य वेब प्रोग्रामिंग ढांचे की तुलना में)। खिलौनों के अनुप्रयोगों के अलावा कुछ भी बनाने के लिए यह एक अच्छा वातावरण नहीं है जैसे कि वे अपने ट्यूटोरियल में दिखाते हैं। सिर्फ नहीं बोल।
.Net comaprison वास्तव में एसएफ के माध्यम से इंटरफ़ेस करने के बजाय, सेल्सफोर्स को आरएडी डेवलपमेंट प्लेटफ़ॉर्म के रूप में तुलना करने की तुलना में विचारों को कैनवास करने का लक्ष्य था। नेट जो मुझे पता है कि आप कर सकते हैं। मैं वास्तव में देव उपकरण से काफी प्रभावित था: आपको मुफ्त में बहुत सारे यूआई मिलते हैं जिन्हें ब्राउज़र में गहरे एपेक्स सामान के लिए ग्रहण में जाने के विकल्प के साथ विकसित किया जा सकता है। यह सिर्फ एक प्रश्न है कि आपने 'एज' मामलों को कितनी जल्दी मारा है, हालांकि – mhollers