Skip to content
  • Home
  • Code
  • iOS & Swift
  • Combine
  • RxSwift
  • SwiftUI
  • Flutter & Dart
  • Tutorials
  • Art
  • Blog
Fx Studio
  • Home
  • Code
  • iOS & Swift
  • Combine
  • RxSwift
  • SwiftUI
  • Flutter & Dart
  • Tutorials
  • Art
  • Blog
Written by chuotfx on September 29, 2020

RxSwift – Phần 1 : Cơ bản

RxSwift . Tutorials

Contents

  • 1. Giới thiệu
    • 1.1. Basic RxSwift
    • 1.2. Mini Series
  • 2. Mục đích
    • 2.1. Mục đích
    • 2.2. Đối tượng
  • 3. Lộ trình cơ bản
    • 3.1. Môi trường
    • 3.2. Danh sách
  • 4. Thông tin và trạng thái
    • 4.1. Thông tin
    • 4.2. Bản quyền

Chào bạn đến với Fx Studio. Bài viết này có một chút đặc biệt trong series RxSwift. Thay vì đi vào các đề tài mới trong thế giới RxSwift, bài viết sẽ tổng hợp phần Basic RxSwift cho các bạn mới sẽ dễ tiếp cận hơn.

1. Giới thiệu

Life is not easy!

1.1. Basic RxSwift

Về định nghĩa cho Basic RxSwift, thì đó là một phạm trù rất lớn. Tuy theo phạm vi & mục đích mà bạn muốn mọi người hiểu, thì giới hạn phần Basic sẽ thay đổi theo.

Trong giới hạn mà Fx Studio đặt ra. Với kiến thức Basic được truyền tải này, bạn sẽ bắt đầu từ 1 người chưa biết gì về Rx hay Reactive Programming. Cho đến khi bạn nắm được sự hoạt động của các Observables và các thành phần cơ bản đầu tiên.

Các phần kiến thức Basic này khá là nhiều. Tuy nhiên, mình đã tiến hành lọc và bỏ đi khá nhiều phần không cần thiết. Ngoài ra, kiến thức rất khô khan. Bạn sẽ gặp bỡ ngỡ đầu tiên là việc áp dụng nó như thế nào vào dự án. Bên cạnh đó, việc trình bày và demo chỉ dựa trên code & console. Bạn sẽ không thấy được nó hoạt động trực quan, không thấy được sự biến đổi giao diện …

Phạm vi giới hạn:

    1. Observables
    2. Subscriptions
    3. Subjects
    4. Operators

1.2. Mini Series

Về toàn bộ series RxSwift, nó được chia ra nhiều phần lớn (hiện tại mình chưa chốt được số lượng các phần). Trong đó, phần Basic này thì mình tạm gọi là một Mini Series trong cả phần lớn. Mini Series sẽ trình bày các nội dung xuyên suốt như sau:

  • Giới thiệu

Cách mà bạn tiếp cận với RxSwift, cũng như bắt đầu bước vào thế giới Reactive Programming. Ngoài ra, mục này sẽ truyền tải thêm nhiều khái niệm trong trường phái Rx. Và cuối cùng là cách cài đặt & sử dụng thư viện RxSwift.

  • Observables & subscribe

Giới thiệu về Observables. Các thể loại Observables và các dạng đặc biệt của nó. Bên cạnh đó, trình bày về sự hoạt động cơ bản của Rx. Việc subscribe và quản lý các subscriptions. Cuối cùng là cách giải phóng và quản lý bộ nhớ tối ưu nhất trong RxSwift.

  • Subjects

Giới thiệu các loại Subjects được dùng. Cách tạo, công dụng & cách hoạt động cho từng loại.

  • Operators

Liệt kê các nhóm toán tử thường dùng dựa theo sự phân loại theo công năng của chúng. Trình bày các đặc điểm của từng toán tử. Demo sự hoạt động của từng toán tử.

2. Mục đích

2.1. Mục đích

Bạn học RxSwift để làm gì?

Tất nhiên, là để bạn tăng thêm lượng kiến thức và làm dự án xịn sò hơn. Vì học thêm cái gì cũng đều tốt hết. Nhưng mục đích chính mà mình muốn truyền đạt thông qua series này là:

Phần tiếp theo sau khi bạn đã hoàn thành về Basic iOS.

Ngoài ra, các mục đích khác thì hầu như mình giúp bạn chuẩn bị cho thế giới ngoài kìa đầy bão tố. Và theo xu thế lập trình mới, thì dường như Reactive Programming cũng đã len lỏi vào tất cả các nền tảng. Nó thay đổi thói quen lập trình của bạn rất nhiều. Mặc dù, Apple đã đưa ra Combine (một thư viện xịn sò & chính chủ để làm Reactive Programming trong iOS) nhưng vẫn không thể thay đổi thực tại được.

Nhà nhà & người người đều dùng Rx.

Và ngay cả các mô hình cũ như MVC & MVVM thì cũng được tăng cương sức mạnh bằng Rx. Bạn cũng dễ dàng tiếp cận nền tảng khác nếu nó cũng sử dụng Rx. Vì hầu hết đều giống nhau về mặc bản chất và tương đồng về toán tử.

Cuối cùng, bạn sẽ hình thành một nền tảng lập trình mới. Cùng là mục tiêu cuối cùng hướng tới.

Reactive Programming

Hoặc theo Apple thì nó được nâng tầm lên.

Asynchronous Programming

2.2. Đối tượng

Mặc dù là cơ bản, nhưng nó không phải dành cho tất cả mọi người trong giới iOS Dev.

Trước tiên, bạn phải học xong về lập trình iOS cơ bản.

    • Tham khảo : Lập trình iOS cho mọi người

Tiếp theo, bạn phải hiểu kỹ các phần sau:

    • Protocol
    • Closure
    • Grand Central Dispatch – Basic Queue
    • Grand Central Dispatch – Managing Task
    • Delegation Pattern

Cuối cùng, bạn cần nắm rõ các mô hình lập trình cơ bản trong iOS để có thể tiến được xa hơn.

    • MVC
    • MVVM

Nếu như mọi thứ đối với bạn đều ổn rồi, thì …

Quẩy thôi!

3. Lộ trình cơ bản

3.1. Môi trường

    • Swift 5.x
    • Xcode 11
    • RxSwift 5.x

Đó là những thông tin về version cho từng thành phần bạn sẽ dùng trong series này. Nguyên cả mini-series, bạn chỉ cần dùng mỗi Playground mà thôi. Nên vấn đề môi trường, bạn cũng không cần quá quan tâm lắm. Cách cài đặt và sử dụng thư viện thì mình cũng có hướng dẫn hết rồi.

Về mã nguồn của các demo ví dụ & các project được sử dụng trong tất cả các bài viết. Thì bạn có thể checkout theo repo sau đây:

    • https://github.com/fx-studio/rxswift_notes

3.2. Danh sách

    1. Giới thiệu
      1. Giới thiệu
      2. Hello world!
    2. Observables & Subscribe
      1. Observables
      2. DisposeBag
      3. Creating an Observable
      4. Traits
    3. Subjects
      1. Hello Subjects
      2. Publish Subjects
      3. Behavior Subjects
      4. Replay Subjects
      5. Relays
    4. Operators
      1. Operators & Hello world!
      2. Filtering Operators
      3. Transforming Operators
      4. Combining Operators
      5. Time Based Operators

4. Thông tin và trạng thái

4.1. Thông tin

    • Website: Fx Studio
    • Link seri: https://fxstudio.dev/category/code/rxswift/
    • Github: https://github.com/fx-studio/rxswift_notes
    • Trạng thái: đang cập nhật

Nếu bạn có đóng góp hay nhận xét về series này, cách viết bài, cũng như nội dung truyền tải. Thì mình rất rất cảm ơn. Nếu có bất cứ vấn đề gì, thì bạn có thể liên lạc theo các địa chỉ dưới đây.

    • Website: https://fxstudio.dev/contact/
    • Email: lephuongtien.dev@gmail.com

4.2. Bản quyền

Về bản quyền của series RxSwift là của Fx Studio, bao gồm các bài viết trên website & mã nguồn trên GitHub. Và chúng hoàn toàn miễn phí cho các mục đích phi lợi nhuận và học tập. Tất cả các hành vi sao chép hay sử dụng vì mục đích thương mại đều là vi phạm.

Vui lòng để lại link bài viết gốc, nếu bạn muốn sử dụng & cũng như trích dẫn các nội dụng từ các bài viết trong Series RxSwift này.

Cảm ơn bạn đã ủng hộ Fx Studio và series RxSwift!

FacebookTweetPinYummlyLinkedInPrintEmailShare1

Related Posts:

  • RxSwift – Phần 2 : UIKit
    RxSwift – Phần 2 : UIKit
  • SwiftUI - Phần 7 : State & Data Flow
    SwiftUI - Phần 7 : State & Data Flow
  • SwiftUI - Phần 4 : Apple Ecosystem
    SwiftUI - Phần 4 : Apple Ecosystem
  • SwiftUI - Phần 5 : Multiplatform App
    SwiftUI - Phần 5 : Multiplatform App
Tags: rxswift
Written by chuotfx

Hãy ngồi xuống, uống miếng bánh và ăn miếng trà. Chúng ta cùng nhau đàm đạo về đời, về code nhóe!

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Donate – Buy me a coffee!

Fan page

Fx Studio

Tags

Actor Advanced Swift api AppDistribution Asynchronous autolayout basic ios tutorial blog callback ci/cd closure collectionview combine concurrency CoreData Core Location crashlytics darkmode dart dart basic dart tour Declarative decoding delegate deploy fabric fastlane firebase flavor flutter GCD iOS mapview MVVM optional protocol rxswift Swift Swift 5.5 SwiftUI SwiftUI Notes tableview testing TravisCI unittest

Recent Posts

  • Raw String trong 10 phút
  • Dispatch Semaphore trong 10 phút
  • Tổng kết năm 2022
  • KeyPath trong 10 phút – Swift
  • Make color App Flutter
  • Ứng dụng Flutter đầu tiên
  • Cài đặt Flutter SDK & Hello world
  • Coding Conventions – người hùng hay kẻ tội đồ?
  • Giới thiệu về Flutter
  • Tìm hiểu về ngôn ngữ lập trình Dart

You may also like:

  • SwiftUI - Phần 10 : Grid Layout
    SwiftUI - Phần 10 : Grid Layout
  • RxSwift - Traits
    RxSwift - Traits
  • SwiftUI - Phần 3 : Tích hợp SwiftUI và UIKit
    SwiftUI - Phần 3 : Tích hợp SwiftUI và UIKit
  • SwiftUI - Phần 7 : State & Data Flow
    SwiftUI - Phần 7 : State & Data Flow
  • RxSwift – Phần 2 : UIKit
    RxSwift – Phần 2 : UIKit

Archives

  • February 2023 (1)
  • January 2023 (2)
  • November 2022 (2)
  • October 2022 (1)
  • September 2022 (5)
  • August 2022 (6)
  • July 2022 (7)
  • June 2022 (8)
  • May 2022 (5)
  • April 2022 (1)
  • March 2022 (3)
  • February 2022 (5)
  • January 2022 (4)
  • December 2021 (6)
  • November 2021 (8)
  • October 2021 (8)
  • September 2021 (8)
  • August 2021 (8)
  • July 2021 (9)
  • June 2021 (8)
  • May 2021 (7)
  • April 2021 (11)
  • March 2021 (12)
  • February 2021 (3)
  • January 2021 (3)
  • December 2020 (3)
  • November 2020 (9)
  • October 2020 (7)
  • September 2020 (17)
  • August 2020 (1)
  • July 2020 (3)
  • June 2020 (1)
  • May 2020 (2)
  • April 2020 (3)
  • March 2020 (20)
  • February 2020 (5)
  • January 2020 (2)
  • December 2019 (12)
  • November 2019 (12)
  • October 2019 (19)
  • September 2019 (17)
  • August 2019 (10)

About me

Education, Mini Game, Digital Art & Life of coders
Contacts:
contacts@fxstudio.dev

Fx Studio

  • Home
  • About me
  • Contact us
  • Mail
  • Privacy Policy
  • Donate
  • Sitemap

Categories

  • Art (1)
  • Blog (22)
  • Code (4)
  • Combine (22)
  • Flutter & Dart (24)
  • iOS & Swift (86)
  • RxSwift (37)
  • SwiftUI (76)
  • Tutorials (70)

Newsletter

Stay up to date with our latest news and posts.
Loading

    Copyright © 2023 Fx Studio - All rights reserved.

    Share this ArticleLike this article? Email it to a friend!

    Email sent!