리액트 네이티브는 메타에 의해 공개된 오픈소스 프로젝트로 사용자 인터페이스를 만드는 리액트를 기반으로 제작되었다. 리액트 네이티브를 사용하면 자바스크립트를 통해 한 번에 애플의 iOS 환경과 구글의 안드로이드 환경에서 모두 작동하는 네이티브 모바일 앱을 만들 수 있다.
이 책은 바로 프로젝트를 시작하면서 리액트 네이티브를 학습할 수 있도록 구성되어 있다. 계산기, ToDo리스트, 여행 사진 공유 앱 만들기 등 3가지 프로젝트를 진행하면서 필요한 리액트 네이티브 기초 내용을 익히고, 다양한 라이브러리를 사용해보며 크로스 플랫폼(iOS/안드로이드) 모바일 앱 개발 역량을 키운다.
저자소개
저자
김범준
IT 기술을 이용해 어떤 것을 만들고 누군가에게 무언가를 가르치는 것이 좋아서 꾸준히 관련 활동을 여러 가지 하고 있는 풀스택 웹 개발자입니다. 여러 회사를 거쳐 Sendbird(https://sendbird.com/)라는 글로벌 B2B 회사에서 근무하다가 현재는 미국에서 새로운 도전을 준비하고 있습니다.
이 책은 바로 프로젝트를 시작하면서 리액트 네이티브를 학습합니다. 프로젝트를 진행하면서 만들고 싶은 모습이나 기능 구현을 위해 필요한 것이 생긴다면 그에 대한 내용을 공부하는 방법으로 리액트 네이티브의 기초/핵심 요소와 관련 기술 활용법을 익힙니다.
★ 대상 독자 & 선수 지식
리액트 네이티브를 처음 접하는 입문자를 대상으로 합니다. 자바스크립트를 다뤄본 경험이 있다면 이 책을 보는 데 수월할 것입니다. 리액트 네이티브를 다루면서 필요한 경우 리액트 핵심 내용을 설명하고 있기 때문에 별도로 리액트에 대해 학습할 필요 없이 이 책의 학습 과정을 따라갈 수 있습니다.
★ 이 책의 구성
이 책은 세 가지 프로젝트를 진행하며 리액트 네이티브에서 모바일 앱을 개발하는 방법에 대해 알아봅니다.
계산기 만들기 더하기와 빼기 기능만 있는 간단한 계산기를 만들어봅니다. 계산기를 만들어보며 컴포넌트와 스타일 그리고 상태를 생성하고 관리하는 방법에 대해 알아봅니다. 그리고 계산기 화면을 구현하고 기능을 추가해 프로젝트를 완성해봅니다.
ToDo리스트 만들기 ToDo리스트 만들기 프로젝트를 통해 값을 입력받는 방법을 배우고 목록을 다루는 방법에 대해 배웁니다. 또한 로그인 화면을 만들어서 사용자 인증 과정을 경험해봅니다.
여행 사진 공유 앱 만들기서버를 활용해서 여러 사용자가 함께 사용할 수 있는 사진 공유 앱을 만들어봅니다. 이 과정에서 리액트 내비게이션의 네이티브 스택 내비게이터와 탭 내비게이터를 사용하고, Firebase를 사용해서 서버에 데이터를 저장하고 불러오는 방법에 대해 알아봅니다. 또한 다양한 라이브러리를 사용해보고 지도와 Google Places API를 사용해 위치를 검색하는 기능을 구현해봅니다.
★ 이 책을 통해 배우는 내용
리액트 네이티브 사용에 필요한 리액트 지식: 컴포넌트, props와 state, Hooks, Context API
리액트 네이티브 프로젝트에 반드시 필요한 내비게이션 기능 활용법: 리액트 스택 내비게이터, 탭 내비게이터
Firebase 기본 사용법: Authentication, Storage, Firestore
안녕하세요 상훈입니다. 이번 달 한빛미디어-나는리뷰어다 에서 제공 받은 도서는 소문난 명강의 : 김범준의 핸즈온 리액트 네이티브 입니다.
리액트에 대한 관심과 공부 시간이 어느 정도 들어간만큼 기초적인 리액트에 대한 개념은 안 상태로 이 도서를 전자책으로 얻게 되어, 작성하였습니다.
어느 정도 수준의 책인가요?
책 소개에서도 언급이 되었지만, 이 도서는 초급 수준의 리액트 네이티브 개발을 한다고, 말해주고 있습니다.
그러나, 찬찬히 살펴면 어느 정도 개발을 하셨던 분들도 보시면 중간중간에 도움이 될 만한 내용들이 많이 있는 것 같습니다. 추천드려요!
목차
간략한 목차부터 말씀드리자면, 이 책은
1. Expo, React-Native, Node.js 등 기초 요소 설명 2. 프로젝트1 : 계산기 3. 프로젝트2 : TodoList 4. 프로젝트3 : 여행 사진 공유 앱 만들기
로 구성되어져 있습니다.
Prettier, EsLint
첫 번 째 챕터인 Expo, React-Native, Node.js 등 기초 요소 설명 부분에서 좋았던 부분은 Prettier, EsLint 를 어느정도 이해할 수 있게 설명해준 부분이었습니다. 예전부터 Prettier, EsLint 는 프론트엔드 개발자들을 꽤 속썩이는 역할을 하고 있었거든요. (물론 주관적인 견해입니다.)
저 또한 Prettier, EsLint 때문에 골치 아팠던 적이 한 두 번이 아니었는데, 우연찮게도 이를 어느정도 설명해주어 덕분에 Prettier, EsLint 에 대해 좀 더 알게되었습니다
Expo
그리고 리액트 네이티브 개발 공부를 조금이라도 해본 사람이라면 모두 알고있는 Expo.
이 책 또한 편의성을 중점적으로 Expo를 사용하여 앱 개발의 초석을 만들었습니다.
덕분에 오랜만에 Expo를 다시 깔게 되었네요.
첫 번째 프로젝트 : 계산기
1. prop-types 라는 라이브러리를 처음 알게되었습니다.
npm i prop-types
TypeScript 처럼 javascript 에서도 타입을 명시하여 사용할 수 있게 해주는 라이브러리더라구요. 매우 유익했습니다!
그리고 계산기 앱을 한 개 만들어본 결과 느낀점
책을 받고 시간이 부족해 기간 내로는 클론 코딩이 어려울 것 같아 계산기 앱까지만 만들고, 리뷰를 시작하게 되었다.
React.js 를 사용하던 사람은 React-Native 를 확실히 조금만 더 공부하면 바로 사용할 수 있다.
React-Native 에 해당하는 새로운 컴포넌트 등이 많기에 그렇게 바로바로 사용할 수는 없다.
이 책은 하나하나 상세한 내용을 만들어주고, 전체적으로 오타도 거의 없는 것 같아 좋았다. 여러 개발 관련 도서들은 오타가 워낙 많아 오류도 많이 발생하게 되는데, 이 책은 그런 경우가 없었던 것 같다. (아닐 수도 있음..)
제가 드리는 별점은요
5개 드리겠습니다. 추천드립니다!
리액트 네이티브를 사용하고 싶으신 프론트엔드 개발자라면, 입문서로 봐도 무방하겠다는 생각이 들었습니다.
요즘은 나도 모바일 앱을 한번 만들어 보고 싶다는 마음으로 코딩 공부를 하시는 분들도 많은데요. 모바일 앱을 만들기 위해 추가로 코틀린,스위프트 등의 언어를 익힐 필요 없이 자바스크립트로만 할 줄 안다면 쉽게 익힐 수 있는 <리액트 네이티브>라는 것이 있습니다.
리액트 네이티브는 요즘 가장 선호되는 자바스크립트 라이브러리인데요. 기존의 모바일 ios나 안드로이드 프로그래밍 언어를 사용하는 곳들도 점진적으로 리액트 네이티브를 적용해 나가고 있는 추세이기 때문에 앱 프로그래밍에 관심이 있다면 리액트 네이티브를 공부해 볼 만한 것 같아요.
컴포넌트 구조나 상태를 관리하는 방법은 리액트와 리액트 네이티브가 상당히 비슷하기 때문에 리액트를 알고 있다면 더 손쉽게 익힐 수 있긴 한데요. 김범준의 핸즈온 리액트 네이티브는 리액트 네이티브 입문자를 대상으로 한 도서라서 <자바스크립트> 하나만 제대로 알고 있다면 react js는 몰라도 OK입니다. 따라 학습하는데 어려움이 하나도 없어요.
책 두께가 보통이 아닌 만큼 무려 3가지 프로젝트를 진행하며 학습할 수 있는 도서인데요. 계산기 만들기/ TO DO 리스트 만들기 / 여행 사진 공유 앱 만들기 프로젝트를 진행하며 리액트 네이티브를 익힐 수 있습니다. 3가지 실습 프로젝트를 진행하면서 사용자 인증이나 구글 API 사용해서 기능 구현하기 등에 관한 내용들도 나오기 때문에 책 내용이 매우 알찬 것이 장점!
실습 이전에 리액트 네이티브 활용을 위한 리액트 지식들도 아주 자세하게 기재되어 있어서 아주 만족스러웠음! 아 그리고 3가지 프로젝트의 소스코드 또한 폴더 구분이 상세히 나누어져 있어서 필요한 부분을 확인하는데 어려움이 없었던 것도 굿.
3가지 실습 내용들이 모두 알차서(아직 계산기와 투 두 리스트만 따라 해봤지만...) 이 실습 내용을 기반으로 별도의 개인 프로젝트를 진행해 볼 수도 있을 것 같아요. 각 프로젝트마다 정말 많은 내용들을 다루고 있으니, 그 내용 중 이것저것 뽑아서 나만의 앱을 한번 만들어보면 매우 좋을 것 같습니다.
리액트 네이티브를 학습하여 앱을 만들어 배포해 봐야지 싶다면, 그 시작을 <김범준의 핸즈온 리액트 네이티브>와 함께 시작해 보세요 :) 지금껏 봤던 관련 도서 중 가장 상세한 설명과 알찬 프로젝트 실습으로 손쉽게 학습할 수 있습니다. 역시 한빛미디어 소문난 명강의 시리즈는 믿고 볼만하네요.
** 본 리뷰는 한빛미디어 <나는 리뷰어다> 리뷰어 활동으로 도서만을 제공받아, 리뷰어의 주관적인 견해로 작성된 리뷰입니다. **
리액트 네이티브는 자바스크립트를 이용하여 안드로이드와 iOS 모바일 앱을 동시에 제작할 수 있는 크로스 플랫폼 입니다. 이 책의 저자 김범준은 소개글에서 2016년에 리액트 네이티브를 처음 접했으나 당시 리액트 네이티브는 아직은 추천할 만한 정도는 아니었다고 합니다. 하지만 이 후 꾸준히 발전을 거듭하여 이 책이 출간된 시점인 2022년 11월에는 이미 많은 개발자들에게 사랑 받는 크로스 플랫폼 개발 프레임워크가 되었습니다. 자료도 제대로 갖춰지지 않은 때부터 시작하여 오랜동안 직접 찾아 익힌 노하우를 초보 개발자들과 입문자들을 위해 이 책에 담아 냈습니다.
리액트 네이티브의 가장 큰 장점은 모바일 앱을 만들기 위해 다른 언어를 학습하지 않았도 된다는 것입니다. 웹 프런트엔드 개발자 또는 Node.js를 학습해 본 경험이 있다면 당연히 자바스크립트를 이미 사용해 본 경험이 있을 것입니다. HTML, CSS, 자바스크립트는 이제 웹개발에 필수적인 조합이므로 익숙한 웹기술을 사용하여 모바일 개발까지 가능하다는 장점이 있습니다. 덕분에 이 책은 자바스크립트나 Node.js를 건드려 본 경험이 있는 독자라면 좀 더 수월하게 책을 따라갈 수 있습니다.
저자의 의도로는 리액트 네이티브를 처음 접하는 입문자를 대상으로 한다고 되어 있습니다만, 제 생각에는 좀 더 얇게 정리된 리액트 네이티브 관련 서적을 한번 보고 이 책을 선택하는 것이 좋다고 생각합니다. 왜냐하면 책이 상당히 두껍습니다. 초보자의 경우, 예제 코드를 따라해 보다가 에러라든가 버전차이 등으로 책과 다른 결과물을 얻게 되면 굉장히 혼란스러울 수 밖에 없는데요, 제 경험상 책이 두꺼우면 초반에 만난 장벽 앞에 잠시 우왕좌왕하다가 바로 쉽게 포기해 버리는 경우도 많았기 때문입니다.
프로그래밍 언어를 익히는데 무작정 문법 공부로 시작하는 것보다는 프로젝트를 따라해 보는게 저도 굉장히 좋은 방법이라는데 동의합니다. 이 책도 리액트 네이티브 개발환경을 설치한 이후, 간단한 JSX 문법설명에 이어, 바로 계산기, ToDo리스트, 여행사진 공유앱 등을 따라 만들면서 리액트 네이티브를 익히도록 되어 있습니다. 다만, 리액트 네이티브 개발환경 특성상 뭐 하나 작성하려면 이것 저것 많은 라이브러리를 설치해야 하는데, 그리고 뭔가 설치할 때마다 추가로 개념을 설명하는데 ... 이 책의 설명 편집으로는 조금 ... 혼란스럽다는 느낌입니다. 많이 알려 주는 것은 좋은데 조금 더 정돈되면 좋겠다는 느낌입니다.
김범준의 핸즈온 리액트 네이티브' 이 책은 리액트 네이티브 입문서이기는 하지만 어느 정도 '자바스크립트'를 사용해 본 개발자가 읽기에 수월 할 수 있는 책이다 즉 '자바스크립트의 기초적인 설명이 별도챕터로 잡혀있지 않다는 이야기다. 자바스크립트의 기초를 습득한 후 아래와 같은 이 책의 각 프로젝트를 익혀간다면 900page가 넘는 많은 불량의 서적이지만 페이지가 쉽게 쉽게 넘어갈 듯하다. 개발환경구축 -> 계산기 만들기(2)->ToDo리스트 만들기(3)->여행사진 공유앱 만들기(4)
이 책의 강점 중 하나는 각 챕터 프로젝트의 예제들의 가독성이 뛰어나다는 점 즉 디자인 서적에 버금가는 각 소스의 색상구분과, 중요멘트의 형광표시 등 한눈에 봐도 깔끔한 예제소스로 쉽게 읽힌다는 점이다.(다만 덕분에 책값이 좀 높다는 점)
전반적으로 React Native를 배우려는 모든 초보개발자나 기존의 웹개발자에게 훌륭한 입문서가 될 수 있지 않을까 생각된다. 모바일 애플리케이션으로 개발하는데 실용적인 예제로 차 있으니 이 주제에 관심이 있는 사람에게 강력히 추천한다.
다만 React Native로 개발한 안드로이드 앱을 안드로이드 앱 스토어(Google Play)에 등록하는 방법을 끝에 한 챕터 넣어주었으면 하는 아쉬운 점은 남는다. 혹 향후 개정판이 나온다면 이와 더불어 React Native with typescript를 기대해 본다.
지난 번 타입스크립트 책에 이어서 이번에는 리액트 네이티브를 공부할 수 있는 기회가 생겼습니다. 자바를 이용해서 안드로이드를 공부하면서 앱을 만들어 봤던 때가 벌써 10년이 넘었는데, 최근에는 크로스 플랫폼을 이용하는 것도 아주 보편적이 되었고 코틀린을 포함한 다른 언어들도 많이 사용하고 있죠. 개인적으로 스크립트 언어 중에서는 타입 스크립트를 좋아하는데 이번 기회에 제대로 활용을 한 번 해볼 수 있게 되었어요.
당연히 이 책은 선수 지식으로 자바스크립트를 알아야 합니다. 물론 자바스크립트를 아는 사람이 리액트를 찾아볼 것이고 그렇게 이 책을 접하게 되겠죠. 다행인 점은 리액트의 개념 자체에 대해서는 모르고 책을 보는 것은 괜찮습니다. 기본적인 리액트 개념 자체를 책을 보면서 배울 수 있습니다. 리액트의 입문을 이 책으로 해도 되겠습니다.
이 책은 시작하자마자 바로 작은 프로젝트를 시작합니다. 개념을 배운 다음 해보는 구조는 아니네요. 직접 만들어보면서 바로바로 새로운 내용들을 배우기 때문에 좀 더 성취감이 있는 공부를 할 수 있습니다. 3가지 프로젝트를 진행합니다. 계산기, TODO 리스트, 여행 사진 공유 앱입니다.
완성된 이미지는 마치 갤럭시 스마트폰의 기본 계산기 같네요. 직접 만들어 볼 수 있으니 나중에 나에게 맞게 조금 더 수정해보면서 새로운 앱을 만들어 보는 것도 재밌어 보입니다. 다른 디자인을 입혀보는 것도 좋겠네요.
책의 두께도 상당합니다. 그렇지만 코드와 내용, 많은 스크릿샷들 역시 색깔이 잘 입혀져 있어서 보는 내내 눈이 즐겁습니다. 물론 재미도 있습니다. 이런 책들을 많이 보다보니 흑백으로만 된 책은 좀 싫어집니다.
TODO 리스트 앱에서는 계산기에서의 기능보다 더 많은 내용이 필요합니다. 로그인이나 할일 데이터를 관리하는 내용 등이 그렇죠. 자연스럽게 새로운 기능들을 함께 배우게 될 겁니다. 생각보다 퀄리티가 좋은 앱이 나와서 놀랍습니다. 과거에 제가 공부할 적의 예제 앱들은 당시에도 정말 후졌었는데...
여행 사진 공유 앱에서는 앞의 두 프로젝트보다 이미지에 대한 내용이나 지도 그리고 로그인 등을 연계하기 위한 파이어베이스 사용까지 많은 것을 배우게 됩니다. 이쯤되면 왠만한 기본 내용은 거의 다 배운 것 같네요. 공부하면서 바로 나의 앱을 만들어보는 것도 좋습니다만 시간적 여유가 되면 빠르게 책을 본 후에 시작하는 게 좋을 것 같습니다. 실수와 삽질(?) 훨씬 줄일 수 있을 겁니다.
책의 두께 만큼이나 책의 가격도 상당합니다. 그렇지만 그만큼 쉽고 재밌게 새로운 기술을 배울 수 있어요. 리액트를 공부하고자 한다면 이 책을 시작으로 하는 것도 정말 좋아 보입니다. 저도 다시 복습하면서 새 앱을 하나 만들어 봐야겠습니다. 리액트... 정말 재밌네요.
그동안 리액트를 공부하면서 느꼈던 점을 생각해보면 생각보다 어렵다는 거였다. 컴포넌트를 그리고 재사용 하기 위해서 리액트를 사용하려면 무작정 만들어서 되는것도 아니고 전체적인 구조를 생각해 가면서 만들어야 하기 때문이다. 물론 처음부터 모두 생각하고 만들수 없기 때문에 만들면서 리팩토링을 하는것이 필수이다. 하지만 언어가 갖고 있는 기능만 알고 있다고 해서 해결될 문제는 아니다. 무엇보다도 무언가를 만들어보면서 느낄수 있는 것들이 있기 때문이다.
이런 이유에서 이 책은 리액트를 공부한 사람들에게 프로젝트를 따라 해보면서 기능들을 활용해 볼 수 있는 좋은 참고서가 될 수 있다. (기본적인 지식은 반드시 알고 있어야 한다.)
무언가를 하나 만들려면 하루 아침에 뚝딱 만들어지는 것은 아니다. 먼저 생각해야 할 것들이 있고 만들면서 생각해야 되는 것들이 있다. 그런 모든 과정이 이책에 있는 프로젝트를 따라 만들면서 경험해 볼 수 있다. 공통 기능을 만드는 시점, 비지니스 기능을 만드는 시점등 각각의 단계에서 필요한 기능과 주의 사항들을 알아 볼 수 있다.
이 책에서는 계산기, Todo 리스트, 여행사진 공유앱 이렇게 3가지를 만들게 된다. 3가지밖에 안된다고 생각할 수도 있지만 책 두께를 보면 그런 생각이 안들것이다. ^^;; 900 페이지가 되는 이 책에는 그만큼 많은 내용들이 담겨 있으니 시간을 갖고 천천히 따라해보면서 익히면 리액트 지식을 습득하는데 많은 도움이 될 것이다.
리액트 네이티브는 자바스크립트를 기반으로 한 리액트를 기반으로 한 라이브러리다. 이 책에서는 앱을 만들 수 있는 '리액트 네이티브'를 다루고 있다. 즉, 리액트 네이티브를 활용하면 일단 안드로이드의 코틀린이나 iOS의 스위트프를 모르는 상황이라도 둘 모두에서 사용할 수 있는 앱을 만들 수 있는 것이다. 또한, 자바스크립트를 기반으로 하기 때문에, 기존에 자바스크립트를 활용한 node.js와 같은 것을 사용해본적이 있다면 친숙하게 다가오기도 한다.
이 책의 장점은 바로 실습을 해보면서 일단 만들어볼 수 있다는 점이다. 사실 아직 뭐가뭔지도 모르는 상황에서 하나하나 배우려고 해봤자 머리에 잘 안들어올테니 차라리 일단 시작할 수 있도록 책을 구성해 둔 것이 흥미롭다. 물론 자바스크립트에 대해서는 어느정도 알고 있는 상태로 이 책을 시작하여야 한다. 리액트의 경우 꼭 알아야 하는 것은 아니므로 부담없이 시작할 수 있을 것 같다.
그리고 '소문난 명강의' 책 답게 따로 결제하여 강의를 들을 수도 있어서, 혹시나 하다가 막히거나 이해가 잘 되지 않는 부분이 있다면 강의를 들어봐도 좋을 것 같다.(인프런의 핸즈온 리액트 네이티브 강의)
리액트 네이티브는 2015년 3월 메타(구 페이스북)에서 만든 오픈소스 모바일 애플리케이션 프레임워크입니다.
JavaScript 언어를 사용하며 IOS/안드로이드 모바일 앱을 동시에 개발할 수 있는 크로스 플랫폼입니다.
2. 대상독자
이 책은 리액트 네이티브를 시작하고 싶은 분 또는 리액트 네이티브를 공부한 적은 있지만 아직 부족하다고 느껴지거나 무엇을 해야 할지 갈피를 잡지 못하는 분
3. 이 책의 구성
이 책은 계산기만들기,ToDo 리스트 만들기, 여행사진 공유 앱 만들기와 같은 3가지 프로젝트를 진행하며 리액트 네이티브에서 모바일 앱을 개발하는 방법에 대해 알아 본다.
계산기 만들기 프로젝트를 통해서 리액트네이티브의 기본이 되는 스타일과 컴포넌트 사용법에 대해 알아 보고 사용자가 직접 버튼 컴포넌트를 만들어 보면서 생성과 관리 방법을 이해할 수 있다.
ToDo리스트 만들기에서는 Image 컴포넌트를 사용하여 이미지 넣기, TextInput 컴포넌트를 이용한 입력칸 만들기 및 로그인 후 화면 전환 방법 등을 통해 리액트네비게이션을 활용하는 방법 등을 살펴 본다.
여행 사진 공유 앱 만들기 에서는 Firebase Storage 에 사진 업로드 하여 여러 사용자가 함께 데이터를 공유할 수 있는 방법 등을 살펴 본다.
4. 서평
이 책은 리액트 네이티브를 처음 접하는 독자도 쉽게 따라 할 수 있도록 구성이 되어 있습니다.
(이 책은 웹 프로그래밍이 아닌 앱 프로그래밍(안드로이드/IOS) 개발에 초점이 맞춰져 있습니다.)
먼저 윈도우즈 뿐 아니라 요즘 많이 사용하고 있는 맥에서 실습할 수 있도록 개발 환경 설정을 두가지 모두 설명하여 다양한 환경에서 실습이 가능 하도록 설명을 하고 있습니다.
또한 어떤 것을 익히고 숙달하는 방법중 가장 좋은 학습방법은 실습이라고 생각합니다.
이 책은 환경설정이 끝나면 바로 3개의 프로젝트를 실습을 하면서 리액트네이티브 공부를 위해 필요한 내용을 하나씩 공부하며 적용하여 사용법을 익히도록 구성이 되어 있습니다.
정말 초보자도 쉽게 따라 할 수 있도록 각 프로젝트마다 이전 장에서 환경설정을 하는 부분을 설명 했지만 새로운 프로젝트에 맞춰서 환경설정을 하는 부분부터 상세하게 기록한 것이 인상이 깊었습니다.
리액트 네이티브 하나로 안드로이드와 IOS 앱 두가지 모두를 만들수는 있지만 특정상황에서는 안드로이드 ios 각각의 폴더에서 직접 코드를 만져야 하는 상황이 발생하는데 이 때 리액트네이티브 앱 개발을 수월하게 도와주는 도구가 바로 Expo 인데 이 책에서는 이러한 도구를 설치하고 사용하는 방법 등을 통해서 안드로이드나 ios 개발 언어를 잘 몰라도 쉽게 개발이 가능할 수 있도록 도와 주고 있습니다.
이 책을 통해서 실습을 진행하면서 마지막 여행 공유 앱까지 실습이 끝난다고 하면 자신이 상상한 프로젝트를 실현 할 수 있을 것 같네요.^^
2022년 11월에 출간된 <김범준의 핸즈온 리액트 네이티브>를 소개합니다. 이 책의 부제는 <프로젝트를 시작하며 익히는 크로스 플랫폼 모바일 앱 개발>입니다. 이 책의 저자는 김범준 님으로 평점 9.1점을 받은 <처음 배우는 리액트 네이티브>가 있습니다.
이 책은 동영상 강의도 제공하고 있습니다. 아쉽지만 무료로 제공되지는 않습니다만, 기존 작품이 높은 별점을 받은 것으로 판단해보면 품질은 좋을 것으로 예상해 볼 수 있습니다.
<김범준의 핸즈온 리액트 네이티브>는 약 920페이지로 구성되어 있어 휴대하면서 읽기는 부담스럽습니다. 전자책으로도 출간되어 있으므로, 전자책 뷰어가 있으시다면 전자책으로 만나보는 것도 좋을 것 같습니다. 필자도 전자책으로 이 책을 만났습니다.
한빛미디어 평가단에 참가하여 작성한 글이며, 한빛미디어에서 제공해준 책을 읽고 작성했음을 밝힙니다.
이 책의 매력은?
<김범준의 핸즈온 리액트 네이티브>는 10장으로 구성되어 있습니다. 리액트 네이티브 소개를 시작으로 3개의 앱을 만들면서 자연스럽게 리액트 네이티브를 학습할 수 있도록 구성되어 있습니다. 1장에서는 개발 환경을 구축하는 것부터 프로젝트를 설정하는 방법을 안내합니다. 이후로 3가지 앱(계산기, ToDo 리스트, 여행 사진 공유앱)을 만듭니다. 앱을 만들면서 자연스럽게 리액트 네이티브에 스며들도록 구성되어 있습니다.
책의 내용이 900여 페이지로 방대하지만 전체적으로 편집이 괜찮아 지루함이 느껴지지 않습니다. 아마도 대부분 실습으로 구성되어 있어 그렇게 느껴지는 것 같습니다. 안타깝게도 리뷰 시간이 부족하여 전체 내용을 모두 읽어보고 실습 예제를 돌려보진 못했지만, 제가 본 부분에서 오류를 찾지는 못했습니다. 저자와 편집자가 꼼꼼하게 탈고를 하신 것 같습니다. 실제로 코드에 오류가 있으면 입문자가 해결하기 어려울 수 있는데 이런 부분을 발견하기 어려웠습니다.
<김범준의 핸즈온 리액트 네이티브>를 따라하며 앱을 제작해보고, iOS, 안드로이드 앱으로 추출해보면 앱 개발 방법론이 달라진 것을 느끼실 수 있을 것입니다. 물론 성능을 요하는 부분은 네이티브로 개발해야 하지만, 간단한 앱은 네이티브로 개발을 해야 할까?란 생각이 듭니다. 리뷰를 마친 후에도 끝까지 완독하여 리액트 네이티브의 매력에 빠져보려 합니다.
마치면서
처음 이 책을 소개 받았을 때, 입문서가 아니라 중급 개발자가 보는 책으로 생각했습니다. 입문서로서 내용이 알차게 구성되어 있습니다만, 처음 진행하다보면 다양한 문제가 발생할 수 있으므로 동영상 강의와 함께 보는 것을 추천합니다. 동영상 구성은 160개 수업이 약 24시간으로 구성되어 있습니다.
만약 학습하다 문제가 발생한 경우에는 저자에게 질문하고 도움 받을 수 있습니다. 물론 직접 해결하면 좋겠지만, 처음 학습하는 과정에서 발생한 문제를 해결하는 것이 쉽지는 않습니다. 심각할 경우 학습 의욕이 떨어질 수도 있습니다. 학습 의욕이 떨어지기 전에 도움 받아 해결하고 책과 강의 내용을 끝까지 완주하면 좋겠습니다.
최근 모바일 앱 구현 방법이 점점 다양해지고 있습니다. 물론 네이티브 방식으로 구현하는 것이 제일 좋겠지만, 현실적인 문제로 말미암아 리액트 네이티브, 플루터 등의 새로운 구현 방법이 등장하고 시장에서 자리잡고 있습니다. 이 책으로 리액트 네이티브를 학습한 후, 간단한 모바일 앱을 작성해 보세요.
이 책은 오픈소스 자바스크립트 라이브러리인 리액트를 처음 배우는 개발자를 위한 책이다. 먼저 웹 서비스를 위해 알아야 할 리액트의 필수 개념을 짚어 본다. 그리고 간단한 실습을 통해 리액트 사용법을 익힌 뒤 마지막으로 미니 프로젝트(미니 블로그 만들기)를 통해 직접 프로젝트 기획부터 개발까지 경험해 본다. 리액트의 핵심 개념을 기초부터 탄탄히 익히고 실제 업무에 도움을 줄 수 있는 프로젝트 진행을 통해 체계적인 학습을 할 수 있도록 구성했다.
[주요 내용]
- 필요한 기초 지식 및 개발 환경
- 리액트 소개 및 준비
- state와 생명주기
- 미니 블로그 만들기
[서평]
0장은 리액트를 배우기 전에 알아야 할 기초 지식과 실습을 진행할 개발 환경 설정에 대해 설명합니다. 1~2장은 리액트의 기본 개념과 장단점에 대해 배우고 간단한 실습을 통해 리액트를 적용해 봅니다.
3장부터 14장까지는 리액트의 각 요소별 기능에 대해 설명합니다. 각 챕터의 전반부는 해당 챕터에서 배우고자 하는 리액트의 각 요소별 기본 개념을 설명합니다. 해당 챕터의 후반부에는 앞에서 배운 기본 내용을 바탕으로 실습을 통해 실제 리액트 사용법을 익히는 학습 형태로 구성되어 있습니다.
15장에서는 스타일링을 하기 위해 CSS의 기본적인 문법과 선택자에 대해 배우고 styled-components를 다루는 법을 간단하게 배웁니다.
16장에서는 앞에서 배운 내용을 토대로 미니 블로그를 직접 만들어 봅니다. 프로젝트 생성부터 각종 컴포넌트를 모두 직접 코드를 작성하며 개발해 봅니다.
★ 대상 독자
이 책은 리액트를 처음 접하는 입문자를 대상으로 합니다. HTML과 자바스크립트를 다뤄본 경험이 있다면 수월하게 이 책의 과정을 따라갈 수 있습니다. 이와 같은 웹 개발을 위한 기초 내용을 배운 적이 없거나 웹 개발 경험이 없더라도 이 책의 학습 과정을 따라갈 수 있도록 HTML과 자바스크립트, CSS의 기초적인 내용을 설명하고 있습니다.
메타에서 제작한 페이스북, 인스타그램뿐만 아니라 미국에서 가장 인기 있는 암호화폐 거래소인 코인베이스와 음식 배달 서비스인 우버이츠도 리액트 네이티브를 사용해서 만들어졌습니다.
리액트 네이티브는 ios와 안드로이드에서 동작하는 네이티브 모바일 앱을 만드는 자바스크립트 프레임워크입니다. 리액트 네이티브는 ios와 안드로이드 앱을 동시에 개발할 수 있는 장점을 가지고 있는데요. 리액트 네이티브는 코도바나 아이오닉과 같은 기존의 크로스 플랫폼 앱 개발 방법과는 눈에 띄는 차이점이 있습니다. 바로 대상 플랫폼의 표준 렌더링 API를 사용하는 점입니다.
이번에 소개할 김범준의 핸즈온 리액트 네이티브 저서입니다. 김범준의 핸즈온 리액트 네이티브는 소문난 명강의 시리즈로 기획되었는데요. 소문난 명강의는 기초부터 탄탄하게 개발 능력을 배우는 입문자들에게 눈높이 맞춰 설명하고 실용적인 프로젝트 연습을 통해 실전 능력이 키울 수 있는 시리즈로 알려져 있습니다.
그만큼 김범준의 핸즈온 리액트 네이티브는 프로젝트에 강점을 두었습니다. 이 책은 3가지 프로젝트를 직접 진행하면서 리액트 네이티브를 익힐 수 있는데요. 어떤 것을 배울 때 가장 효율적인 방법의 하나는 직접 해보는 것입니다. 이 책은 3가지 프로젝트로 계산기 만들기, ToDo리스트 만들기, 여행 사진 공유 앱 만들기입니다.
프로젝트를 진행하다 보면 만들고 싶은 모습이나 기능 구현을 위해 필요한 것이 생길 수 있는데요. 그에 대한 내용을 공부하는 방법으로 리액트 네이티브로 기초 핵심 요소와 관련 기술 활용법에 대해 익힙니다.
CHAPTER 01에서는 리액트 네이티브 시작하기로 개발환경 준비, 프로젝트 생성, JSX 문법 알아보기, Prettier와 ESLint 등에 대해 알아봅니다. CHAPTER 02 ~ 03에서는 계산기 만들기로 더하기와 빼기 기능만 있는 간단한 계산기를 만드는 법을 배울 수 있는데요. 그리고 계산기를 만들면서 컴포넌트와 스타일 그리고 상태를 생성하고 관리하는 방법에 대해 알 수 있습니다. 계산기 화면을 구현하고 기능을 추가해 프로젝트를 완성해보세요.
CHAPTER 04 ~ 06에서는 ToDO리스트 만들기를 통해 값을 입력받는 방법을 배우고 목록을 다루는 방법에 대해 상세하게 설명해줍니다. 로그인 화면을 만들어서 사용자 인증 과정을 경험할 수 있습니다.
CHAPTER 07 ~ 10에서는 여행 사진 공유 앱 만들기 프로젝트 진행합니다. 서버를 활용해 여러 사용자가 함께 사용할 수 있고, 이 과정에서 리액트 내비게이션의 네이티브 스택 내비게이터와 탭 내비게이터를 사용합니다. Firebase를 사용해서 서버에 데이터를 저장하고 불러오는 방법, 다양한 라이브러리를 사용, 지도와 Google Places API를 사용해 위치를 검색하는 기능까지 구현해봅니다.
김범준의 핸즈온 리액트 네이티브 저서를 통해 처음 접하는 입문자들을 위해 자세한 내용들을 담고 있습니다. 자바스크립트를 다뤄본 경험이 있다면 이 책을 보는데 수월하게 학습할 수 있습니다.
김범준의 핸즈온 리액트 네이티브의 가장 큰 장점은 환경 설정이 완료되면 바로 프로젝트를 시작하는 것입니다. 아무것도 몰라도 바로 프로젝트를 시작하는 것인데요. 필요한 내용이 나올 때마다 해당 내용을 공부하면서 바로 프로젝트에 그 개념을 적용해 진행합니다. 이러한 과정을 통해 만나는 에러 메시지, 경고 메시지 등 원인을 확인하고 해결하면서 리액트 네이티브를 배울 수 있습니다.
이뿐만 아니라 리액트 네이티브를 활용하면 자바스크립트로 한번에ios, 안드로이드 앱을 개발 할수 있습니다. 예를 들어 계산기를 만들기 위해서 버튼을 만드는 과정에서 리액트 네이티브로 어떻게 만드는지 개념에 관해 공부하고 적용합니다. 그리고 버튼 모양이 ios와 안드로이드에서 다르게 나타나는데요. 같은 모습으로 버튼이 나타나게 하는 현실적인 방법을 배울 수 있습니다.
리액트 네이티브의 가장 큰 장점은 모바일 앱을 만들기 위해 다른 언어를 학습하지 않고 배우고 싶은 입문자들에게 소문난 명강의 김범준의 핸즈온 리액트 네이티브를 추천합니다.
한빛미디어의 소문난명강의 시리즈 중 하나인 “김범준의 핸즈온 리액트 네이티브”를 읽어보았습니다.
자바스크립트 언어의 활용이 점차 늘어남으로써 이제는 안드로이드와 아이폰 앱을 자바스크립트 언어를 사용하는 리액트 네이티브를 통해 개발할 수 있게 되었습니다. 안드로이드 앱 개발 언어인 자바와 코틀린, 아이폰 앱 개발 언어인 오브젝트씨와 스위프트를 각각 배우지 않고도 리액트 네이티브를 통해 크로스 플랫폼 앱을 제작할 수 있는 시대가 되었습니다.
어떤 언어나 프레임워크를 배우는 데 있어 좋은 방법이 직접 무언가를 만들어보는 것인데 이 책에서는 총 세 가지 앱을 제작하며 리액트 네이티브를 학습할 수 있게 해줍니다.
각각의 프로젝트는 계산기, ToDo리스트, 여행 사진 공유 앱 입니다. 이 책의 좋은 점이라고 생각되는 것 몇 가지를 이야기 해보겠습니다. 첫째로 한 앱을 만들때 필요한 제작 과정을 적절히 여러 챕터로 나눈 점인데 한번에 여러 개념들을 한꺼번에 설명하게 되면 생략하게 되는 개념들도 있을것이고 설명도 자세하지 않았을 것이라 생각됩니다. 둘째로 리액트 네이티비의 개념을 실제 앱 개발을 통해서 차근차근 배울 수 있다라는 점입니다. 만약 자신이 필요한 기능이 있다면 찾아보기에서 적절히 필요한 부분을 찾아 읽어 적용하는 것도 방법일 수 있겠습니다. 셋째로 책의 전체적인 디자인이 가독성있게 잘 디자인 되었다는 점입니다. 코드의 다양한 컬러와 강조되어 설명되는 부분에는 볼드체를 이용함으로써 코드의 가독성이 엄청 좋았습니다. 내용에 적절히 하이라이트 되어 있는 부분도 독자가 중요하게 지켜봐야 할 키워드를 알 수 있게 해줍니다. 마지막으로 이 책의 이후에 학습해야 할 부분에 대해 가이드를 해주는 마지막 부분이 인상 깊었습니다. 저자의 말대로 방대한 양의 내용을 모두 설명한다는 것이 현실적으로 어려운 부분임으로 리액트 네이티브를 시작할 때 알아야 하는 핵심내용들로 구성하되 추후 학습하면 좋은 내용들을 설명해 줌으로 써 책 이후의 방향을 잡아 주는 저자의 설명들이 주옥같다고 생각했습니다.
스마트폰이나 태블릿에서 작동하는 앱프로그래밍에 대해서 조금이라도 관심 있는 분들이라면 안드로이드와 iOS용 앱들은 을 각각 따로 만들어야 한다는 것은 알고 있을 것이다. 나 또한 웹프로그래밍을 공부하다가 스마트폰에 설치해서 사용할수 있는 앱프로그래밍에 관심을 가지고 안드로이드스튜디오에서 코틀린이라는 언어를 가지고 스마트폰에서 작동하는 안드로이드앱프로그래밍을 공부하면서 조금씩 알아가고 있는데, 문제는 애플스마트폰이나 태블릿에서는 작동할수 있는 앱프로그램을 만들수 없어서 또 다시 애플용 앱프로그램을 만들기 위해서 새로운 프로그래밍을 공부해야 하는 고민이 들어 있는데, 이번에 리엑트 라는 것을 알게 되어서 한번에 안드로이드와 iOS에서 작동하는 프로그래밍을 할수 있다는 것을 알게 되었다.
리액트라는 것은 아직 책으로 공부하고 있어서 깊이 있게는 알수 없으나 자바스크립트로 프로그래밍을 하기 때문에 홈페이지등 웹프로그래밍을 해본 분들은 자바스크립트에 대해서 이해를 하는데 어렵지 않을 것이고, 자바나 C언어등 프로그래밍을 해본 경험이 있으면 어렵지 않게 책을 보고 따라 해볼수 있을 것이다.
리액트에 대해서 전혀 모르는 나 같은 사람도 어렵지 않게 시작을 할수 있도록 책의 앞부분에서는 필요한 개발도구와 안드로이폰과 iOS폰에 필요한 앱들을 설치하는 방법등 자세히 저자분이 알려주고 있어서 전혀 몰라도 그대로 따라서 설치하고 하다 보면, 챕터 2부터 시작하는 계산기 만들기 프로그래밍을 따라하는데 큰 어려움은 없을 것이다.
이 책으로 학습을 마치게 되면 마지막에는 게시판과 같은 형태의 사진공유앱을 만들수 있게 되는데, 이러한 형태의 앱들은 가장 많은 앱에서 사용하는 기능으로 안드로이드와 iOS에서 모두 작동하는 앱프로그램밍을 만들수 있게 된다. 이 책에서는 단계적으로 처음에는 계산기앱을 만들어 보고 다음에 ToDo 리스트 앱을 만들어 보면서 각챕터별로 실제로 스마트폰에서 작동하는 앱을 만들어 보기 때문에 학습하는 재미도 더해지는거 같다.
따로 자바스크립트를 먼저 공부한후 앱프로그래을 만들어 보는 방식이 아닌 프로젝트처럼 만들어 보면서 저자분이 코드에 대해서 자세히 설명을 해주고 있기 때문에 웹프로그래밍 경험이 없어서 CSS등에 대한 이해가 없다고 따라가면서 학습하는데 전혀 문제가 없으니, 편하게 건너뛰지 말고 처음부터 주욱 봐가면서 그대로 따라 하다보면 이전에 이해 안되던 코드들도 뒤에 가면서 이해가 되고, 나만의 앱프로그램을 크로스플랫폼으로 만들수 있다는 자신감도 생기게 되는거 같다.
저처럼 안드로이드와 iOS 두개의 플랫폼 모두 개발을 하기 위한 앱프로그래밍을 공부하고자 하는 분들에게 '김범준의 핸즈온 리액트 네이티브' 책은 좋은 가이드가 될것이라고 생각이 될것이라고 생각합니다.
요즘 모바일 앱 개발 추세를 보면 안드로이드와 ios 애플리케이션을 같이 런칭합니다. 그리고 개발자는 각각의 플랫폼에 맞는 언어 및 개발툴을 이용할 줄 알아야 합니다. (아이폰은 swift, 안드로이드는 kotlin과 같이)
물론 모두다 개발 할 수 있는 능력이 있으면 좋겠지만 시간이 많이 소요됩니다. 그래서 요즘 많이 사용하는 것이 크로스 플랫폼 개발 툴입니다. 다양한 크로스 플랫폼 개발툴이 있지만 리액트 네이티브가 단연 많이 사용되는 툴 중 하나일 것입니다.
기존에 안드로이드만 조금씩 만들어보던 저에게 리액트 네이티브는 신선하게 다가왔습니다. 그래서 공부할 초보자용 책이 필요한데 그 점에서 이 책은 초보자에게 상당히 유익하게 학습 경로를 제공합니다.
기존에 저는 이미 이론만 가득한 이론서를 보거나 단순한 클론코딩 프로젝트 하나만을 가지고 불친절하게 설명하는 책들을 많이 보아왔습니다. 하지만 해당 책은 친절하게 각 환경별 (윈도우, 맥)로 개발 툴 설치부터 샘플 프로젝트 개발을 차근차근 그리고 급하지 않게 설명합니다.
하지만 필자는 단순하게 따라하는 것 보다는 해당 책의 코드를 음미하면서 스스로의 성공 경험을 조금씩 쌓아서 중급자로 올라서길 기대하는 것 같았습니다. 제 개인적인 의견입니다만 해당 느낌을 가질 수 있도록 친절하게 잘 짜여진 일련의 초등 교육을 받는 것처럼 재미있고 즐거운 독서 및 실습 시간이었습니다.
Swift, Kotlin과 같은 iOS, Android 에 종속된 개발 환경을 이용하면 타 플랫폼을 사용할 경우 같은 App을 다시 개발해야 하는 문제점이 있다. 큰 개발 조직아나 , 이미 비즈니스가 궤도에 오른 조직에서는 문제가 없겠지만, 빠르게 비즈니스를 Launching해야 하는 Start up 에게는 큰 문제일 수 있을 것이다. 그런 고민을 해결해주고, U.I Platform의 기술적 표준 중 하나로 자리잡은 React 기반의 React Native는 표준 모바일 앱 개발 환경으로 좋은 Solution이라 생각된다.
이 책은 계산기, To-Do list 그리고 사진첩 관리 이 세가지 App 을 만들어 가면서 react native의 각종 컴퍼넌트 및 App개발 방법을 익혀 갈 수 있도록 작성되어 있다.
각 화면 을 기본 Component 로 부터 각 Component의 문제점과 해결책을 단계적으로 설명해 주어 코드를 따라하다보면 자연스럽게 Component들을 익히고, App을 완성할 수 있게 되어 있다.그러면서 React에 대한 설명도 빼놓지 않아 , 나처럼 React에 대해서 기본적인 지식만 있고, 실무적인 경험이 없는 사람이 React도 더 익숙해 질 수 있었다.
따라하기 식으로 작성되어 있어 꽤 두꺼운 편이지만, 실제 코드와 해설이 많이 있어 생각 보다는 빠르게 읽혀 지는 편이다.
한가지 아쉬운 점은... 개발 이후의 Packaging이나 배포 부분도 있었으면 어떨까 싶은데... 그 부분은 각 Platform 특성에 따라 달라 지므로 그런 부분 까지 다루지 않는 것도 조금은 이해가 갔다.
근래 읽었던 여러 기술 서적중에 제일 맘에 들고, React Native로는 처음 읽어 보는 책이지만 감히 최고의 책이라는 생각이 든다.
리액트 네이티브를 처음 시작하거나 시작했지만 부족하다고 느끼거나 어떻게 진행해야 할 지 갈피를 못잡는 개발자이며 자바스크립트를 사용할 줄 알아야 함(모르면 책이 어려울 것)
- 책의 내용 및 구성
1. 본격적인 시작 전 많은 개발자들이 리액트 네이티브 개발에 대해 궁금해 했던 점들을 QnA 형식으로 진행
2. 이 책에서 무엇을 학습해볼 것인지와 책을 보면서 어떻게 해야 조금 더 효율적인 공부방법이 될 것인지를 알려줌
3. 약 900장 10개의 챕터로 구성, 첫 장 '리액트 네이티브 시작하기'를 제외하곤 모두 실습 진행형 챕터로 구성
4. Expo 사용
- 책에서 눈에 띄는 점
1. '리액트 네이티브를 배우기 위해선 리액트를 먼저 배워야 하는가?' 하는 질문에 대한 답변, 처음 배울 때는 리액트를 보던 리액트 네이티브를 보던 무슨말인지 몰라 해맸었고, 시간이 흐르고 다시 리액트를 배울 땐 '리액트 네이티브에서 구현했던 것이 이런 기능 때문이구나' 하고 알았던 것 때문에 '리액트를 먼저 배우면 좋다' 라고 생각했다. 리액트 네이티브 기능들이 대부분 리액트에서 나온 것 들이기 때문이다. 하지만 최근들어 이 책과 더불어 다시 리액트와 리액트 네이티브를 공부하면서 느낀 것은 이 책의 저자가 말하는것 처럼 '있으면 좋고 없으면 조금 어려운' 느낌으로 생각하고 있다. 분명 리액트를 선수지식으로 알고 있으면 굉장한 도움이 된다. 위에서 말한 것 처럼 토대가 리액트이기 때문이다. 하지만 리액트 네이티브는 분명 네이티브만의 기능이 존재하고 리액트에는 존재하지 않는 기술들이 다양하게 생겨났고 사용되고 있기 때문에 필수는 아니라는 생각이 든다.
2. 각 챕터의 앞 뒤에 존재하는 'Preview'와 '마치며', 각각의 챕터들은 '프로젝트'를 완성하는것이 목적이지만 그 안에서도 중요하게 생각하는 기능들이 존재한다. 'Preview'에서는 어떤것이 중요한것인지, 중점적으로 볼 것인지를 확인하고 그 내용을 집중해서 볼 수 있으며 '마치며'에서는 다시한번 어떤것을 배웠는지 상기시켜줌으로써 예슥과 복습의 역할을 한다.
3. 중요한 단어는 형광펜 처리, 늘상 써오던 개발자들이야 그냥 그러려니 하겠지만 대상독자를 생각했을 때, 어떤 단어가 포인트가 되고 잘 활용해야 하는지를 알려주는 역할을 한다. 이 단어들은 대부분 리액트 네이티브 뿐만 아니라 다른 곳에서도 쓰일 가능성이 높은 단어들이기 때문에 세심한 디테일인것 같다.
- 총평
'소문난 명강의' 시리즈는 어디선가 강의를 하시던 분들이 책을 집필하는 경우가 많은것 같다. 그렇기 때문에 이미 입증된 내용을 활용하여 특정 독자들에게 조금 더 세심하게 다가갈 수 있다고 생각한다.
Document를 중요하게 생각하는 개발자들이 많다. '영어 원문 사이트에서 제공하는 듀토리얼과 메뉴얼이면 다 할 수 있는데 왜 굳이 한글로 된 책을 찾느냐?' 하는 개발자들 말이다. 물론 틀린말은 아니다. 특정 제품의 거의 모든 기능은 '설명서' 안에 들어 있는것과 같다. 하지만 숙련된 개발자도 통일되어 있지 않은 개발자 사이트, 레퍼런스 사이트를 둘러보면 어디서 뭘 어떻게 찾아야 하는지 당황스러울 때가 있고, '이게 끝이야?' 라고 생각될 정도로 많은 정보를 제공해주지 않는 사이트들도 많다.
몇 년 전의 내겐 리액트 네이티브가 그랬다. 한글로 번역된 내용들은 적은데, 레퍼런스 사이트에서 제공해주는 듀토리얼과 메뉴얼들로는 내가 원하는 것들을 만들 수 없었다. 빈약한 영어를 활용해서 검색을 해야 겨우 하나씩 기능들을 만들어가는데에 만족해야 했다. '한글로 쓰인 책' 이라는 것은 입문자들과 복습을 하려고 하는 개발자들에게 매우 중요하다고 생각한다. 나와 같은 언어를 쓰지만 경험은 전혀 다른 누군가의 이야기를 특별한 노력 없이 읽을 수 있다. '여기는 어떻게 해석해야 해?' 같은 이야기가 거의 나오지 않는다. 몇 년전의 리액트 네이티브 한글 서적들은 그러했다. 날이 바뀌기 무섭게 버전이 바뀌어서 책에 쓰인 내용들은 업데이트 때문에 혹은 사용되지 않아서 사용할 수 없었으며, 저자가 쓴 코드들은 동작하지 않았고 이해할 수 없었다.
이 책은 그러한 불편함이 없다. 최신판의 버전들을 사용하고 직접 하나씩 진행하는것을 900장이라는 방대한 페이지에 담아냈다. 코드에 들어간 색상, 설명할 때 쓰이는 이미지 등 저자가 얼마나 공을 들였는지 느껴진다. 아쉬운점이라면 챕터 시작할 때 'Preview'라는 영어를 썼다면 챕터 마지막에도 영어를 사용했으면 조금 더 통일감이 느껴지지 않았을까? 하는것과 900장이나 되는 내용에 '현업에서는 ~' 같은 경험이 챕터 마지막장에 조금이나마 쓰였으면 어땠을까 싶다.
아무튼 쥐어짜낸 단점이라고 할 것도 없는 단점들을 제외하곤 대상독자들이 읽는다면 하나 둘 씩 git 레포가 쌓이면서 경험도 함께 쌓일 것만 같은 멋진 책이라고 생각한다.
최근 flutter의 성장세가 거세지만, 여전히 react native는 flutter와 함께 cross platform 도구의 선두주자이다. cross platform 도구의 장단점은 개발자나 기업의 환경에 따라 다르겠지만, 유용한 지점이 분명히 있기 때문에 앞으로도 인기는 지속될 가능성이 높다.
이 책은 react native 입문자를 대상으로 3가지 project를 통해 mobile web을 만드는 방법을 배운다. 대부분의 programming 책이 그렇듯 예제 repo(https://github.com/Alchemist85K/hands-on-react-native)를 제공하는데, 저자의 github에 가보면 여러가지 책이나 인터넷 강의에 대한 repository들이 있어서 교육쪽에 경험이 많다는 점이 좀 더 신뢰할 수 있는 요인이기도 하다.
3가지 project를 한다고 하니 부족한게 아닌가 할 수도 있지만, 전자책 기준 921page의 방대한 분량으로 3가지 project를 하기 때문에 오히려 초보자에게는 여러가지를 더 자세하게 볼 수 있는 기회를 제공한다고 생각한다. github도 commit message를 통해 소단원 기준으로 설명을 하기 때문에 어려워도 좀 더 확실하게 확인하고 따라할 수 있을 걸로 보인다. 게다가 많은 페이지에서 bit.ly를 통해 중간중간 API page를 연결하는 url들도 넣어 자세한 내용을 살펴볼 수 있게 준비해놓은 점도 저자가 참 꼼꼼하다는 걸 알 수 있었다.
다만 주의할 점은 책은 react 17 기준으로 작성했으나 올해 react 18이 나왔기 때문에 이로 인한 영향이 있을 수 있으므로, 시작하는 사람들은 설치하는 library들 version을 latest가 아니라 일단 책을 따라 맞춰서 공부를 하는 게 좋을 것이다.
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.
학부 시절에 "원 소스 멀티 유즈" 라는 말을 엄청 자주 하시던 교수님이 있었다. 물론 나는 상경계열 전공자고, 개발과 1도 상관 없는 수업의 교수님이셨지만 저 말은 한 번 들은 이후로 잊을만하면 내 뇌리를 스쳐간다.
이 책을 봤을 떄도 비슷한 걸 느꼈다. 네이티브 앱을 개발하는데 코틀린이나 스위프트를 쓰지 않고, 내게 비교적 친숙한 자바스크립트를 쓰면서 코드도 한 벌이라고?
이게 바로 원 소스 멀티 유즈가 아니면 무엇이겠는가.
현재 재직중인 회사에서도 다양한 웹/앱 서비스가 있는데, 기존 방식대로 웹은 웹 언어로, 네이티브 앱은 AOS/iOS 각각의 개발 언어로 만드는 서비스가 대부분이긴 하다.
그러나 최근들어 개발 프로젝트에서 소스 형상 관리와 인력 관리 등을 이유로 한 가지 코드로 AOS와 iOS를 모두 대응하는 것을 고민하는 경우를 종종 봤다.
이 책은 자바스크립트에 익숙하며 개발 리소스가 많지 않은 환경에서 플랫폼 별 앱을 서비스하고자 하는 개발자에게 좋은 옵션이 될 것 같다.
책에서 가장 좋았던 부분은, 이와 같은 실용서에서는 오탈자나 소스코드 상의 에러가 종종 보이게 마련이라 학습 능력을 떨어트리는 경우가 많은데 아직까지는 못발견했다는데 있다!
저자가 얼마나 꼼꼼히 원고를 탈고했는지 알 수 있는 부분이며 더불어 책 내용에 신뢰가 생기는 중요한 부분이다.
사실 이 책을 출퇴근길에 읽고 있기 떄문에 코드를 실습하지는 못하고 있는데, 코드 중 짚고 넘어갈 부분을 차근히 설명해주고 있어 당장 컴퓨터 앞에 앉을 시간이 부족하다면 일단 읽어만 봐도 충분히 좋은 시작이 될 것 같다.
책에서는 간단하게 계산기와 Todo리스트, 여항 사진 공유 앱의 세 가지 프로젝트를 진행한다.
순서대로 따라하면서 저자가 짚어주는 포인트들을 읽어 나가고, 이후 책을 보지 않고 코드를 그대로 타이핑하는 연습을 몇 번 하다 보면 조금씩 능숙해질 것 같다.
계산기 만들기 프로젝트부터 책 안보고 코딩할 수 있을때까지 반복해보려고 한다.
이 책은 리액트 네이티브(React Native)로 모바일 앱 개발 프로젝트를 따라할 수 있는 책입니다. 리액트(React)가 웹 개발을 위한 자바스크립트 라이브러리라면 리액트 네이티브는 모바일 앱 개발을 위한 플랫폼이라고 볼 수 있습니다. 리액트를 먼저 공부할 필요는 없고 이 책으로 바로 리액트 네이티브를 공부해도 큰 문제는 없습니다. 꼭 필요한 리액트 지식은 필요할 때 설명을 해줍니다. 그래도 자바스크립트 기본 정도 알고 있어야 합니다. 아주 생소한 문법은 설명해주지만 기본적으로 자바스크립트 기초는 알고 있다 생각하고 책을 진행합니다.
계산기 만들기, ToDo리스트 만들기, 여행 사진 공유 앱 만들기를 실습할 수 있는데 900페이지가 넘는 분량으로 그때그때 자주 사용하는 꼭 필요한 리액트 네이티브 기술을 아주 자세히 설명해줍니다. 책 두께에 압도당할 수도 있지만 끈기를 갖고 하나하나 이해하고 넘어간다면 정말 큰 도움이 되리라 생각합니다. 마지막 프로젝트 여행 사진 공유 앱은 컴포넌트로 화면 구성하는 것을 넘어 구글 파이어베이스(Firebase)로 서버까지 사용하는데 정말 쓸모있는 실습이라 생각합니다. 이것까지 무사히 이해하고 넘어간다면 스스로 다양한 모바일앱 서비스를 개발할 수 있을 것입니다.
이 책은 정말 실용적입니다. 프로젝트를 시작하기전 개발환경 세팅부터 시작합니다. 필요한 라이브러리부터 설치하고 옵션을 설정하는 과정이 모두 나와있습니다. 리액트 네이티브 같은 나름 복잡한 플랫폼으로 개발을 하다보면 이런 개발환경 구성이 참 힘든데 이 책은 친절하게 전과정을 보여줍니다. 개인적으로도 실용적인 라이브러리를 많이 알게 되어 만족스럽습니다.
기존 안드로이드나 iOS 개발환경에서 개발을 하는 사람에게는 이 리액트 네이티브라는게 좀 복잡하게 느껴질지도 모릅니다. 각종 화면구성 컴포넌트를 하나하나 텍스트로 입력을 해야하는데 이건 크로스 플랫폼 개발이 가지는 한계라고 생각합니다. 그래도 한번에 아이폰, 안드로이드 스마트폰 프로그램을 개발할 수 있기 때문에 이 정도 노력은 아무것도 아니지요.
리액트 네이티브의 모든 내용을 다루는 바이블은 아니고, 꼭 필요한 내용을 프로젝트 실습을 하며 배울 수 있습니다. 이 책으로 리액트 네이티브 사용법을 빠르게 익힌 후 공식사이트나 구글링으로 부족한 내용이나 변경된 부분을 보충해 나가면 될 것 같습니다. 리액트 네이티브는 모바일앱을 개발하는 규모가 있는 플랫폼이기 때문에 한번에 다 이해할 수는 없습니다. 문제점을 극복하고 사용하면서 익숙해지는거라 생각합니다.
평소에 백엔드 개발자로서도 프런트 쪽에 관심이 많았고 예전에 아는 사람의 일을 하면서 Flutter가 나온 후에 초창기에 심플하게 앱을 만들어서 론칭을 해보았지만 dart도 익숙하지 않았고 오히려 javascript 기반으로 앱을 개발하는 게 저한테는 더 맞을 것 같고
제일 큰 장점은 한번 개발로 안드로이드 iOS 앱을 개발할 수 있는 앱 프레임워크입니다.
큰 장점으로는 서로 다른 OS에서는 동일한 로직으로 UI를 구현하는 게 힘들 수 있는걸 이 부분을 리액트 네이티브는 동일한 로직
으로 비록 OS별로 UI에서 지원이 되는 기능 안 되는 기능이 있을지라도 대부분 비슷하게 앱이 구성되어서 개발할 때 더욱더 집중을 할 수 있게 됩니다.
그리고 아직까지 페이스북에서도 자사앱등은 리액트 네이티브로 쓰고 있고 또한 여러 기업들(코인베이스, 우버 이츠, 디스코드, 테슬라, 월마트.. 등)에서도 잘 쓰고 있는 앱 프레임워크입니다.
이번에 제가 리액트네이티브로 심플한 앱을 하나 개발하고 싶어서 우연히 한빛미디어 나는 리뷰어를 통해서 해당 서적을 신청하게 되었습니다.
서평
해당 책은 리액트 네이티브를 처음 접하는 입문자를 대상으로 합니다.
책은 세 가지 프로젝트를 진행하면서 리액트 네이티브 모바일 앱을 개발하는 방법을 알아갑니다.
세 가지 프로젝트는 계산기, ToDO리스트 만들기, 여행 사진 공유 앱 만들기입니다.
이런 프로젝트는 다른 앱 개발서적에도 종종 보시면 ToDo리스트 및 인스타그램 따라 하기 등 기타 비슷한 예제가 많은걸
리액트 네이티브로 구현한다고 보시면 됩니다.
저자분께서는 동영상 강의도 제공하고 있고 또한 실습 예제도 깃허브를 통해서 다운로드할 수 있습니다.
저자분께서도 직접 코딩을 따라하면서 하는 걸 추천하니 참고하시면 됩니다.
일단 환경설정부터는 npm expo-cli 등을 설치 등 해당 설정에서는 주로 expo 기반으로 리액트 네이티브 프로젝트를 생성 및 구동을 시킵니다. Expo는 React Native 개발을 개발자가 쉽게 할 수 있도록 도와주는 툴입니다. 해당 서적에서는 Expo 기반으로 프로젝트를 생성을 하니 참고하시면 됩니다.
저도 직접 expo 설치부터 프로젝트 생성도 해당 서적에서 자세하게 개발환경 세팅하는 게 적혀있으니 그대로 따라 하시면 될 것 같습니다.
왜냐하면 개발셋팅이 잘 안 되면 진행이 안되고 도중에 포기할 수도 있거든요.
그리고 계산기부터 시작해서 여행 사진 공유 앱까지 개발하면서 필요한 리액트 네이티브 기반의 지식을 예제에 잘 녹여주셔서 그거대로 따라 하셔도 리액트 네이티브에 대한 기초적인 부분을 잘 숙지하실 수 있으실 겁니다.
계산기 앱에서 쓰이는 컴포넌트들을 어떻게 구성할지 책에서는 이렇게 예시로 남겨져있습니다.
그리고 리액티브 네이티브에서는 Syntax Error가 났을 경우 어떻게 표시되는지 이렇게 책에 자세하게 적혀있습니다.
그리고 저자분께서 중요 포인트는 이렇게 책에 밑줄이 쳐있습니다. 더욱더 책을 읽을 때 이해하기가 쉬운 것 같습니다.
아무래도 책이 컬러라서 더욱더 코드 보기도 좋은 것 같습니다.
이 책의 아쉬운 점은 그래도 개발로 끝나는 것이 아니라 실제로 expo를 가지고 배포하는 것까지 실습으로 나오면 더욱더 좋았을 것 같다는 생각이 들었습니다.
IOS와 Android의 safeArea 차이, alert 비교 뿐만 아니라 기초부터 세세히 알려주고 있다. 초보자가 중간에 흥미를 잃거나 포기 하지 않도록 차근차근 단계적으로 프로그램을 진행한다. 다소 지루할수도 있지만, 끝까지 포기하지 않고 따라간다면 꽤 많은 것을 얻을수 있다. 특히 실습 준비에 앞서 기본 세팅에 대해서도 어렵지 않게 풀어내고 있다. 저자의 고심과 노력이 엿보이다.
핸즈온 프로젝트는 다음과 구성되어 있다.
- 개발 준비 과정 = node.js / homebrew / watchman / 개발 설정 / JDK 설치 * 기본적인 개발환경에 필요한 설정 * 리액트 네이티브 빌드 시 필요한 내용 = 리액트를 조금 더 익숙하게 다루기 위한 빌드업 - ES Lint / Prettier / JSX 문법에 대하여 - 프로젝트 실습 = 계산기 * styleSheet를 사용한 계산기 패드 만들기 * 계산 이벤트 구현 = to do list * 로그인 로그아웃 기능 구현 * navigation 페이지 이동 * todo list 페이지 = 사진 공유 앱 * 인증 및 데이터 베이스를 다루기 위한 firebase 사용 방법 * 사진 접근 권한 요청 * 사진 갯수 선택
이미 개발자인 독자에게는 흥미를 끌지 못할수 있겠다. 하지만 리액트 네이티브 에 대한 세팅을 꼼꼼히 읽어보며 한 차례, 한 차례 다음으로 넘어가는 재미가 있다.
특히 프로젝트를 통한 실습은 처음부터 어려운 실습이 아닌 점점 난이도를 높여가며 거부감을 들지않게 해주고있다. 처음에는 서버기능 없이 간단한 계산기를 만들어 가며 가벼운 마음으로 시작할 수 있다. 이후 차근차근 기능과 난이도를 올려가며 네이티브 기능인 핸드폰 접근 권한 실습해 볼수 있다.
이책을 통해 리액트 네이티브를 마스터 할 수는 없을것이다. 하지만 기본기는 탄탄하게 만들어 주리라 생각한다.
React Native는 이제 많은 분들이 이름은 익숙하실 겁니다. 이 글을 읽고 계시면 작은 흥미는 있으실 거라고 생각합니다. React Native(이하 RN)은 안드로이드/IOS 개발이 모두 가능한 앱 프레임워크입니다.
OS에 종속 되지 않고 어플을 만들 수 있는 언어와 프레임워크는RN외에도 다양하게 존재합니다. C#의자마린, 구글 Dart의Flutter등 선택지가 있습니다.RN의 가장 큰 장점은메타라는 든든한 뒷배경과 새로운 언어의 추가적인 학습 소요가 적다는데 있다고 생각합니다.자마린은 사실상 20년 이후 지원이 끝긴 상태고,Flutter를 하기 위해선 Dart를 배워야 하는데 아직까진Flutter외의 사용처가 없는 지엽적인 언어인게 장애물입니다.JS기반 프레임워크에React와 많은 부분을 공유하고 있어서 웹/앱 프론트를 생각한다면 나름 합리적인 선택지 중 하나입니다. 물론 언어와 프레임워크는 진행하는 프로젝트와 팀의 성격에 맞춰야겠지만, 포토폴리오를 준비하고 학습 중인 학습자라면 충분히 추천합니다.
RN은EXPO라는 툴을 이용하면 꼭Mac이 없이도 IOS용 어플 빌드가 가능하다는 장점이 있습니다. 물론 커스텀에 제약이 존재하지만 초기 단계 앱을 만들면서 확인 할 떄는 유용한 장점입니다. IOS 어플 개발의 가장 큰 장벽은Mac계열 컴퓨터가 필요하다는 것입니다. 라이센스를 무시한 해킨토시가 존재하지만 안정적이 못하기 때문에 최소 백만원에서 수백만원까지 앱 빌드만을 위해 장비에 투자가 필요했었는데 그 장벽을 다소 허물어 주었습니다.
챕터 1은RN을 위한 개발환경,JSX문법과 사용자의 실수를 줄이기 위한 도구 설정을 안내합니다. 거의 100장에 달하는 양을 할애한만큼 자세히 안내하고 있어서 세팅에 대한 두려움없이 실습 준비를 하실 수 있습니다.
JSX문법은 챕터 1에서 정말 간단하게 맛 보여준 후 각 프로젝트들에서 상황에 맞춰 확장을 시켜나갑니다. 3개의 프로젝트를 통해서 플랫폼 별 차이를 확인 할 수 있고, 문법을 확장시켜 가면서 난이도 조절을 하고 있어서 입문자가 무리없이 볼 수 있습니다.
프로젝트 위주의 책이라면 기존 이용자가 지평을 넓히는 용으로 추천드리겠지만, 이 책의 프로젝트는 기능과 영역의 확장을 통해 고급 프로젝트로 향하고 있어 초심자와 입문자만을 위한 책이라고 생각합니다. 레퍼런스 용 책보다는 프로젝트 완성의 성취감과 기능의 확장을 맛 보는 책입니다.
한빛미디어2022 도서 서평단 "나는 리뷰어다"의 일원으로 도서를 제공받아 작성한 리뷰입니다.
생각보다 1독 할 때 어려움이 있다면 가끔씩 충돌이 일어나는 것인지 알 수 없는 오류인데 그건 내가 내 컴퓨터와 원만한 합의를 봐야 할 거 같은 부분이고 예전에 읽어본 책과 비교하면.. 비교적 친절하게 설명해준다. 무엇보다 초보자의 입장에선 이게 제대로 된 게 맞나? 알 수가 없는데 결과 화면 그림을 많이 넣어줘서 좋았던 것 같다.
메타 아마존을 비롯하여 테크 기업에 찬바람이 불고 있다곤 하지만, 여전히 모바일 앱개발은 자신이 원하는 것을 만들고, 직접 휴대폰을 통해 사용하고 운이 좋다면 더 큰 기회로도 이어질 수 있다는 관점에서 개인적으로 상당히 매력적인 업이라고 생각합니다.
그러나 (다른 것도 마찬가지지만) 개발 경험이 없다면 이를 어떻게 시작해야할지 부터가 큰 고민이 되곤 합니다. 물론 공식 가이드 / 튜토리얼 들이 있지만 너무 많은 양에 어디서부터 어떻게 해야할지 압도되고, 심지어 개발환경 설정에서 부터 막히는 경우가 많습니다.
모바일 앱까진 아니어도 다른 개발의 경험을 토대로, 한 플랫폼만을 다루는 네이티브와 여러개를 동시에 지원하는 하이브리드에 어떤 차이점이 있는지까진 아직 잘 모르지만, 입문자라면 이를 걱정하기보다 프로젝트 하나라도 완성시켜 보는 것이 좋다고 생각합니다.
책의 저자
책의 제목에서도 드러나 듯 본명이 걸려있는데 사실 이는 ‘소문난 명강의'시리즈의 특성인 것 같습니다.
다만 앱이 아닌 ‘풀스택 웹 개발자’로 소개 되어있어 물음표가 들긴 했지만 오히려 리액트 네이티브는 플러터와 다르게 웹, 자스 기반이라 더 도움이 됐을 수도 있다고 생각합니다. 추가로 책에 언급되어 있는 내용이기도 한데 그렇기 때문에 오히려 앱이 아닌 웹 기반 입문자의 관점에서 잘 설명되었다고 생각합니다.
무엇보다, 이미 리액트 네이티브 관련 도서와 강의 경험이 많으신 분이기도 합니다. 그렇기 때문에 책의 서술 과정에서 이런게 있어 이렇게 따라 만들어 가 아닌, 이걸 할껀데 이러한 이유로 이걸 했고, 이렇게 하기 위해서 이걸 저렇게 할꺼야 와 같은 “풀어내는 설명”으로 구성되어 있습니다.
책의 구조 및 특징
이 책은 크게 2단계로 구성되어 있습니다.
개발 환경 설정 및 사전 준비
(여러 기능들을 구현해보는) 프로젝트 3종류
2단계라고 줄여서 표현했지만 총 900쪽이 넘는 방대한 양을 담고 있습니다. (가격도 방대…) (그렇지만 첫번째 계산기 프로젝트 기준으로 주말 한주 정도면 충분히 따라할 수 있는 양이기도 합니다.)
실제로 이틀동안 만들 수 있었던 계산기 앱 (배포 제외)
추가로, 개발 환경에서는 단순히 IDE와 시뮬레이터를 넘어 Prettier와 Eslint등 없어도 상관은 없지만, 경험으로 부터 나오는 실전에 도움 되는 것들도 많이 있습니다.
또한, 프로젝트는 3종류로 적다고 생각 할 수도 있지만 “의도적으로” 다양한 기능을 넣었기에 충분한 경험이 될 수 있을 것 같습니다. (입문자 기준)
한편, 900쪽이 넘는데도 불구하고 담지 못한 그러나 알아두면 좋을 내용들도 짧게 기술 되어 있어 이후 추가 학습을 원하는 사람에게도 도움이 될 것 같습니다.
추가로, github에 책의 코드가 소단원 단위로 커밋이 나누어저 공유 되고 있다는 점은 나중에 따라하다가 막힐때 참조할 수 있는 장점이라고 생각합니다.
이 책은 2022년 11월에 1쇄인 (초)신작으로 다른 기술 도서들에 비해 업데이트에 조금 더 여유로운 타임라인을 가지고 있습니다.
아쉬운 점으로는 코드를 작성하면서 이전 코드 대비 변한 부분을 “진한 글씨로” 표기 했지만 생각보다 눈에 띄진 않는다는 점입니다.
2, 3줄이 진한 글씨
또한 모바일 앱 특유의, 배포: 앱스토어 / 플레이스토어 관련 내용이 다뤄지지 않았기 때문에 토이 프로젝트 이후의 실제 어플 활용을 고민하는 사람은 추가 학습이 필요하다는 점도 아쉬운 부분입니다.
그래서
사람마다 개발 경험과 선호하는 학습 방법이 다르긴 하지만, 이전에 개발은 조금이라도 해봤지만, 앱 개발 경험이 없는 입문자의 경우 (Javascript, 하다못해 Python이라도 개발 경험은 꼭 필요합니다) 이 책이 도움 될 수 있습니다.
이번 글은 핸즈온 리액트 네이티브 라는 책의 리뷰로, 한빛미디어의 나는 리뷰어다 활동을 위해 책을 제공받아 작성된 서평입니다.
사회에 어떠한 이슈가 생기면 마치 하늘에서 뚝 하고 떨어진 것 처럼 자신의 재능을 발휘하는 사람들이 있다. 그리고 처음엔 재능 기부로 시작하다가 점차 업그레이드 되며 수익으로 연결되는 사례도 전 세계적으로 종종 볼 수 있다. 우리나라에서도 자주 볼 수 있는 일이다. 대표적인 사례가 버스앱이다. 그리고 코로나19 사태가 시작하던 즈음 마스크 재고 상황을 확인하기 위해 만들어진 앱이 포털 검색용으로 진화하는 사례도 우리는 직접 경험했다. 그 때 마다 대체 저런걸 만들어내는 사람들은 어떤 사람들일까? 하고 궁금해 하다 보면 마치 대답이라도 하는 듯 언론에서 그들을 찾아가 인터뷰 한 내용을 기사로 만나게 되기도 한다. 열에 아홉은 평소에 코딩을 재미삼아 하던 어린 친구들이다.
그런 걸 우리도 직접 해 볼 수 있을까? 요즘은 오픈소스 등을 통해 특별한 지식이 없어도 무언가를 만들거나 시도해 볼 수 있는 사례가 많다고 하지만, 그럼에도 선뜻 시도해보기가 쉽지 않다. 이 책은 바로 그런 사람들을 위해 쓰여진 책인 것 같다. 아이폰을 사용하는 사람들에게는 익숙한(디자인이) 계산기 만들기가 이 책의 첫 번째 실습 예시이다.
이 책에서 사용되는 툴은 지난 2016년 3월 메타(구. 페이스북)에서 공개한 오픈소스 프로젝트 중 하나로 리액트를 기반으로 제작된 것이다. 리액트에 대한 사전 지식이 있다면 더할 나위 없이 좋겠지만, 반드시 알아야 되는 것은 아니라고 한다. 다만 코딩을 위해서 자바스크립트의 기초는 어느정도 알고 있어야 된다. 그래서 서두에 저자는 자바스크립트 기초 학습을 연습해 볼 수 있는 링크를(p.17 부분에) 제시하고 있다.
[사진] 개발 환경에 대한 안내를 하고 있는 페이지 (본책 p.31, p.39)
그다음 필요한 것은 개발 환경이다. 모바일의 OS는 크게 안드로이드와 iOS로 나뉘어져 있다. 이 책은 위 사진에서 확인할 수 있듯이 맥 OS Monterey를 사용하는 애플 실리콘 맥북과 윈도우 10을 기준으로 진행한다고 밝히고 있다. 다시 말해 해당 앱이 적용될 각 운영체제에 맞는 도구를 설치하여 활용하면 된다. 어떤 환경을 사용하도라도 기본적인 코딩은 자바스크립트 구문이 활용되기 때문에 일부 메뉴얼 차이만 제외 한다면 큰 불편함은 없을 거라고 생각된다.
[사진] 한빛미디어 홈페이지 자료실 본 책 예제소스 화면 캡쳐
한빛 미디어 자료실에서 책 속 예시에 사용된 '예제소스'를 받아볼 수 있다. 사진은 홈페이지 본 책에 사용된 예제소스를 자료실에서 클릭하면 깃허브에 올려진 파일을 캡쳐한 것이다. 해당 파일을 다운 받아 불러오기 하면 보다 쉽게 실습해 볼 수 있다.
IT 도서를 볼 때마다 개발 환경(도구 설치 관련 내용) 만큼이나 정오표나 피드백 상황 등을 반드시 하게 되는데, 이 부분에 대해 책 시작전에 저자의 이메일 주소를 포함해 자세하게 안내하고 있다. 더불어 주 사용도구가 오픈소스이다 보니 에러 메시지나 경고 메시지가 나타날 경우 구글링을 적극 활용할 것을 권장하고 있다. 아무래도 책에 다 담을 수 없었던 예상치 못한 본 책 출간 이후의 최신 사례 등을 더 빨리 찾아볼 수 있기 때문이 아닌가 싶다. 아직은 책 내용도 겨우 따라해 보는 정도이지만, 꼭 공유 목적이 아니더라도 내게 필요한 앱을 만들 수 있었으면 좋겠다. 이미 만들어진 앱을 사용하면서 이 기능 있었으면, 저 기능 있었으면 하고 늘 아쉬움이 있었던 분이라면 이 책으로 실습하면서 한 번 도전해 보는 것도 좋을 것 같다.
React는 프론트 앤드 개발에 있어서 Vue와 Typescript만큼 많이 쓰이고 있습니다. 자바스크립트 입문을 때신 분들은 거의 React로 입문을 하여 프론트 앤드 개발자로 커리어를 나아가는 경우가 많은데요. 저 또한 이전에 자바스크립트를 공부하면서 React를 언젠가는 공부해야 겠다는 생각을 해본적이 있습니다. 본 책은 제일 기초적인 지식부터 토이 프로젝트에 쓸 수 있는 주제들을 다루어서 꼼꼼하게 보면서 실습하기 좋다고 생각합니다.IOS와 윈도우에서의 사용법과 왜, 어떻게를 기반으로 코드를 작성하고 이해해야 되는지 방향 또한 친절하게 설명해 주는 것이 장점이라고 생각합니다.React-native 환경에서의 실습도 친절하게 설명해주어서 직접 내용을 반영하고 변경하고 실습할 수 있게 되어있는게 장점이라고 생각합니다. 마지막으로 좋은 책 제공과 기회를 주신 한빛미디어 담당자 분들께 감사 드립니다. 12월에도 내용이 탄탄한 도서를 읽고 빨리 리뷰를 남기고 싶습니다."한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
React는 프론트 앤드 개발에 있어서 Vue와 Typescript만큼 많이 쓰이고 있습니다. 자바스크립트 입문을 때신 분들은 거의 React로 입문을 하여 프론트 앤드 개발자로 커리어를 나아가는 경우가 많은데요. 저 또한 이전에 자바스크립트를 공부하면서 React를 언젠가는 공부해야 겠다는 생각을 해본적이 있습니다. 본 책은 제일 기초적인 지식부터 토이 프로젝트에 쓸 수 있는 주제들을 다루어서 꼼꼼하게 보면서 실습하기 좋다고 생각합니다.
IOS와 윈도우에서의 사용법과 왜, 어떻게를 기반으로 코드를 작성하고 이해해야 되는지 방향 또한 친절하게 설명해 주는 것이 장점이라고 생각합니다.
React-native 환경에서의 실습도 친절하게 설명해주어서 직접 내용을 반영하고 변경하고 실습할 수 있게 되어있는게 장점이라고 생각합니다.
마지막으로 좋은 책 제공과 기회를 주신 한빛미디어 담당자 분들께 감사 드립니다. 12월에도 내용이 탄탄한 도서를 읽고 빨리 리뷰를 남기고 싶습니다.