2016-06-26 2 views
25

redux 및 relay을 기반으로 기사/문서 수를 읽었지만 여전히이 두 라이브러리가 어떻게 다른지 혼란 스럽습니까?
이 두 라이브러리의 장점과 단점은 무엇입니까?
계전기에서 GraphQL의 정확한 역할은 무엇입니까?
CRM/ERP와 같은 엔터프라이즈 데이터 기반 응용 프로그램에 더 적합한 라이브러리는 무엇입니까?차이점 : Redux 및 Relay

답변

46

둘 다 응용 프로그램 상태를 관리하기위한 Facebook 프레임 워크 인 Flux 구현입니다.

  • 돌아 오는 : 일반 응용 프로그램에서 상태 관리를 처리하는 데 도움이 자바 스크립트 라이브러리입니다. Redux는 반응에 의존하지 않으며 모든 라이브러리에서 을 사용할 수 있습니다. react-redux 라이브러리는이 redux와 반응을 쉽게 통합하는 데 사용됩니다. 애플리케이션 상태 은 단일 저장소에 있으며 각 구성 요소는 상태 에 액세스 할 수 있으며 작업을 전달하여 상태를 변경할 수도 있습니다. Redux는 을 사용하여 데이터를 가져 오는 즉시 처리 할 수 ​​있지만 데이터를 가져 오지 않습니다. 서버의 데이터를 저장소로 가져 오기 만하면됩니다.

  • 계전기 : 페이스 북별로 반응을 일으키며 내부적으로도 사용됩니다. 릴레이는 둘 다 저장소를 사용한다는 점에서 redux와 유사합니다. 가장 큰 차이점은 릴레이는 서버에서 발생한 상태 만 관리하며 해당 상태에 대한 모든 액세스는 GraphQL 쿼리 (데이터 읽기 용)와 돌연변이 (데이터 변경 용)를 통해 사용된다는 것입니다. Relay는 데이터를 캐싱하고 변경된 데이터 만 가져 오는 하여 데이터 가져 오기를 최적화합니다. 릴레이는 낙관적 업데이트도 지원합니다. 즉, 서버의 결과가 도착하기 전에 상태를 변경합니다.

GraphQL가 선언 및 작성 가능 쿼리를 사용하여 웹 서비스 프레임 워크와 프로토콜이며, 페치 이상 및 페치에서 같은 문제를 해결, REST를 대체하는 유효한 후보로 여겨지고 있습니다.
GraphQL은 릴레이에 의존하지 않으며, 다른 방법으로 릴레이는 graphql에 의존합니다. Graphql은 다른 모든 데이터 페치가 수행되는 것과 동일한 방식으로 사용할 수 있습니다.

여러분이 알 수 있듯이 redux를 통한 릴레이의 장점은 데이터 가져 오기가 이미 처리되었으며 매우 최적화되어 있다는 것입니다.
반면에 클라이언트의 특정 상태는 관리 할 수 ​​없지만 거의 필요하지는 않습니다.

또한 IMO 계전기는 배우고 구현하기가 더 어렵지만 최종 결과는 더 좋고 최적화되었습니다.하지만 소규모 애플리케이션의 경우에는 줄이려고합니다.

+0

: CRM/ERP와 같은 엔터프라이즈 데이터 기반 응용 프로그램에 더 적합한 라이브러리는 무엇입니까? –

+3

릴레이, 데이터 가져 오기 및 관리의 까다로운 부분을 처리하기 때문에. 또한 나는 릴레이가 이미 내 "엔터프라이즈"관점을 가지고 있다고 말할 것입니다. 반면에 redux는 더 가벼워 질 계획입니다. 그러나 이것은 단지 의견 일뿐입니다. –

+0

@GershonPapi 당신이 중계 할 작은 애플 리케이션을 위해? 너 희가심을 의미한다고 생각해. – Timmerz