क्या किसी ने Sproutcore का इस्तेमाल किया है?


19

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

स्प्राउटकोर में विकसित हुए लोगों के किसी भी विचार की सराहना की जाती है!

EDIT / PS: हां, मैंने यह पोस्ट देखी है: /programming/370598/sproutcore-and-cappuccino । हालाँकि मैं स्प्राउटकोर के थोड़े लम्बे वर्णन में दिलचस्पी रखता हूँ जो किसी महत्वपूर्ण परियोजना के लिए इसका उपयोग करता है।


2
मैं इस प्रश्न का उत्तर नहीं दे सकता, लेकिन मैं आपको बता सकता हूं कि Apple स्वयं स्प्राउटकोर का उपयोग करता है। मेरी सेवाएं। तो यह कम से कम उसके लिए पर्याप्त परिपक्व है।
चक

हाँ - यही मेरी दिलचस्पी है। लेकिन मैंने इसके बारे में बहुत कम कोशिश की है, प्रलेखन काफी खराब है (विशेष रूप से, उदाहरण के लिए, SC.DataSource और SC.Store के लिए) कि मुझे यकीन नहीं है कि यह मुसीबत के लायक है।

जवाबों:


20

हम वर्ष में स्प्राउटकोर का अधिक उपयोग कर रहे हैं।

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

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

अब चीजें बदल गई हैं, डॉक्यूमेंटेशन और बहुत अच्छी विकि है। नए ट्यूटोरियल और प्रलेखन प्रत्येक दिन जोड़े गए।

यदि आप SproutCore का उपयोग / मूल्यांकन करने की सोच रहे हैं तो यह सही समय है। और हर दिन SproutCore मुझे क्षमता और शक्ति के साथ विस्मित करता है। अभी भी बहुत सारे खुरदुरे किनारे हैं, जो रोज़ घटते हैं।

कुछ संसाधन:

स्प्राउटकोर विकी

एपीआई डॉक्स

डेटा स्टोर एपीआई के लिए हालिया जोड़ (जो बहुत महत्वपूर्ण हिस्सा है)


17

मैंने SC के साथ उनके प्रमुख ऐप रिडिजाइन का उपयोग करने वाली कंपनी के साथ काम किया। यहाँ मेरे विचार हैं:

  1. मुझे वास्तव में एक SC ऐप का MVC लेआउट पसंद है। यह कुछ ऐसा है जो मुझे लगता है कि अन्य जेएस फ्रेमवर्क की कमी है। उनका बाध्यकारी ढांचा अद्यतन विचारों को एक तस्वीर बनाता है।

  2. सबसे अच्छा प्रलेखन कोड में ही था।

  3. बेहतर प्रलेखन / अधिक उदाहरण की आवश्यकता है। उनके उदाहरण आपको शुरू करने के लिए पर्याप्त हैं, लेकिन उन्नत चीजें अधिकांश उपयोगकर्ताओं को रोक देंगी।

  4. डेटा एक्सेस लेयर बहुत जटिल है। इसका बहुत बड़ा रहस्य है। उन्हें वास्तव में प्रलेखन को किनारे करने की आवश्यकता है या जिस तरह से लोग इसे ठीक से उपयोग कर सकते हैं, उसे प्रशस्त करने के लिए अधिक उदाहरण प्रदान करें। दूसरी ओर, यह वास्तव में शक्तिशाली लगभग ओआरएम फ्रेमवर्क प्रतीत होता है।

  5. मुझे यह तथ्य पसंद है कि वे परीक्षण पर जोर देते हैं।

  6. एक ग्रिड की कमी एक वास्तविक खींचें है। कई नहीं तो अधिकांश ऐप्स को ग्रिड की आवश्यकता होती है। उस ने कहा, एससी एक पूरी तरह से चित्रित एमवीसी ढांचा है, न कि विजेट्स (घटकों) की सूची EXTJS।

  7. कोड का एक बहुत अधिक जटिल लग रहा था। किसी भी समय 10-30 पंक्तियों की तुलना में एक विधि अधिक लंबी हो जाती है, इसे पठनीयता बढ़ाने के लिए वास्तव में तोड़ दिया जाना चाहिए।

  8. शायद सबसे बड़ा विचार यह है: यदि आप एक परियोजना पर काम कर रहे हैं और एससी पर विचार कर रहे हैं, तो आपको इस पर काम करने के लिए सक्षम डेवलपर्स को खोजने में वास्तविक परेशानी होने वाली है। तो यह एक छोटी व्यक्तिगत परियोजना के लिए अच्छा हो सकता है, लेकिन आप एक बड़ी परियोजना के साथ एक जोखिम ले रहे हैं जिसे रखरखाव की आवश्यकता होगी।

  9. आईआरसी समर्थन अभूतपूर्व था। उस चैनल के लोग वास्तव में मददगार हैं।


1
डेटा एक्सेस लेयर बहुत जटिल है। इसका बहुत बड़ा रहस्य है। - वास्तव में। इसके अलावा, डिबगिंग एक कार्य का एक नरक है।
13

@ c69 - जब मैंने यह लिखा तो मुझे विश्वास था कि। लेकिन तब से मैंने अंदर खोद लिया है और इस नतीजे पर पहुंचा हूं कि डेटास्टोर काफी शक्तिशाली है और समझने में भी मुश्किल नहीं है। आपको बस इसके साथ सामान करना शुरू करना होगा
hvgotcodes

हो सकता है कि वर्तमान रिलीज़ में, यह सच है - लेकिन मैं विरासत SC के साथ काम करता हूं, और इसका सिर्फ पागलपन .. (और इसके
लायक

@ c69, यदि आपको कोई समस्या है, तो एक प्रश्न पूछें और शायद मैं मदद कर
सकूं

15

Google समूह में स्प्राउटकोर समूह पोस्ट के माध्यम से ब्राउज़ करें कि क्या हो रहा है।

कुछ हफ़्ते पहले किसी ने डॉक्स के बारे में शिकायत की थी, एक नौसिखिया होने के नाते, और मूल रूप से उसे क्या मिला: "अगर आपको यह पसंद नहीं है, तो आप डॉक्स बनाने में मदद क्यों नहीं करते हैं ..." अच्छी तरह से दोह !!

स्थापना के बाद से आप इस तरह के मुद्दों को देखेंगे। इसके अलावा कुछ हफ्ते पहले किसी ने समूह से पूछा कि स्प्राउटकोर का उपयोग करके हाइपरलिंक कैसे बनाया जाए। मेरा मतलब है, LOL, स्पष्ट रूप से एक साधारण हाइपरलिंक बनाने में घंटों लगते हैं।

स्प्राउटकोर उन विज्ञापनों का विज्ञापन नहीं करता है जो जंगली में अपने ढांचे का उपयोग कर रहे हैं: आमतौर पर एक अच्छा संकेत नहीं है।

यह दावा किया जाता है (स्प्राउटकोर ओफिक ही नहीं) जो कि Apple इसका उपयोग करता है, लेकिन यदि आप बारीकी से देखेंगे तो आप देखेंगे कि Apple का अपना कोडबेस है।

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


5
मैंने दावा किया कि Apple इसका उपयोग करता है, और यह Apple से ही है। MobileMe को SproutCore के साथ लिखा जाता है। Appleinsider.com/articles/08/06/16/…
चक

Apple का अपना कोड आधार है, लेकिन वे नियमित रूप से सार्वजनिक रेपो के साथ वापस आ जाते हैं।

इसके अलावा, हाइपरलिंक समस्या के जवाब में, SC को समृद्ध वेब ऐप बनाने के लिए बनाया गया है। इसका मतलब है कि आप सामान्य रूप से स्वयं डोम को स्पर्श नहीं कर रहे हैं। नतीजतन, आप अपने खुद के हाइपरलिंक बनाने का इरादा नहीं कर रहे हैं।

7

मैं SproutCore का उपयोग कर रहा हूं और यह बहुत अच्छा है। हमने jQuery से SproutCore पर स्विच किया , क्योंकि jQuery उपयोगिताओं का एक छोटा सा सेट प्रदान करता है और SproutCore एक अच्छा उच्च-स्तरीय वास्तुकला प्रदान करता है।

हमने निम्नलिखित क्रम में इन जावास्क्रिप्ट पुस्तकालयों का मूल्यांकन किया:

  1. प्रोटोटाइप , जो ठीक लगा लेकिन jQuery के पास अधिक समर्थन और किताबें आदि हैं।
  2. jQuery , जो बहुत अच्छा लगा, लेकिन इसके पास एक उच्च स्तरीय वास्तुकला के लिए कोई समर्थन नहीं था और हमने एक निर्माण करना शुरू किया, लेकिन इसमें बहुत अधिक समय लगा।
  3. कैप्पुकिनो , जिसमें एक उच्च स्तरीय वास्तुकला है, लेकिन रोडमैप और प्रलेखन का अभाव है
  4. स्प्राउटकोर द सोलोल्यूशन, क्योंकि यह एक अच्छा उच्च-स्तरीय आर्किटेक्चर प्रदान करता है और इसमें एक अच्छा बिल्ट-इन बिल्ड सिस्टम है

हमारी शीर्ष सूची:

  1. स्प्राउटकोर विजेता है
  2. jQuery एक अच्छा टूलकिट है
  3. कैप्पुकिनो आशाजनक लगता है लेकिन अभी तक वहाँ नहीं है
  4. प्रोटोटाइप ठीक है, लेकिन मेरी राय में jQuery के रूप में अच्छा नहीं है

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

बस एक और टिप। इस उत्तर को लिखने के समय स्प्राउटकोर 1.0 नवीनतम स्थिर संस्करण है। दुर्भाग्य से यह काफी पुराना है और हम नवीनतम संस्करण का उपयोग कर रहे हैं जो स्प्राउटकोर के जीथब पृष्ठ से पाया जा सकता है । मैं अत्यधिक अनुशंसा कर सकता हूं।


4

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

आप SproutTweets एप्लिकेशन को github http://github.com/sproutit/sproutcore-samples/tree/master/apps/sproutweets/ पर पा सकते हैं

  • यह भी ध्यान रखें कि सफ़ारी में सैंपल को वेब इंस्पेक्टर के साथ चलाने से त्रुटि संदेशों का अधिक उपयोगी सेट मिलता है।
  • Sc- सर्वर में एक प्रॉक्सी होता है जिसका उपयोग स्थानीय वेब सर्वर पर चल रहे अपने स्वयं के REST डेटा स्रोत तक पहुंचने के लिए किया जा सकता है। ऊपर दिए गए स्प्राउटलाइक्स सैंपल ऐप में बिल्डफाइल को देखें कि यह कैसे काम करता है।
  • Sc-सर्व में शामिल प्रॉक्सी बहुत सीमित है। यदि आपके डेटा लेयर रिक्वेस्ट के साथ आपकी समस्याएँ बनी हैं, तो अपने स्थानीय वेब सर्वर पर तैनाती को प्रॉक्सी के बजाय आज़माएं। हमने अपने 401 प्रमाणीकरण छोरों और बड़े डेटासेट प्रतिक्रियाओं (चंकड एन्कोडिंग) की स्ट्रीमिंग के साथ मुद्दों को पाया।

यहां तक ​​कि अगर आपके पास उत्पादन एप्लिकेशन में स्प्राउटकोर का उपयोग करने का कोई इरादा नहीं है, तो आप इसे अपने आप को इसका श्रेय देने के लिए जावास्क्रिप्ट एप्लिकेशन प्रोग्रामिंग के लिए एक शक्तिशाली दृष्टिकोण को देखने के लिए आगे बढ़ते हैं - विशेष रूप से केवीओ और मिश्रण (पहलू) सामान। महान वास्तुकला के बहुत सारे विचार और से सीखते हैं।

अंतिम बिंदु - सूचना के अन्य स्रोतों की तुलना में आईआरसी चैनल कहीं अधिक सहायक हो सकता है, केवल Google समूह चर्चाओं में कुछ गहरे गोता लगाने के लिए।


2

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

स्प्राउटकोर में कंपाइलर्स के लिए एक करीबी सादृश्य है। यदि आपके पास बहुत से ऐसे तत्व हैं जो आप अपने वेब पेज के लिए बना रहे हैं, तो एक मौका है कि आपके पास jQuery के साथ अपना एप्लिकेशन बनाने के लिए आईडी पर एक नामस्थान टकराव होगा। जब आप अपने वेब पेज को jQuery के साथ बना रहे हों, तो HTML तत्वों के सभी आईडी ग्लोबल्स हैं। संकलित या व्याख्या की गई भाषा में स्थानीय गुंजाइश जैसी कोई चीज नहीं है।

SproutCore आपके लिए HTML सामग्री का प्रबंधन करता है। जावास्क्रिप्ट का उपयोग करके विचारों का निर्माण किया जाता है और फिर संकलित किया जाता है। यदि आप स्प्राउटकोर ट्यूटोरियल से गुजरते हैं (और मैं मानता हूं कि स्प्राउटकोर के पास डॉक्यूमेंटेशन की कमी है, तो आपको एक व्यावसायिक अनुप्रयोग के लिए इसे टालने की कोशिश करनी चाहिए), आप देखेंगे कि आपके तैयार प्रोजेक्ट में "sc - ###" के आईडी तत्व हैं। Namespace टकराव आप तेजी से काम करने की क्षमता देने वाली वेबसाइट पर हल हो जाते हैं।

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

आखिरी मुद्दा। स्प्राउटकोर धीमा हो सकता है। लेकिन यह कीमत चुकानी होगी

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