goodboy***
2021-03-20

단순히 UI 컴포넌트를 설명하는 이론서가 아니라, 실제로 간단한 모바일 앱을 만들면서 디버깅과 배포까지 빠르게 입문할 수 있는 책이다.
리액트를 공부해본 유저인데 모바일 개발을 해보고 싶다면 React Native가 딱이다. 그렇다면 리액트를 한번도 안다뤄봤다면, 플러터라던지 다른 크로스플랫폼 언어를 배우는게 좋을까? 그렇지는 않다. 진입장벽이 아예 없다고는 할 수 없지만(쉬운게 어디있겠는가?) 처음 접한다고해서 문제될 것은 없다(이 말은 내가 한게 아니다 필자가 한 말이니 이로인한 걱정이 있었다면 믿고 입문해보라!) 리액트를 정말 맛만본 나였지만, 의외로 난관일 것 같았던 컴포넌트 쪽 보다는 뼛속까지 백엔드 개발자 아니랄까봐 스타일링 파트가 더 어렵게 느껴졌다.
처음 리액트 네이티브를 접하는 사람들에게는 JSX가 낯설것이다. js랑 HTML이 섞인듯한 느낌일텐데... 그 느낌이 정확하다. JSX는 문법적 편의를 제공하기 위해 만들어진 확장 기능으로 리액트 프로젝트에서 사용되는 기능인데, React Native 또한 React라는 수식어에 걸맞게 JSX를 사용한다. 당연히 처음에는 낯설 수 있지만, 더 다양하고 유용한 기능들이 많기 때문에 책의 예제들을 따라하면서 금방 익숙해질 것이다.
물론 나는 리액트를 해봤기에 책의 내용이 더 쉽게 느껴진 것일 수도 있지만, 3장의 컴포넌트에서 JSX를 처음 접했었던 인터넷 강의들 보다 더 쉽게 문법적인 요소들을 비교적 쉽게 설명해준다고 생각했다. JSX문법을 시작으로 이해하기 어려웠던 props, state 개념(리액트 공부할 때, 이 부분이 정말 많이 헷갈렸었다)을 쉽게 설명해줬던게 인상적이었고, 컴포넌트와 이벤트에 대한 설명도 아마 대부분의 독자들이 보면 무슨말인지 이해하기 쉬웠다.
아 혹시 나와같이 모바일 개발을 잘 모르는 경우에는 8장의 내비게이션을 내비게이션 앱을 만들어보는 실습 장이라고 착각할 수 있다(나만 그런건가..?). 결론은 아니다. 우리가 아는 그 내비게이션과 기능은 비슷하다. 모바일 애플리케이션은 하나의 화면으로 구성되는 경우가 거의 없기 때문에, 다양한 화면이 상황에 맞게 전환되면서 나타난다. 그럴때 이 내비게이션이 상황에 맞게 화면을 전환시켜주는 중요한 역할을 하게된다. 그러나 안타깝게도 리액트 네이티브에서는 내비게이션 기능을 지원하지 않고 외부 라이브러리인 리액트 내비게이션을 추천한다. 8장은 이 라이브러리를 사용하는 방법에 대해 설명하고있다. 마지막으로 각 OS별로 배포하는 법 까지 소개를하며 이 책을 마친다.
안드로이드 개발이냐 iOS 개발이냐 고민된다면... 리액트 네이티브는 어떨까? (혹시라도 나중에 웹을 하고싶어졌을 때도, 금방 포지션 변경이 가능하지 않을까? 라는 생각을 해본다)