2017년 5월 20일 토요일

[STUDY] RxAndroid Part 1 (개요 - Rx등장/이해 등)



[목차]==================================================
1. Rx(Reactive Extensions)의 등장
2. Rx을 이해하기 위한 준비
3. Rx를 어디에 적용하고 사용할 수 있을까?
======================================================


1. Rx(Reactive Extensions)의 등장

여러 이슈를 처리해줄 적절한 도구는 닷넷 진영에서 등장했습니다. 마이크로소프트는 옵저버 패턴과 LINQ 스타일 문법을 확장하여 비동기처리와 이벤트 기반 프로그래밍을 할 수 있다는 것을 발견하고 연구진은 이를 정립하여 반응형 확장(Rx, Reactive Extensions)을 공개하였습니다.

반응성 확장은 곧 여러 기술 기반 회사들의 호응을 얻었다. 넷플릭스(Netflix)는 Rx를 자바(RxJava) 환경에 옮겼고, 사운드클라우드(SoundColud)의 마티아스 캐플러(Matthias Käppler)는 RxJava를 안드로이드까지 (RxAndroid) 확장합니다.


2. Rx을 이해하기 위한 준비
  • RX는 Observer patternIterator pattern과 함수형 프로그래밍으로부터 나온 최고의 아이디어 조합이다
  • CREATE(만들고)’, ‘COMBINE(조합하고)’, ‘LISTEN(들어라? - 소비하라가 맞겠죠?)’
  • 일단 Rx를 제대로 이해하기 위해서는 아래 항목을 알고 있다면 쉽게 이해가 될거다.
observer pattern
Iterator pattern
Functional programming
MVVM model
Dataflow programming

3. Rx를 어디에 적용하고 사용할 수 있을까?
  • 비동기 통신을 순차적으로 보내고 싶다. (A작업이 끝나고 B가 시작됐으면 좋겠다.)
  • 콜백을 받았는데 받는 화면이 사라져서 null에러를 뿜으면서 죽는다.
  • 핸들러랑 콜백 지옥에 빠져서 디버깅도 힘들고 햇깔린다.
  • 두개의 비동기 처리가 완료된 후에 결과 값을 합쳐서 하나로 만들고 싶다.
  • 버튼을 연타로 눌러서 이벤트가 중복실행 된다.
  • 쓰레드 관리가 힘듭니다.

출처 : 인터넷에서 RxAndroid 검색하여 필요한 정보를 다양한 사이트에서 종합하여 작성된 것입니다. 많은 사이트 내용을 종합하여 공부하여 작성하다보니 일일이 나열하지 못하였습니다. ㅈㅅ(_ _) 이글은 자유롭게 퍼 가셔서 도움이 되었으면 좋겠습니다. 감사합니다. 

댓글 없음:

댓글 쓰기