Ponieważ należy unikać odpowiedzi subiektywnych na SO, pytam konkretnie: Jakie są różnice funkcjonalne i/lub wydajnościowe pomiędzy tymi trzema bibliotekami funkcjonalnymi/reaktywnymi, które sprawiłyby, że wybrałbym jedną z nich w stosunku do innych? Wyeliminowałem BaconJS ze względu na jego zależność od jQuery. Jestem nowicjuszem w strumieniach JS i przede wszystkim interesuje mnie zapoznanie się z nimi najpierw w NodeJS, a później w kontekście AngularJS. Jeśli wybrałeś jeden z nich spośród innych, jakie kryteria prowadzą do wyboru?Jakie są funkcje różnicujące między Highland.js, Kefir.js i Rx.js?
Odpowiedz
Wszystko poniżej jest dość prywatną :)
RxJS
Plusy:
- Dokumentacja i duża społeczność.
- Wspólny interfejs z rodziną Rx *. To duża zaleta, ponieważ możesz adoptować próbki ze społeczności RxJava.
- Wiele prymitywów w bibliotece i niektórych próbkach jak z nich korzystać
- ciśnienie wsteczne
- jest to rodzaj Etalon dla innych bibliotek
Wady:
- Czasami wygląda na zbyt skomplikowaną
- Wdrożona z myślą "Java"
Bacon.js
Plusy
- Naprawdę ładne dokumentacja z niektórych zaawansowanych próbek (wąż gry, wdrażanie na przykład)
- dużo prymitywów
- realizowane z JS w umyśle
- Stwierdziłem, że naprawdę łatwo jest zacząć
Wady - nie wdrażają ciśnienia wstecznego, który sprawia, że głupie na backend
Highland.js
Plusy:
- to przeznaczony do pracy z node.js (lub browserify) środowisku, które jest naprawdę ładny
- żadne obce koncepcje (z JavaScript perspektywy/node)
- z powrotem -pressure
- implementacja jest na szczycie strumieni węzła, co jest naprawdę świetnym pomysłem
- mały ślad
Wady:
- dokumentacja Silly żadnych przykładów. Właściwie za każdym razem, gdy próbuję adoptować próbki z Rx lub Bacona
- nie ma niektórych prymitywów. Właściwie można wdrożyć większość z nich już realizowanego przez siebie, ale jest to bolesne (patrz poprzedni punkt)
Podsumowanie: z powodu braku próbek poznasz je wszystkie :) IMHO, najbardziej perspektywicznym jeden jest Highland.js . Ale RxJs jest znacznie bardziej dojrzały
Wskazówka: Jeśli chcesz o coś zapytać na StackOverflow używać RxJS dialektem i przełożyć je do młodzieży
Repozytorium Reactive-Extensions ma strony porównujące te (każdy z pozostałych do RxJS, naturalnie).
Dzięki za wskazanie tych out; Przeczytam je. Pozostawię to pytanie jeszcze przez jakiś czas otwarte na wypadek, gdyby ktoś dokonał dogłębnego porównania między nimi. – Ville
Dzięki za odpowiedź .. to jest to, czego szukałem ("plusy/minusy"). Highland.js wygląda chyba najbardziej atrakcyjnie na podstawie tego, co napisałeś powyżej. Jednakże, kiedy badam React, [istnieje próbka używająca RxJS do przepływu danych zamiast Flux] (http://qiita.com/kimagure/items/22cf4bb2a967fcba376e). Istnieją również [wiązania Rx do React] (https://github.com/fdecampredon/rx-react) i [przykład do łączenia React, RxJS, React-router i Webpack] (https://github.com/ Cmdv/React-RxJS). Więc masz rację, prawdopodobnie nauczę się więcej niż jednego z nich. :) – Ville