[서평] 처음배우는 리액트 네이티브 - 한빛 미디어

728x90

개발에 처음 입문할 때 원래는 안드로이드 개발(혹은 iOS 개발)자를 꿈꿨었다. 하지만 접근성이 쉬운 웹 백엔드, 프론트엔드 공부를 하다가 백엔드에 흥미를 느끼고 백엔드 개발자로 진로를 본격적으로 틀게되었다. 이전에 GDC에서 주최한 플러터 관련 컨퍼런스에 참가하면서 크로스 플랫폼의 개념을 접하게 되었고, 리뷰어 활동을 하면서 플러터 책을 2번 더 읽을 기회가 있었다. 플러터와 쌍벽을 이루는 크로스 플랫폼 언어로 React Native가 있다는 것 또한 플러터 책들을 읽으면서 알게 된 내용이다. 리액트 기술에도 관심이 있어서 어짜피 크로스 플랫폼을 공부해 볼 생각이라면 React Native를 공부해보고 싶다고 생각했었는데, 이번 기회에 RN에 입문해볼 수 있게 되었다.

먼저 목차부터 살펴보자!

목차

  1. 리액트 네이티브란?
  2. 리액트 네이티브 시작하기
  3. 컴포넌트
  4. 스타일링
  5. 할 일 관리 애플리케이션
  6. Hooks
  7. Context API
  8. 내비게이션
  9. 채팅 애플리케이션
  10. 배포하기

리액트를 공부해본 유저인데 모바일 개발을 해보고 싶다면 React Native가 딱이다. 그렇다면 리액트를 한번도 안다뤄봤다면, 플러터라던지 다른 크로스플랫폼 언어를 배우는게 좋을까? 그렇지는 않다. 진입장벽이 아예 없다고는 할 수 없지만(쉬운게 어디있겠는가?) 처음 접한다고해서 문제될 것은 없다(이 말은 내가 한게 아니다 필자가 한 말이니 이로인한 걱정이 있었다면 믿고 입문해보라!) 리액트를 정말 맛만본 나였지만, 의외로 난관일 것 같았던 컴포넌트 쪽 보다는 뼛속까지 백엔드 개발자 아니랄까봐 스타일링 파트가 더 어렵게 느껴졌다.

처음 리액트 네이티브를 접하는 사람들에게는 JSX가 낯설것이다. js랑 HTML이 섞인듯한 느낌일텐데... 그 느낌이 정확하다. JSX는 문법적 편의를 제공하기 위해 만들어진 확장 기능으로 리액트 프로젝트에서 사용되는 기능인데, React Native 또한 React라는 수식어에 걸맞게 JSX를 사용한다. 당연히 처음에는 낯설 수 있지만, 더 다양하고 유용한 기능들이 많기 때문에 책의 예제들을 따라하면서 금방 익숙해질 것이다. (조금 부작용이라고 한다면 HTML 문법이랑 JSX 문법이 종종 혼동되서 HTML로 돌아왔을 때, 헷갈리는건 조금 문제지만..😅)

물론 나는 리액트를 해봤기에 책의 내용이 더 쉽게 느껴진 것일 수도 있지만, 3장의 컴포넌트에서 JSX를 처음 접했었던 인터넷 강의들 보다 더 쉽게 문법적인 요소들을 비교적 쉽게 설명해준다고 생각했다. JSX문법을 시작으로 이해하기 어려웠던 props, state 개념(리액트 공부할 때, 이 부분이 정말 많이 헷갈렸었다)을 쉽게 설명해줬던게 인상적이었고, 컴포넌트와 이벤트에 대한 설명도 아마 대부분의 독자들이 보면 무슨말인지 이해하기 쉬웠다.

아 혹시 나와같이 모바일 개발을 잘 모르는 경우에는 8장의 내비게이션을 내비게이션 앱을 만들어보는 실습 장이라고 착각할 수 있다(나만 그런건가..?). 결론은 아니다. 우리가 아는 그 내비게이션과 기능은 비슷하다. 모바일 애플리케이션은 하나의 화면으로 구성되는 경우가 거의 없기 때문에, 다양한 화면이 상황에 맞게 전환되면서 나타난다. 그럴때 이 내비게이션이 상황에 맞게 화면을 전환시켜주는 중요한 역할을 하게된다. 그러나 안타깝게도 리액트 네이티브에서는 내비게이션 기능을 지원하지 않고 외부 라이브러리인 리액트 내비게이션을 추천한다. 8장은 이 라이브러리를 사용하는 방법에 대해 설명하고있다. 마지막으로 각 OS별로 배포하는 법 까지 소개를하며 이 책을 마친다.

안드로이드 개발이냐 iOS 개발이냐 고민된다면... 리액트 네이티브는 어떨까? (혹시라도 나중에 웹을 하고싶어졌을 때도, 금방 포지션 변경이 가능하지 않을까? 라는 생각을 해본다)

728x90