Hai thư viện này giải quyết hai vấn đề khác nhau.
Bu lông
Bu lông đơn giản hoá lập trình không đồng bộ bằng cách minh bạch đẩy mã để một sợi nền. Bu lông cũng dành một lượng lớn nỗ lực cố gắng giảm bớt việc lồng mã khó coi tạo ra một kim tự tháp lồng nhau như định dạng.
Do đó, nếu bạn đang tìm cách giải quyết các vấn đề không đồng bộ (đa luồng), thì Bolts là một trong các giải pháp mạnh mẽ hơn. Bu lông cũng có hiệu quả trong việc giảm mã làm tổ và gọi lại bản mẫu và có lẽ là một giải pháp tuyệt vời cho việc cố gắng giảm các vấn đề gọi lại.
RxJava
RxJava được thiết kế đặc biệt để hỗ trợ một mô hình lập trình phản ứng. Lập trình phản ứng là một thay thế cho lập trình bắt buộc trong Java. Bạn có thể chọn chuyển sang mô hình lập trình phản ứng vì nhiều lý do - trong đó có nhiều lý do. Nếu bạn muốn di trú mã của mình sang mô hình lập trình phản ứng, hoặc bạn muốn sử dụng phản ứng trong các dự án greenfield của bạn, hãy xem xét sử dụng RxJava - tiêu chuẩn phản ứng thực tế trong thế giới Java.
Phản ứng cũng giải quyết được vấn đề lập trình không đồng bộ, cũng như giảm bớt bản mẫu gọi lại qua generics. Nhưng nó không nên được sử dụng chỉ để giải quyết những vấn đề đó. Ví dụ, khả năng Bolts để giải quyết cấu trúc mã kim tự tháp lồng nhau làm cho nó trở thành một giải pháp khả thi hơn cho lập trình không đồng bộ. Mặt khác, nếu bạn đang sử dụng phản ứng thông qua RxJava, các vấn đề không đồng bộ đã được giải quyết, do đó, không có điểm đưa vào Bu lông.
Cảm ơn !! nó là một sự chuyển đổi dễ dàng từ bu lông sang rxjava? bất kỳ cạm bẫy tôi có thể chạy vào? – reidisaki
Có rất nhiều cạm bẫy bạn sẽ gặp phải trong rx-java. Nó rất mạnh mẽ và biểu cảm. Cá nhân toán tử 'cache' không làm chính xác những gì tôi mong đợi. Ngoài ra, thật khó để viết 'Nhà quan sát 'và' Nhà điều hành 'tôn trọng áp lực ngược. – Andy