티스토리 뷰


 함께 일하는 동료의 소개로 한빛 미디어의 나는 리뷰어다 프로그램에 참여하였다. 현재 MSA 기반의 서비스를 개발하고 있는데, 프론트엔드는 React 프레임워크를 이용하여 개발 하고 있다. 처음에 백엔드와 프론트엔드를 나눠서 팀을 구성하였고, 나는 spring boot와 java 8를 이용한 서버개발을 진행했다. 

 최근에 백엔드와 프론트엔드를 도메인 서비스 기준으로 팀을 합쳤고, 페어를 통해서 백엔드, 프론트엔드를 함께 개발을 진행하게 되었다.

React를 통해서 프론트엔드 개발은 처음이었고, 페어를 진행하면서 동료 개발자의 조언과 스터 디를 통해서 개발을 진행할 수는 있었지만 React에 개념에 대해서는 제대로 알지 못해서 아쉬웠다. 이번 기회에 Learning React를 읽으면서 그런 부족했던 개념을 채울 수 있어서 만족스러웠다.




책의 구성

책은 먼저 리액트 소개, ES6의 문법, 함수형 프로그래밍을 소개한다. 이전에 ES6 문법을 모르는 개발자가 보기에는 좋은 챕터이다. 하지만 큰 개념들은 짧은 페이지에서 간단하게 설명하고 넘어가는 점들은 아쉽다. 특히 커링, composition의 경우 좀더 많은 설명을 했더라면, 이해하고 활용하기 편했을텐데 아쉽다.


 중반부로 가면서 React의 컴포넌트 설명, 라이프사이클, Redux를 이용한 상태관리 개념들은 예제와 함께 있어서 이해하기 편하고, 실제 업무에 적용하기에 무리없이 잘 설명되어 있다. 책에 전반적으로 아쉬운 점은 개념 설명을 위해서 작은 예제들을 단위로 설명을 하는 점이다.


 이 책을 읽고 나면 프로젝트가 이미 만들어져 있고, 기능들을 추구하는 상황에서는 빠르게 적 용할 수 있을 것 같다. 하지만 프로젝트를 구성하고, 아무것도 없는 상황에서 React를 통해서 app을 만들어가는 과정 에서 도움이 되는 팁들은 적은 점이 아쉽다. React의 개념을 잡고 개발하는데 필요한 개념을 예제를 통해서 잡기에 좋은 책인 것은 분명하다.


 책에 후반부로 가면 jest와 enzyme을 통한 테스팅 부분에 대한 설명이 있다. 개인적으로 가장 아쉬웠던 챕터다. 실제 일을 할때 코드 품질을 올리기 위해서 TDD나 BDD등의 테스트 주도 개발을 하는 경우가 많다. (물론 BDD는 사용자 스토리 기반의 테스트 주도 개발 이라는 점에서 TDD와 동일하지는 않다.) mocha, chai등을 이용한 예제가 더 많거나 아니면 enzyme을 통해서 컴포넌트의 event를 발생 해서 테스트케이스를 작성하는 등 실무에 더 도움이 되는 팁들이 더 많았다면 좋았을텐데 아쉬 움이 남았다. 실제로 react개발시 enzyme은 너무 막강한 모듈이라 enzyme을 통해서 단위테스트 케이스를 꼼꼼하게 짠다면 GUI 테스트를 하지 않더라도 제품의 완성도를 높일 수 있기 때문이다. 


 다른 입문하는 개발자들도 장점을 더 느꼈더라면 많은 도움이 되었을텐데 아쉬움이 있었다. 마지막로 react-router와 node 서버에서 렌더링 관련된 내용이 구성되며 마무리 된다.


마무리

 React에 대한 개념이 부족하거나 입문자에 도움이 많은 책이다. 실제 개발시에 사용하는 다양한 부분에 대해서 예제와 함께 설명해서 만족스럽다. 

 하지만 반대로 너무 많은 부분들을 설명하기 때문에, 책의 구성을 좀 더 단순화하고 깊이 있게 설명하는 부분이 있었으면 더 좋지 않았을까라는 아쉬움도 남는다. 그리고 프로젝트 구성부터 App을 점차 완성해가면서 개념설명을 예제와 함께 했다면 실무에 적용하기 더 좋지 않았을까하는 생각이 든다. 

 그럼에도 ES6 문법도 모르고, React로 프론트엔드 개발을 처음하는 동료들에게 추천하고 싶은 책은 분명하다.

댓글
댓글쓰기 폼