RxJS์ ๋ํ ๋ช ํํ ์์ , ์ค๋ช , ๊ทธ๋ฆฌ๊ณ ์๋ฃ๋ฅผ ์ค๋นํ์ต๋๋ค.
By @btroncone
RxJS๋ ์ค๋๋ ์น ๊ฐ๋ฐ์์ ๊ฐ์ฅ ์ธ๊ธฐ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋์ ๋๋ค. ์ด๋ฒคํธ๋ฅผ ๋ค๋ฃจ๊ฑฐ๋, ์๋ง์ ํ๋ ์์ํฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ ํธ๋ฆฌํฐ ๋ฑ์ ๋ชจ๋ ์ฌ์ฉ๊ฐ๋ฅํ ๊ฐ๋ ฅํ ํจ์ํ ์ ๊ทผ๋ฐฉ์๋๋ฌธ์, ๋ ๋ง์ ์ฌ๋๋ค์ด Rx๋ฅผ ๋ฐฐ์ฐ๊ณ ์์ต๋๋ค. ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ, ๊ทธ๋ฆฌ๊ณ ์ด Rx์ ๊ธฐ๋ฅ์ ๋ํ ํ์คํ ์ดํด๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ฉด, ์ฌ๋ฌ๋ถ์ ๋๋ถ๋ถ์ ์ธ์ด์์ Rx๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ์ง๋ง...
RxJS์ ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ๋ฐฐ์ฐ๋ ๊ฒ์ ์ด๋ ต์ต๋๋ค. ๋ช ๋ นํ๊ณผ ์ ์ธํ ํ๋ก๊ทธ๋๋ฐ์์๋ถํฐ ์๋ง์ ๊ฐ๋ ๋ค, ๋ค์ํ API, ๊ทผ๋ณธ์ ์ธ ์ฌ๊ณ ๋ฐฉ์์ ๋ณํ์ ์ด๋ฅด๊ธฐ๊น์ง ๋ง์ ๊ฒ๋ค์ ๋ฐฐ์์ผํฉ๋๋ค. ์ด ์ฌ์ดํธ๋ RxJS์ ๊ดํ ์ดํดํ๊ธฐ ์ฌ์ด ์ค๋ช , ๊น๋ํ ์์ ์ ๊ฐ๋จํ ๊ฒ์, ๊ทธ๋ฆฌ๊ณ ์น ์์ ์กด์ฌํ๋ ์ข์ ์ฐธ๊ณ ์๋ฃ๋ค์ ์ ๊ณตํ๊ณ ์์ต๋๋ค. ์ด ์ฌ์ดํธ๋ ์๋กญ๊ณ ์ ์ ํ ๊ด์ ์ ์ ๊ณตํ์ฌ ๋ฐฐ์ฐ๊ธฐ ํ๋ค๊ณ ๊ณ ํต์ค๋ฌ์ ๋ ๊ณต์ ๋ฌธ์์ ๊ธฐ์กด์ ํ์ต์๋ฃ๋ค์ ๋ณด์ถฉํ๋ คํฉ Rx๋ฅผ ๋ฐฐ์ฐ๋ ๊ฒ์ ์ด๋ ค์ธํ ์ง๋ง, ํ์คํ ๋ ธ๋ ฅํ ๊ฐ์น๊ฐ ์์ต๋๋ค!
RxJS ์ ๋ฌธ์๋ฅผ ํตํด ์์ฐ์ฑ์ ๋์ด๋ ๋ฐ ํ์ํ ๋ชจ๋ ํต์ฌ ๊ฐ๋ ๋ค์ ํ์ตํ์ธ์!
Operators(์ฐ์ฐ์)๋ ๋ณต์กํ ๋น๋๊ธฐ ์์ ์ ์ฐ์ํ๊ณ ์ ์ธ์ ์ธ ์๋ฃจ์ ์ผ๋ก ํด๊ฒฐํด์ฃผ๋ ๊ฐ๋ ฅํ ๊ธฐ์ ์ ๋๋ค. ์ด๋ฒ ์น์ ์ ๋ชจ๋ RxJS ์ฐ์ฐ์์ ์คํ ๊ฐ๋ฅํ ๋ช ํํ ์์ ๋ฅผ ํจ๊ป ํฌํจํ๊ณ ์์ต๋๋ค . ์ถ๊ฐ ์๋ฃ์ ๊ฐ๊ฐ์ ์ฐ์ฐ์์๋ํ ์ ์ ํ ์ฌ์ฉ๋ฒ ๋ํ ์ ๊ณต๋๊ณ ์์ต๋๋ค.
Operator(์ฐ์ฐ์) ์นดํ ๊ณ ๋ฆฌ
ํน์...
Subject๋ ์ต์ ๋ฒ๋ค ๊ฐ์ ๋จ์ผ ์คํ ๊ฒฝ๋ก๋ฅผ ๊ณต์ ํ๋ ํน๋ณํ ์ ํ์ ์ต์ ๋ฒ๋ธ์ ๋๋ค.
์ต์ ๋ฒ๋ธ์ด ์ด๋ป๊ฒ ๋์ํ๋์ง์ ๋ํ ํ์คํ ๊ธฐ์ด ์ง์์ด ์๋ค๋ฉด, RxJS๊ฐ '๋ง๋ฒ'์ผ๋ก ๋๊ปด์ง๊ฒ๋๋ค. ์ด๋ฒ ์น์ ์์๋ ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ, ๊ทธ๋ฆฌ๊ณ ์ต์ ๋ฒ๋ธ๊ณผ ์นํด์ง๊ธฐ์ํด ํ์ํ ์ค์ํ ๊ฐ๋ ๋ค์ ์ตํ๊ฒ ๋ฉ๋๋ค.
RxJS๋ฅผ ์ฌ์ฉํ ์ผ๋ฐ์ ์ธ ์์ ๋ฐ ํฅ๋ฏธ๋ก์ด ์ฌ์ฉ๋ฒ๋ค.
- Alphabet Invasion Game
- Battleship Game
- Breakout Game
- Car Racing Game
- Catch The Dot Game
- Click Ninja Game
- Flappy Bird Game
- Game Loop
- Horizontal Scroll Indicator
- HTTP Polling
- Lockscreen
- Matrix Digital Rain
- Memory Game
- Mine Sweeper Game
- Platform Jumper Game
- Progress Bar
- Save Indicator
- Smart Counter
- Stop Watch
- Space Invaders Game
- Swipe To Refresh
- Tank Battle Game
- Tetris Game
- Type Ahead
- Uncover Image Game
RxJS์ ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ์ฒ์ ์ ํ์ญ๋๊น? ์ด ์ฌ์ดํธ์์ ์ฐพ์ ์ ์๋ ์ฝํ ์ธ ์ธ์๋, ์๋์ ์๋ฃ๋ค์ ์ฌ๋ฌ๋ถ์ ํ์ต์ ํฐ ๋์์ ์ค ๊ฒ์ ๋๋ค.
- RxJS Live - RxJS specific conference, Las Vegas
- RxJS Introduction - ๊ณต์๋ฌธ์
- The Introduction to Reactive Programming You've Been Missing - Andrรฉ Staltz
- RxJS: Observables, Observers and Operators Introduction - Todd Motto
- RxJS Basics ๐ต - Brian Troncone
- Asynchronous Programming: The End of The Loop - Jafar Husain
- What is RxJS? - Ben Lesh
- Creating Observable from Scratch - Ben Lesh
- Introduction to RxJS Marble Testing ๐ต - Brian Troncone
- Introduction to Reactive Programming ๐ต - Andrรฉ Staltz
- Reactive Programming using Observables - Jeremy Lund
- Functional Programming in JavaScript - Jafar Husain
- Rx Marbles - Interactive diagrams of Rx Observables - Andrรฉ Staltz
- Rx Visualizer - Animated playground for Rx Observables - Misha Moroshko
- Reactive.how - Animated cards to learn Reactive Programming - Cรฉdric Soulas
- Rx Visualization - Visualizes programming with RxJS - Mojtaba Zarei
RxJS 4์ ๊ด์ฌ์ด ์์ผ์ญ๋๊น? Denis Stoyanov ์ ํ๋ฅญํ eBook์ ์ดํด๋ณด์ธ์!