2012-01-13 14 views
63

नोट:दुर्भाग्य से यह प्रश्न बंद कर दिया गया था, लेकिन अगर मैं किसी और प्रश्न के साथ आता हूं तो मैं इसे बनाए रखने की कोशिश कर रहा हूं।स्कैला मिडलवेयर विकल्पों के बीच अंतर क्या हैं?

मैं स्कैला में एक सेवा विकसित करने के लिए एक अच्छा समाधान ढूंढ रहा हूं जो मोबाइल उपकरणों और मौजूदा वेब सेवाओं के बीच बैठेगा।

व्यवहार्य विकल्पों में से वर्तमान सूची इस प्रकार हैं:

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

कोई सलाह, अंतर्दृष्टि या अनुभव की सराहना की जाएगी। मुझे यकीन है कि उनमें से कुछ के साथ कुछ अनुभव होना चाहिए कि उन्हें साझा करने में कोई दिक्कत नहीं होगी।

अद्यतन:

मैं इस सवाल के लिए प्यार होता है फिर से खोल दिया है। इस सवाल का एक अच्छा जवाब नए स्केलेटर को संबंधित नुकसान से बचने में मदद करेगा।

अद्यतन 2:

ये मेरी स्वयं के अनुभवों को इस सवाल पूछ के बाद से कर रहे हैं:

फिनेक्ल - मैं एक परियोजना के लिए फिनेक्ल का इस्तेमाल किया और यह रॉक ठोस है।

स्प्रे - मेरी नवीनतम परियोजना में मैं स्प्रे का उपयोग कर रहा हूं और मैं बेहद खुश हूं। नवीनतम रिलीज अक्का 2 पर बनाए गए हैं और आप सीधे स्प्रे-कैन लाइब्रेरी के साथ इसे चला सकते हैं जो वेब सर्वर की आवश्यकता को हटा देता है। स्प्रे एक ढांचे के बजाय पुस्तकालयों का एक सेट है और बहुत मॉड्यूलर है। Learn about Spray: REST on Akka video एक शानदार अवलोकन देता है, और this blog at Cakesolutions वास्तव में एक अच्छा विकास दृष्टिकोण और वास्तुकला दिखाता है।

अद्यतन 3:

जीवन बहुत तेजी से बढ़ता रहता है। यदि आप रुकते नहीं हैं और थोड़ी देर में एक बार देखते हैं, तो आप इसे याद कर सकते हैं।- फेरिस Bueller

आजकल पसंद आसान हो गया है। मेरी विनम्र राय में स्प्रे ने युद्ध जीता है। अगली अक्का HTTP बनने के लिए यह integrated into Akka है। मैं अब कई परियोजनाओं पर स्प्रे का उपयोग कर रहा हूं और ईमानदारी से कह सकता हूं कि यह शानदार और सर्वोत्तम समर्थित सॉफ़्टवेयर है जिसे मैंने कभी सामना किया है।

यह प्रारंभिक सवाल का जवाब नहीं है, लेकिन कम से कम क्यों स्प्रे ज्यादातर मामलों में सबसे अच्छा विकल्प की तरह लगता है पर कुछ संकेत देता है। यह बेहद लचीला, गैर-अवरुद्ध और बहुत स्थिर है। इसमें क्लाइंट-साइड और सर्वर-साइड लाइब्रेरी और एक शानदार टेस्टकिट दोनों हैं। साथ ही, प्रदर्शन पर विचार प्राप्त करने के लिए इन आंकड़ों पर एक नज़र डालें: Web Framework Benchmarks

+0

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

+7

मूल रूप से क्योंकि स्टैक ओवरफ्लो चर्चा प्रश्नों के लिए डिज़ाइन नहीं किया गया है। एक अच्छे SO प्रश्न में एक विशिष्ट, सत्यापन योग्य उत्तर होता है, जो कि बहस के लिए खुला नहीं है।आपका एक पूरी तरह से सम्मानजनक सवाल है, लेकिन यह वही नहीं है जो एसओ देखना चाहता है। ये एफएक्यू के तीन उदाहरण हैं जिन्हें आप यहां नहीं पूछना चाहते हैं: "आपका पसंदीदा ______ क्या है?" "मैं ______ के लिए ______ का उपयोग करता हूं, आप क्या उपयोग करते हैं?" "अगर मैं अन्य लोगों को ऐसा महसूस करता हूं तो मैं उत्सुक हूं। ऐसा करें। "आपके प्रश्न इन तीन counterexamples के एक संकर की तरह प्रतीत होता है। –

+1

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

उत्तर

2

मैंने व्यक्तिगत रूप से लंबे समय से स्प्रे के साथ शुरुआत की और स्कैला के लिए वहां मौजूद सभी चीजों की कोशिश की। स्काला, स्प्रे, अक्का, निराकार, और scalaz निश्चित रूप से एक सीखने की अवस्था का एक सा है, वहीं एक बार आप में खुदाई और वास्तव में सीखने कैसे आप तकनीकों का उपयोग करने वाले हैं शुरू करते हैं, वे समझ बनाने और मैं तुरंत प्रकार के लिए विशेष रूप से लाभ मिले काम का मैं अभी कर रहा हूँ।

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

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

अब तक मैं के साथ स्प्रे, typesafe, और अक्का बहुत खुश हूँ। उनके मॉडल स्वाभाविक रूप से बहुत ही लचीला सिस्टम बनाने के लिए खुद को उधार देते हैं जो कुछ भी होने पर स्वयं वापस आते हैं और आप एक असफल दृष्टिकोण लेते हैं। मेरे पास एक गोमांस है जो स्प्रे के साथ है (और यह स्प्रे की गलती नहीं है) रूटिंग डीएसएल के लिए बहुत ही आईडीई समर्थन है। मैं पूरी तरह ग्रहण को तुच्छ जानता हूं और हमेशा एक आईडीईए उपयोगकर्ता रहा हूं। जब मैंने स्कैला प्लगइन का उपयोग करना शुरू किया, तो सब कुछ ठीक लग रहा था। तब मेरा रूटिंग डीएसएल स्वाभाविक रूप से बड़े जानवरों के रास्ते में विकसित हुआ। आईडीईए जिस तरह से कोड करता है, उसके बारे में कुछ ऐसा लगता है कि यह किसी भी समय स्प्रे-रूटिंग या बेकार के साथ कुछ भी मुठभेड़ करता है। यह उस बिंदु पर है जहां यह अनुपयोगी है (मैं 2-3 अक्षर टाइप करता हूं और नियंत्रण प्राप्त करने के लिए 5 मिनट का इंतजार करना पड़ता है)।

तो, किसी भी स्प्रे-रूटिंग या भारी आकारहीन कोड के लिए, मैं ensime, ensime-sbt, और scala-mode2 के साथ emacs को आग लगाना। अब अगर मैं केवल अस्थैनेक्स की गुणवत्ता के साथ एक कैसंद्रा लाइब्रेरी प्राप्त कर सकता हूं और एक और गैर-अवरुद्ध वास्तुकला का उपयोग कर बनाया गया हूं।

+0

यह एक पुराना उत्तर है। क्या आपको वह कैसंद्रा पुस्तकालय मिला? –

0

Here आप सूचीबद्ध सभी विकल्पों के संक्षिप्त विवरण के साथ स्कैला संसाधनों की एक बड़ी सूची पा सकते हैं।

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

संबंधित मुद्दे