RxSwift 5: Cài đặt RxSwift

Bài viết được sự cho phép của tác giả Lê Xuân Quỳnh

RxCocoa

RxSwift triển khai các hàm tương tự của Cocoa. RxCocoa hỗ trợ tất cả các API của UIKit và Cocoa. Ngoài ra RxCocoa còn có các tính năng mở rộng, và bạn cũng có thể tự viết hàm mở rộng cho nó.

  RxSwift 10: Làm việc với PublishSubjects
  RxSwift 3: Thuật ngữ về lập trình bất đồng bộ (Asynchronous programming glossary)

Ví dụ về Rx hỗ trợ lắng nghe sự kiện nút switch:

toggleSwitch.rx.isOn
  .subscribe(onNext: { enabled in
    print( enabled ? "it's ON" : "it's OFF" )
  })

trong sự kiện onNext, mỗi khi có sự thay đổi trạng thái của nút mà hiển thị nó đang bật hay tắt, hoặc xử lý tùy ý theo logic app. RxCocoa cung cấp rx.isOn để bạn có thể đăng ký lắng nghe sự kiện đó.

Tương tự, RxCocoa cung cấp API cho nhiều control khác như UITextField, URLSesion, UIViewController…

Cài đặt RxSwift

RxSwift có sẵn trên github tại đường dẫn:

https://github.com/ReactiveX/RxSwift.

RxSwift được phát hành dưới giấy phép MIT, nói đơn giản là bạn có quyền làm gì tùy ý với source code, với điều kiện bạn phải thông báo quyền phải được bao gồm trong các ứng dụng bạn phân phối. Có rất nhiều thứ cần khám phá trong repository này, bao gồm thư viện RxSwift và RxCocoa, nhưng bạn vẫn có thể tìm thấy RxTest và RxBlocking trong đó, cho phép bạn viết unit test. Bên cạnh mã nguồn tuyệt vời, bạn sẽ thấy Rx.playground, trình diễn nhiều toán tử của nó, hay RxExample, chứa nhiều ví dụ trong thực tế. Có nhiều cách để cài đặt RxSwift:

  1. Cài đặt bằng CocoaPods

B1: Đầu tiên các bạn tạo project của mình.

B2: init pod file bằng lệnh: pod init.

Trường hợp nếu máy bạn chưa cài CocoaPod thì gõ lệnh này trước:

sudo gem install cocoapods

B3: sửa Podfile thành:

# Podfile
use_frameworks!

target 'YOUR_TARGET_NAME' do
    pod 'RxSwift', '6.0.0-rc.2'
    pod 'RxCocoa', '6.0.0-rc.2'
end

# RxTest and RxBlocking make the most sense in the context of unit/integration tests
target 'YOUR_TESTING_TARGET' do
    pod 'RxBlocking', '6.0.0-rc.2'
    pod 'RxTest', '6.0.0-rc.2'
end

B4: Gõ pod install và thư viện đã cài xong.

2. Cài đặt RxSwift bằng Carthage

B1: Cài đặt Carthage theo hướng dẫn:

https://github.com/ Carthage/Carthage#installing-carthage

B2: Thêm file mới tên là Cartfile vào project của bạn, và thêm dòng:

github "ReactiveX/RxSwift" "6.0.0-rc.2"

B3: Gõ lệnh:

carthage update

Cộng đồng RxSwift

Cộng đồng hiện tại đang hoạt động rất sôi nổi, nhiệt tình và giúp đỡ nhau. Bạn có thể tham gia cộng đồng tại đường dẫn:

http://community.rxswift.org

Nhiều thư viện mới mọc lên như nấm sau mưa, xem tại đây:

https://github.com/RxSwiftCommunity

Tiếp theo là bạn có thể tham gia chat với các developer khác tại Slack:

http://rxswift-slack.herokuapp.com

Tổng kết

Vậy qua 5 bài đầu tiên, bạn đã có 1 cái nhìn cơ bản về RxSwift. Bạn đã tìm hiểu về sự phức tạp của lập trình bất đồng bộ, chia sẻ state, tạo ra side effects.

Bây giờ bạn đã biết RxSwift là giải pháp tuyệt vời để giải quyết các khó khăn đó. Chúng ta sẽ cùng nhau đi sâu vào từng phần của RxSwift trong bài tiếp theo. Cùng nghiên cứu về Observables.

Bài viết gốc được đăng tải tại codetoanbug.com

Có thể bạn quan tâm:

Xem thêm Việc làm Developer hấp dẫn trên TopDev