मैं एंड्रॉइड में इवेंटबस और आरएक्सजेवा के बीच के अंतर के बारे में उलझन में हूं। कुछ बदलाव किए जाने पर मुझे कुछ घटकों को सूचित करने के बारे में अपने मुद्दे के लिए उनमें से एक को लागू करने की आवश्यकता है, ताकि वे अपने राज्य को अपडेट कर सकें।
इसके अलावा, मैंने पढ़ा है कि घटनाक्रम बुस RxJava पर बहिष्कृत हो गया है और मुझे नहीं पता कि यह जानकारी सही है या नहीं।इवेंटबस और आरएक्सजेवा के बीच क्या अंतर है?
उत्तर
EventBus
और RxJava
उनकी प्रकृति में अलग हैं।
EventBus
सिर्फ bus
नाम के सुझाव के रूप में है - यह "बस" में घटनाओं को सब्सक्राइब करने और प्रकाशित करने के लिए तंत्र प्रदान करता है, बिना किसी देखभाल के, तारों को कैसे किया जाता है, यह "बस" वास्तव में क्या होता है। एंड्रॉइड का संदर्भ, EventBus
कम बॉयलरप्लेट वाले Broadcast
संदेशों को भेजने और प्राप्त करने का सौदा करने का एक आसान तरीका है।
RxJava
दूसरी तरफ उससे कहीं अधिक शक्तिशाली है। हां, आप घटनाओं की सदस्यता ले सकते हैं और प्रकाशित कर सकते हैं, लेकिन प्रक्रिया पर अधिक नियंत्रण है - आवृत्ति, जिस पर थ्रेड सबकुछ होता है, आदि। RxJava
(मेरी राय में) की मुख्य शक्ति यह है कि आप डेटा को बहुत आसान प्रकाशित कर सकते हैं , इसके कुछ टन operators
का उपयोग कर।
सारांश में - यदि आप केवल कुछ घटनाओं का प्रकाशन और जब प्राप्त कुछ कार्यों का निष्पादन के बारे में परवाह - आप शायद दो का सबसे सरल, अर्थात् Bus
किसी तरह का, या यहाँ तक कि सादे पुराने BroadcastReceiver
s का उपयोग करके बेहतर होगा। यदि आपको डेटा को बदलने, थ्रेडिंग या सरलीकृत त्रुटि प्रबंधन को संभालने का भी लाभ होगा - RxJava
दृष्टिकोण के लिए जाएं। बस ध्यान रखें कि RxJava
में आमतौर पर एक सीधी सीखने की वक्र होती है, इसलिए इसकी अवधारणा में उपयोग करने में कुछ समय लगता है।
आपके उत्तर के लिए धन्यवाद। EventBus का उपयोग करने के नुकसान क्या हैं? क्या यह आरएक्सजेवा की तुलना में सीमित है? – HiddenDroid
@HiddenDroid हां यह है; आप इवेंटबस के साथ आगे बढ़ सकते हैं लेकिन मेरी राय में आरएक्सजेवा के पास अपने ऑपरेटरों के साथ बहुत कुछ है। आरएक्सजेवा लोकप्रियता प्राप्त कर रहा है (वास्तव में केवल आरएक्सजेवा नहीं, सामान्य रूप से प्रतिक्रियाशील प्रोग्रामिंग) और आप पाएंगे कि कई पुस्तकालयों में इसे अपने एपीआई (उदाहरण के लिए, रेट्रोफिट) में शामिल किया गया है। एक तरफ ध्यान दें, इसका उपयोग करने के बाद इसका उपयोग करना वास्तव में सुविधाजनक है। – mewa
@HiddenDroid: 'EventBus' के किसी भी विशिष्ट नुकसान के बारे में नहीं सोच सकता- यह हमेशा आपके कार्य के लिए आता है। जैसा कि मैंने अपने जवाब में कहा - अगर आपको केवल कुछ घटनाओं को कुछ/प्रतिक्रिया देने की आवश्यकता है - बस पूरी तरह से काम करेगी। यदि आपका कार्य उससे अधिक जटिल है - शायद यह अन्य समाधानों की खोज करने लायक है। यह चाल कार्य के लिए सही उपकरण ढूंढना है, इसलिए आपको खुद को RxJava में धक्का देने की आवश्यकता नहीं है यदि आपको केवल 1-2 ब्रॉडकास्ट रिसीवर हैं ... – Vesko
- 1. आरएक्सजेवा और बोल्ट के बीच क्या अंतर है?
- 2. इवेंटबस, रजिस्टर और रजिस्टरस्टीकी विधि
- 3. [अपरिभाषित] और [,] के बीच क्या अंतर है?
- 4. # {} $ {} और% {} के बीच क्या अंतर है?
- 5. `&` और `ref` के बीच क्या अंतर है?
- 6. $ और $$ के बीच क्या अंतर है?
- 7. के बीच क्या अंतर है:। और: आर !?
- 8. वेरिलोग के बीच क्या अंतर है! और ~?
- 9. भिन्नता और '-' के बीच क्या अंतर है?
- 10. क्या $ @ और "$ @" के बीच कोई अंतर है?
- 11. * और * के बीच क्या अंतर है?
- 12. "$^एन" और "$ +" के बीच क्या अंतर है?
- 13. के बीच क्या अंतर है?
- 14. अंतर और कहां के बीच क्या अंतर है?
- 15. इवेंटबस
- 16. file_get_contents और fread बीच क्या अंतर है
- 17. @Android बीच क्या अंतर है: और एंड्रॉयड:
- 18. क्या बीच का अंतर है :: और ::: स्काला
- 19. "। +" और "। +?" के बीच अंतर
- 20. चिज़ेल और लावा और सीएलएएसएच के बीच क्या अंतर है?
- 21. Microsoft.AspNet.WebApi.OData और Microsoft.Data.OData और Microsoft.AspNet.OData के बीच क्या अंतर है?
- 22. $ {} और # {} के बीच अंतर क्या हैं?
- 23. क्या के बीच ("") अंतर और (शून्य)
- 24. PHP के बीच क्या अंतर है और इसमें शामिल है?
- 25. क्या) सूची के बीच का अंतर है (और है []
- 26. अपवाद के .TOString() और मैसेज के बीच क्या अंतर है?
- 27. 7zip के 7z.sfx और 7zsd.sfx के बीच क्या अंतर है?
- 28. lodash के _.map और _.pluck के बीच क्या अंतर है?
- 29. भविष्य के पूर्ण और flatMap के बीच क्या अंतर है?
- 30. सूची के लिए ::: और ++ के बीच क्या अंतर है?
जहां तक मुझे पता है, वे थोड़ा अलग उद्देश्यों की सेवा करते हैं, लेकिन मूल रूप से, आरएक्सजेवा इवेंटबस –
[एंड्रॉइड प्रो एंड कंस: इवेंट बस और आरएक्सजेवा] के संभावित डुप्लिकेट (http://stackoverflow.com/) से अधिक कर सकता है प्रश्न/30147877/एंड्रॉइड-प्रोस-कंस-इवेंट-बस-एंड-आरएक्सजेवा) –
ओटो को बहिष्कृत किया गया है लेकिन ग्रीनरोबोट नहीं है। http://greenrobot.org/eventbus/ – Kuffs