본문 바로가기
:: Notes/Books

[리액트 서적] Learning React (러닝 리액트)

by 메모밍 2020. 11. 22.

"JavaScript로 개발할 수 있는 모든 것은 결국 JavaScript로 개발하게 될 것이다." 
자바스크립트를 이제 단순한 웹 동작을 구현하는 언어라고 하기엔 너무 다양한 역할을 할 수 있는 녀석이 되었다. 그리고 점점 성장하는 JS 생태계에서 리액트에 처음 관심을 가지게 된 것은 2015년 리액트 네이티브가 나올때였는데 리액트로 개발을 하면 웹 뿐만 아니라 모바일까지 한 번에 해결할 수 있기 때문이었다. 특히 Anriod와 IOS를 동시에 커버하며 개발할 수 있다는것 자체만으로 엄청난 메리트가 있었다. 지금하고 있는 일은 리액트를 사용하지 않지만 이번에 시작하려는 프로젝트가 리액트를 사용할 예정이었기에 빠르게 훑어볼 책을 찾다가 개발자라한 한 번쯤은 접해봤을 시리즈인 한빛미디어의 일명 '동물책'을 골랐다.

 

항상 궁금했던 부분인데 동물은 어떤 기준으로 선정 되는 걸까?

 

시중에 리액트와 관련된 서적이 정말 많다. 그냥 도서 검색으로 리액트만 검색해도 몇 페이지가 나오니까. 소비자 입장에서 그 모든 책을 일일히 검색해서 목차를 보고 추천사를 읽어보고 산다는 것은 너무나 피곤한 노동이다. 어차피 리액트가 책마다 달라지는 것이 아니기에 내가 배우기에 '적당한' 책을 빠르게 골라서 한 장이라도 더 보는 것이 좋다. 내가 생각하는 나에게 맞는 적당한 기술 서적을 빠르게 고르는 팁은 일단 내 자신이 해당 기술에 대해 얼마나 아는가를 파악해야 하는 것이다. 나는 리액트를 이전에 한 번 접해본적은 있지만 실제 프로덕트로 개발해본적은 없고 그 마저도 몇 년전의 일이기때문에 리액트에 대해 잘 모른다는 가정에서 시작한 책이 필요했다. 그렇다고 프로그래밍을 아예 모르는 것은 아니므로 변수가 무엇인지, 반복문이 무엇인지 부터 설명하는 책은 피하고 싶었다.  러닝 리액트는 리액트에 대해 잘은 모르지만 기본적인 프로그래밍을 할 수 있고, HTML, JS, CSS에 대한 기초가 있는 사람들이 리액트를 시작하기에 좋은 책이다. 리액트의 기본적인 내용부터 변화가 빠른 최신 자바스크립트 트랜드까지 설명한다.

 

리액트는 크기가 매우 작은 라이브러리다. 웹 프런트를 구현하기 위한 라이브러리지만 라이브러리 답지 않게(?) 필요한 모든 기능을 제공해주지 않는다. 이러한 가벼움이 어쩌면 리액트를 더욱 매력있게 만들어 주는지도 모른다. 내가 리액트로 처리하지 않고 싶은 부분이 있다면 그냥 그 부분만 사용하지 않으면 그만이게 해준다. 웹 프런트 기술이라고 하면 기본적으로 HTML, CSS, JS등을 떠올리는데 리액트를 사용하면 JS를 마치 HTML 문서를 작성하듯 사용할 수 있다. 리액트로 작성한 웹 프론트를 처음 보면 신기하다? 단순하다? 라는 생각이 떠오르고 점차 많은 물음이 꼬리를 문다. "이거 대체 어디서 가져오는거지?", "CSS는 어떻게 적용된거지?", "DOM 처리는 어떻게 되고 있는거지?" 하는 의문들인데 사실 이러한 의문들이 리액트의 매력이 아닌가 싶다. 이 책은 리액트를 처음 배우는 사람들이 가질만한 물음이 무엇인지를 이해하고 물음을 가질만한 부분마다 코드와 추가적인 설명으로 어쩔때는 아예 챕터를 할애해서 설명한다. 머리속에 떠오르는 물음들을 해결하는것이 리액트의 매력에 빠져드는 과정이라는 것을 알고 있는것 같다. 

 

리액트는 가볍다. 할 수 있는것에 비해 부피가 작다. 그렇기 때문에 처음 배울때 '제대로'된 방법으로 '정확하게' 이해하는 것이 필요하다. 무엇을 배울때 가장 중요한 시기가 바로 처음이다. 정의를 바로 잡는것은 쉽지만 이해를 바로 잡는것은 매우 큰 노력이 들기때문이다. 이 책은 배우는 순서를 많이 신경써서 집필했다는 생각이 든다. 이걸 여기서 왜? 하다가도 뒤로가면 해당 내용을 몰랐다면 리액트의 이 부분을 정확히 알기 힘들었겠구나 하는 생각을 하며 읽었다. 이 책 한권으로 리액트의 전부를 배우겠다는 생각보다는 제대로 짜여진 학습 커리큘럼으로 정확한 이해를 한다는 생각으로 본다면 리액트의 첫 걸음으로 훌륭한 참고 서적이 될 것이라 생각한다.

 

 

댓글0