|
지금 글을 쓰고 있는 사람은 React를 어느 정도 알고 있다는 점을 미리 밝힌다. 이 책을 구매한 목적은 직원들의 스킬을 향상시키고 향후에 진행될 프로젝트에 대비하기 위함이었다는 점도 미리 밝힌다. 이 책에 대한 첫번째 느낌은 다음과 같다. - 핵심 개념의 설명이 모호하고 부정확하다. - 자세한 설명보다는 예제 중심으로 쓰여진 책이다. - 아예 다루지 않았더라면 좋았을 내용도 있다. - 번역 상태는 좋다. 1. 가장 치명적인 것은 몇몇 핵심적인 개념의 설명이 모호하다는 것이다. 상태와 속성의 차이점, 사용시 주의 사항, Stateful Component, Stateless Component에 대한 설명 등이 부실하다. 예제를 작성하면서 익힌다라는 컨셉으로 보여지는데 오히려 내용이 이해가 되지 않은 상태에서 예제를 작성하는 것이 역효과를 일으키지 않을까 걱정된다. Flux에 대한 설명은 너무 간단하여 독자들이 Flux나 Redux와 같은 상태 관리 라이브러리의 필요성을 느끼지 못할 것 같다. 사실 이 부분은 입문자들에게 쉽지 않은 부분이다. 쉽지 않은 내용일수록 사용에 대한 필요성을 느끼게 해주는 것이 더 중요한데 그런 부분이 아쉽다. 원저자가 쉽게 설명하려고 노력한 흔적이 보이긴 한다. Flux의 각 구성요소를 비유를 들어 설명하는 부분이 바로 그것이다. 하지만 20% 부족하다. Flux의 핵심 개념중의 하나가 '단일 Dispatcher, 다중 Store', 'Store 내부에 상태변화 메서드를 포함' 등과 같은 내용인데, 하나두 설명없다. 왜 그렇게 설계했는지도..설명이 없다. 그냥 '예제를 작성해보면 실행이 될 것이다'라는 것처럼 보인다. 또 하나 아쉬운 것은 Redux를 다루었으면 어땠을까 하는 점이다. 실제로 Flux보다 Redux가 많이 쓰이고 있고, Redux에 대한 DevTools도 많이 제시되고 있으며 Redux용으로 만들어진 유용한 미들웨어들도 많이 있으니 실무에 더 도움이 될테니 말이다. 예를 들어 Flux는 간단하게 구조만 설명하고 오히려 Redux와 관련된 내용을 설명하는게 좋지 않았을까 생각한다. React-Router 내용도 조금 아쉽다. React-Router 설명을 단 20페이지로 끝내버리고 있다. 프로그래밍 방식으로 라우트 네비게이션을 수행하는 부분도 반영되어 있지 않다. 5장의 예제와 마지막 정리의 내용은 더욱 괴리감이 있어보인다. 5장의 제목은 'SPA를 위한 프레임워크'이다. SPA를 위한 프레임워크라는 말도 이상하지만 마지막 정리에서 'SPA(Single Page Application) 구현에서 중요한 것'이라고 소제목을 달았는데, 앞의 예제는 모두 SPA라고 보기 힘든 것들이었다. SPA의 핵심기술은 라우팅 기능과 상태관리이다. 이 두가지 내용은 아주 간단하게(?) 설명하고 예제는 라우팅 기능이 전혀 없는 예제라면 이 책의 저자가 SPA를 잘못 이해하고 있다고 밖에 볼 수 없다. 2. 차라리 다루지 않았으면 하는 내용들 다양하게 입문자들에게 내용들을 제시하는 측면에서는 나쁘다고는 볼 수 없으나 React-native, Electron을 다룬 것은 바람직해보이지 않는다. 너무 단순하게 다룬 탓에 실무에서 활용할 수 있는 수준이 아닌 상황이 되어 버렸다. 오히려 이 부분을 걷어내고 핵심 개념 설명에 집중하는 것이 좋지 않았을까 생각한다. 3. 번역 상태는 좋다. 윤인성 역자의 번역 상태는 좋다. 약간의 의역을 통해 이해를 도우려고 한 점은 훌륭하다. 하지만 이 책을 통해 번역과는 관계없이 컨텐츠 그 자체의 품질이 얼마나 중요한지를 깨닫게 된다. 결론적으로 주변 사람들에게 이 책을 권하지 않을 것이다. 이 책을 보고 나서 실무에 임할 수가 없을 것이기 때문이다. React, Angular와 같은 프론트엔드 기술들이 러닝커브가 조금 가파르다고 이야기하는데, 이런 경우 일수록 개념을 명확하게 이해하고 개발에 임해야 한다. 팀원들의 기술에 대한 이해도가 균일하지 않으면 프로젝트 진행시에 어려움을 겪게 되기 때문이다. |