2009-06-28 7 views
53

क्या स्काला के लिए कार्यात्मक प्रतिक्रियाशील प्रोग्रामिंग सक्षम करने के लिए कोई पुस्तकालय लिखा गया है?स्कैला में कार्यात्मक प्रतिक्रियाशील प्रोग्रामिंग

+0

यह भी देखें http://stackoverflow.com/q/11619680/403455 –

उत्तर

8

मैं नहीं स्काला तो कितना अच्छा इन कर रहे हैं पता नहीं है, लेकिन यहाँ कि स्केला में एफ आर पी के बारे में बात टिप्पणी के साथ एक ब्लॉग है: Functional Reactive Programming (FRP) in Scala (Fresca, ScalaFX) और here reddit कि एक stackoverflow बातचीत है कि मेरे ऊपर के लिंक करने के लिए नेतृत्व से पता चलता है ।

मुझे स्कैला में एफआरपी क्षमताओं के बारे में कुछ प्रश्न होंगे।
ScalaFX की वर्तमान स्थिति क्या है? 3 महीने से अपडेट नहीं किया गया है ... क्या यह वर्तमान में उपयोग योग्य है?

यह निश्चित रूप से उपयोग करने योग्य है, अभी तक एक आधिकारिक रिलीज नहीं है।

क्या कोई अन्य एफआरपी ढांचा आ रहा है (उदाहरण के लिए फ्रेशका पुनर्जन्म)?

फ़्रेस्का स्केल में FRP पर मेरा पहला प्रयास था। एसएफएक्स वर्तमान में ट्रंक में कई पहलुओं में फ्रेशका पर सुधार करता है और इसे फ्रेशका के उत्तराधिकारी के रूप में देखा जा सकता है।

42

ओडर्सकी एट अल। पेपर "Deprecating the Observer Pattern" भी देखें। यह पुस्तकालय Scala.React बताता है, जिसे कागज के लिए विकसित किया गया था।

+3

यह पेपर वास्तव में बहुत अच्छा है। यह वास्तव में मुझे समझ गया कि एफआरपी में सभी फज़ क्या है ... –

+11

[यहां] (http://infoscience.epfl.ch/record/176887) नया संस्करण है। –

+0

स्कैला के उपयोग से राज्य के नियंत्रण को बदलने के लिए http://stackoverflow.com/q/11619680/403455 –

12

प्रतिक्रियाशील है - http://github.com/nafg/reactive। भंडार में वर्तमान में दो परियोजनाएं हैं। प्रतिक्रियाशील कोर एक स्टैंडअलोन एफआरपी पुस्तकालय है। प्रतिक्रियाशील-वेब बहुत गतिशील और इंटरैक्टिव लिफ्ट वेबपैप्स बनाने में बहुत आसान बनाने के लिए बनाता है। http://github.com/erikrozendaal/scala-reactive

यह एक प्रत्यक्ष IObservable की जगह लेने विशेषता के साथ माइक्रोसॉफ्ट के रिएक्टिव एक्सटेंशन पुस्तकालय से प्रेरित है, और स्काला संग्रह एपीआई के रूप में ज्यादा आरएक्स LINQ एपीआई के लिए है के आधार पर:

+1

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

+0

@ ओवेन - यह दिलचस्प है। आप आवेदकों का उपयोग कहां करते हैं? अनुलेख क्या आपके पास एक स्विंग पुल है जो साझा करने योग्य है? – nafg

+0

'सिग्नल 'एक आवेदक है। और मैंने किसी भी तरह के पुल का उपयोग नहीं किया; मैं सिर्फ स्विंग कोड के साथ मिश्रित प्रतिक्रियाशील कोड - स्विंग घटकों के बाद से थोड़ा गन्दा है, लेकिन प्रयोग योग्य है। आखिरकार पूरी चीज गिटूब पर होगी। – Owen

5

वहाँ स्केला प्रतिक्रियाशील है।

9

https://github.com/Netflix/RxJava नेटफ्लिक्स द्वारा विकसित जेवीएम के लिए कार्यात्मक प्रतिक्रियाशील प्रोग्रामिंग लाइब्रेरी।

+2

आरएक्स (प्रतिक्रियाशील एक्सटेंशन) एफआरपी भावना में "कार्यात्मक प्रतिक्रियाशील प्रोग्रामिंग" नहीं है, हालांकि आप तर्क दे सकते हैं कि यह सामान्य अर्थ में कार्यात्मक और प्रतिक्रियाशील दोनों है। – tunesmith

7

Coursera Principles of Reactive Programming पाठ्यक्रम RxScala को बढ़ावा देता है।

आरएक्सस्काला स्कैला को प्रतिक्रियाशील एक्सटेंशन लाता है। आरएक्स को पहले .NET के लिए लागू किया गया था, और अब जावा में लागू किया जा रहा है। RxScala प्रोजेक्ट RxJava के लिए एडाप्टर है। इसका कोड एक उपनिर्देशिका में RxJava भंडार है।

यह लाइब्रेरी अभी तक समाप्त नहीं हुआ है। आपको भविष्य के संस्करणों में को तोड़ने की उम्मीद करनी होगी।

8

ली हाओई द्वारा Scala.Rx है। संक्षेप में, इसका उद्देश्य सरल, उपयोग में आसान और स्केल के हिस्सों (भागों) के अधिक अंतःक्रियात्मक पुनर्मूल्यांकन होना है। प्रतिक्रिया।

आरएक्स प्रत्यय द्वारा गुमराह मत बनो। स्काला।आरईटी को .NET से प्रतिक्रियाशील एक्सटेंशन के साथ बहुत कम करना है। Scala.Rx स्वचालित परिवर्तन प्रसार के साथ समय-भिन्न मूल्यों और कार्यात्मक निर्भरताओं की अभिव्यक्ति के रूप में एसिंक्रोनि और घटना धाराओं पर इतना ध्यान केंद्रित नहीं करता है।