[RxSwift] RxSwift 시작하기

Clint Jang
5 min readNov 17, 2018

--

RxSwift를 예전에 맛만 봤다가..

이번에는 익혀서 프로젝트에 적용하려고, 다시 공부를 시작했습니다.

Rx 어렵다. 어렵다 하는 데.. 저도 뭘 해야 될 지 모르겠더군요.

참 막막합니다.

RxSwift를 정말 해야되나?

잘 모르겠습니다. 😭

iOS 개발을 하려고 하는 데, 생각보다 쉽게 따라할 자료도 찾기 쉽지 않더군요.

개발을 잘하시는 분들은 어떻게 공부 하셨으려나 싶은 궁금증이 있습니다.

전 잘 하지 못하지만,

제가 처음 공부하기 시작한 방법 / 과정을 메모해봤습니다.

처음에 시작한 순서는 크게 4가지 입니다.

  1. 구글에서 Rx란? RxSwift 관련 블러그를 검색해서 글을 많이 읽어봤습니다.
  2. RxSwift Github을 받아서 셈플 소스를 실행시켜 테스트, 공부해 봤습니다.
  3. 좋은 Rx 책을 구입해서, 공부하고 그것을 RxSwift로 변환해보며 공부했습니다. (현재 Swift Rx 좋은 책을 찾기 어렵네요.)
  4. 하루에 1개의 오퍼레이터를 익혀보자 라는 간단하지만 어려운 목표 정해서 노력해보기

1. 좋은 블러그 / 유튜브!

우선 아는 것이 없으니 초기에는 구글 검색을 통해 여러 글들을 읽어보고, 지인과 대화해보며 정보를 얻었습니다.

우선, RX가 무엇인지 왜 쓰는 지 이해해 보려는 노력을 해보면 좋은 것 같습니다.

RxSwift 란?

기억 나는 좋은

블러그는..

마기님

Wade 님

민소네님

등등 좋은 블러그의 글들이 있었습니다.

유튜브는..

(이 내용은 나중에 추가한 부분입니다. 처음 할때는 곰튀김님 유튜브가 없었던 것 같아요.. 😭)

RxSwift 는 곰튀김님이 짱입니다.!

2. RxSwift 셈플소스

RxSwift Github에 들어가 보면

RxSwift/RxExample/ 폴더가 있습니다.

실행해 볼 수 있습니다.

좋은 셈플 소스가 있습니다.

  • 실행해보고, 소스도 한 번 확인하고!!

처음에 RxSwift 란 어떤 것 인지 감 잡기 좋습니다.

좋아요!!! 👍

첫 샘플 소소로는 개인 적으로 가장 좋은 것 같습니다.

3. 다른 언어이지만, 좋은 Rx 책을 구입

처음에는 책을 고민했습니다.

RxSwift는 맘에드는 책… 책 자체를 찾기 어렵더군요.

그래서 여쭤보니 제가 좋아하는 분이 추천해주셨어요.

RxJava 책입니다.

정말 좋더군요.

RxMarble 사이트에서 오퍼레이터를 보는 것으로는 처음에는 더 어렵게만 느껴지고..

좋은 블러그 글은 항상 띄워놓을 수가 없어서 ..

필요할 때 좋은 책이 있다는 것이 좋았습니다.

목차 부분을 살짝 접어서.. 언제든지 펴 볼 수 있도록 해두고, 오퍼레이터의 의미를 이해하려고 노력했습니다.

그리고 그 RxJava의 오퍼레이터를 RxSwift로 만들어보는 공부하는 과정을 거쳤습니다.

이때, 나중에도 언제든지 다시 받아 볼 수 있고, 다른 PC에서도 이어서 공부 할 수 있도록 Github을 이용해서, 천천히 하나씩 만들어 보고 Commit 하고.. 의미를 이해할 수 있도록 검색해서 다양한 블러그 내용을 읽어보고..

이렇게 반복하고 있습니다.

  • 이제 하고 있는 거죠 ~

4. 간단한 목표

RX 오퍼레이터 들이 많아 보이지만..

하루에 한개씩 코드로 간단하게 만들어보고, 테스트 해보며 이해해보면..

한달이면 주말 빼고, 22개를 익혀 볼 수 있어요.

(100 % 지키진 못하겠지만, 노력하고 있습니다. )

실제 비슷하고, 어느정도 이상을 익히면 프로젝트를 만들어보면서 해도 충분한 것 같습니다.

많기는 정말 많습니다. 😓

(아래의 모든 연산자가 RxSwift에 있는 것은 아닙니다.😭)

Observable 연산자 리스트(알파벳순)

후아~ 많다…

많이 만들어 본 만큼, RxSwift에 대한 자신감도 상승할 거라 믿고 있습니다.

파이팅!

이 글을 쓴지 2개월 정도 지났네요.. RxSwift를 해보면서..

왜? RxSwift를 사용하면 좋을까??? 에 대한 생각을 메모해 봤습니다.

(요즘에는 매일매일 하나씩 만들어보기를 못하고 있네요😭😭 )

좋은 하루되세요. 🙇

--

--