간단하게 RxJava에 대해서만 훑어보자.
Reactive Programming에 대한 이야기는 한번 했지만
다시 이야기 하자면,
데이터 흐름을 먼저 정의하고 데이터가 변경되었을 때 연관되는 함수나 수식이 업데이트 되는 방식.
(데이터 흐름과 변화의 전달에 관한 프로그래밍 패러다임)
중요하게 기억해야 할 건,
주변과의 끊임없는 상호작용 + 프로그램 주도가 아닌 환경 변화에 따라 이벤트를 받아 동작하는 프로그래밍이란 것이다.
어플리케이션에서 Reactive Programming을 하려면 Reactvie Programming이 가능한 환경이 필요하다.
데이터 소스를 정의할 수 있고 그것의 변경 사항을 받아서 내 프로그램에 알려줄(push) 존재로 그것을 .NET환경에서는 리택티브 확장이라하고 JVM위의 자바 언어로 구현해놓은 라이브러리가 RxJava이다.
1. 동시성을 적극적으로 수용할 필요가 있다.
2. 자바Future를 조합하기 어렵다는 점을 해결해야 한다.
3. 콜백 방식의 문제점을 개선해야 한다.