[서평 작성] 우아한 타입스크립트 with 리액트

들어가며. 📝

안녕하세요? 정리하는 개발자 워니즈입니다. 이번시간에는 우아한 타입스크립트 with 리액트라는 책에 대해서 서평을 작성해보려고합니다. 필자는 주니어시절에 FE개발에 굉장히 관심이 많았습니다. 필자의 블로그 내용중에 Toy Project를 실제로 기획-개발-운영까지 한 사례에 대해서 포스팅을 했습니다. 그래도 리액트를 활용해서 실제 사이트를 구축해봤고, 그만큼 js의 언어에 대해 많은 학습을 했었습니다.

[Reactjs] AWS Codepipeline을 통한 배포

이후에, 타입스크립트라는것을 알게 되었고 학습을 해보고자 하는 시점에 이렇게 서평을 작성할 수 있는 기회가 생겨서 너무 좋았습니다. 해당 책을 처음 받았을 때는 깔끔한 무지개 색감으로 겉표지가 꾸며져있어서 눈길이 많이 갔습니다.

이 책의 대상 독자는 “타입스크립트나 자바스크립트를 접해본 적이 있지만 타입스크립트를 기초부터 깊이 있게 배우고 싶은 프론트엔드 주니어 개발자를 대상으로 한다” 라고 명시 되어있습니다. 좋은 기회로 한 챕터씩 읽어가면서 느꼈던 부분들에 대해서 평을 작성해보려고합니다.

목차. 📚

  1. 들어가며
  2. 타입
  3. 고급타입
  4. 타입 확장하기 & 좁히기
  5. 타입 활용하기
  6. 타입스크립트 컴파일
  7. 비동기 호출
  8. JSX에서 TSX로
  9. 상태 관리
  10. CSS-in-JS
  11. 타입스크립트 프로젝트 관리
  12. 타입스크립트와 객체 지향

1️⃣ 초반

  • 타입
  • 고급타입
  • 타입 확장하기, 좁히기
  • 타입 활용하기

초반부에는 위와 같은 내용들을 위주로 다루고 있습니다. 자바스크립트의 한계를 극복하기 위해 타입스크립트가 생겨났고 기본적인 개념에 대해서 잘 설명해주고 있습니다. 아주 사소한 내용에 대해서도 간단한 코드와 함께 설명이 젂혀이 있어서 읽어 나가는데 큰 무리는 없었습니다.

대상 독자에 맞춰서 기본적인 자바스크립트 혹은 타입스크립트에 대한 내용을 어느정도 알고 있다면 쉽게 읽을 수 있을 만한 내용 위주로 나와 있습니다. 특히나 중간 중간 배달의 민족 개발자 분들의 대화형식으로 개념에 대해서 토론하는 내용들이 젂혀 있는 부분이 인상적이였습니다. 이것으로 개념에 대해서 학습을 하고 현업 개발자 분들의 생각까지 알 수 있어서 좋았습니다.

타입 확장하기 섹션에서는 “배달의민족 메뉴 시스템에 타입 확장 적용하기”라는 실 예제를 가져와서 설명을 기재하여 독자로 하여금 이해도가 높게 설명이 되어있습니다. 실 활용 사례에 대해서 소개를 하면서 코드부분도 하나씩 짚어주는 부분이 정말 좋았습니다.

한 가지 아쉬운것은 중간중간 코드 부분과 캡쳐 부분이 섞여서 나오는 부분이 있는데 캡쳐된 부분도 코드형태로 넣어서 책의 통일성을 주었으면 하는 아쉬움이 있었습니다.

2️⃣ 중반

  • 타입스크립트 컵파일
  • 비동기 호출
  • JSX에서 TSX로
  • 상태 관리
  • CSS-in-JS

중반 부분은 실제 리액트에서 활용할 만한 사항들에 대해서 섹션을 나누어 놓은것 같습니다. ( 참고로, 초반/중반/후반부를 나눈것은 필자의 의도이지 책의 의도와는 상관이 없습니다.) 타입스크립트의 컴파일 동작 부터 컴파일러의 구조에 대해서 소개를 하고있습니다. 개발만 하다보면 놓칠 수 있는 부분에 대해서도 개념을 잘 설명해두었기에 프론트엔드 엔지니어들이라면 반드시 알아야되는 사항들이 기재되어있어 많은 도움이 될것이라고 생각합니다.

비동기 호출부분에서는 “실제 API 응답 시의 Superstruct 활용 사례” 부분과 같이 실 사례에 대해서 소개하는 부분이 있어서 이해하는데 많은 도움이 되었습니다. 특히나 코드부분이 매 설명마다 들어가있고 모든 코드는 github으로 제공을 해주고있는 부분도 좋았습니다.

https://github.com/woowa-typescript/woowahan-typescript-with-react-example-code

각 챕터를 마치면 현업 분들이 해당 내용에 대해서 이야기하는 “우형 이야기” 섹션은 정말 와닿는 부분이 많았습니다. 비록 제가 프론트엔드 엔지니어는 아니지만 각 팀별로 생각하는 부분이나 어떤 팀은 사용하는데, 다른팀에서는 사용하지 않는 부분에서도 팀의 상황과 타당한 이유가 있어서 도움이 되었습니다.

이렇듯 실제 현업에서 사용하는 분들의 이야기를 담은 부분은 독자로 하여금 개념을 이해하는 부분과 실제 활용은 어떤식으로 하는지도 알 수 있어서 무척이나 도움이 될 것이라고 생각이 됩니다.

3️⃣ 후반

  • 타입스크립트 프로젝트 관리
  • 타입스크립트 객체 지향

기본적인 개념은 초반/중반을 지나면서 익혔다라고 생각을 하면, 후반부에서는 전체적인 프로젝트의 관리 그리고 객체 지향으로서 타입스크립트를 설명하고있습니다. 프로젝트 관리 부분에서는 앰비언트 타입 활용하기 부터 타입스크립트로 작성된 프로젝트의 개발 생산성을 높이기 위한 내용들에 대해서 소개를 하고있습니다. 실제로 현업에서도 활용하고 있는 부분들에 대해서 소개를 하고 있기 때문에 프론트엔드 엔지니어라면 많은 도움이 될것이라 생각합니다.

타입스크립트로의 마이그레이션 부분에선는 마이그레이션의 전략에 대해서 소개를 하고 있습니다. 또한 모노레포를 통한 FE 개발에 대해서 소개를 하고있습니다. FE개발하시는 분들이 모노레포로 작성된 형태에서 개발 및 배포를 관리하기 쉽다는 부분을 이해하게 되었습니다. 하지만 레포지토리가 거대해질 수 있다는 단점또한 책에서 잘 설명해주고 있습니다.

마치며. 📖

책을 읽으면서 각 챕터마다 완벽히 이해할 수는 없었지만 전반적으로 예시 코드와 우형이야기를 통해서 현업분들의 이야기를 담은 부분이 가장 인상적이였습니다. 아무래도 실제 현업에서 사용하는 예시 코드라던지 의견들을 듣는것이 대상독자로 하고있는 주니어들에게는 많은 도움이 될 것이라고 생각이 들었습니다. 또한 FE개발 그룹에서 작성한 책이다 보니 각 팀별로 상이한 사용방법과 한 쪽으로 치우치지 않는 설명들이 많은 기억에 남게 되었습니다.

초반-중반-후반부로 이어질수록 개념설명-활용사례-프로젝트 관리의 느낌으로 이어져서 읽는 독자로 하여금 순차적으로 지식을 습득할 수 있게 구성이 되지 않았나 생각해봅니다. FE개발을 하시는 주니어 혹은 FE개발에 관심이 많으신 분들은 읽어보면 좋을 것 같습니다.

“한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다