리액트는 프런트엔드의 대표 기술로서 요즘은 이를 사용하지 않고 개발한 웹 서비스를 찾기 힘들 정도로 개발자에게 많은 사랑을 받는 기술입니다. 넷플릭스, 페이스북, 에어비앤비, 인스타그램, 트위터가 리액트로 만들어졌다는 사실만으로도 이기술의 영향력을 짐작할 수 있습니다. 전 세계 개발자를 대상으로 매년 실시하는 여러 설문조사에서도 리액트는 가장 많이 사용하는 프런트엔드 기술로 꼽힙니다.
이렇듯 인기가 높다 보니 리액트는 대다수 프로그래머 양성 기관(국비 지원 학원, 부트캠프 등)의 기본 교육 과정 중 하나가 되었고, 프런트엔드 개발자 구인 공고에서도 리액트 유경험자를 많이 찾고 있는 게 현실입니다.
프런트엔드 기술에는 리액트 말고도 뷰(Vue), 스벨트(Svelte), 솔리드(SolidJS) 등이 있습니다. 그러나 리액트의 기본 개념을 잘 알아 두면 향후에 다른 기술은 쉽게 공부할 수 있습니다. 스벨트, 솔리드와 같이 새롭게 공개되는 기술 역시 리액트를 기본 개념으로 해서 만들어지기 때문입니다. 피아노를 잘 익혀 두면 다른 악기를 배우는 게 쉬운 것처럼, 리액트를 잘 익혀 두면 다른 웹 프런트엔드 기술을 공부하기가 한결 쉽고 습득 속도도 빨라집니다.
지금 당장 리액트를 사용하고 싶다고요? 하지만 리액트는 금세 배워 사용할 수 있는 만만한 기술은 아닙니다. 리액트는 Node.js 기반의 자바스크립트 라이브러리입니다. 따라서 자바스크립트와 Node.js를 모르면 리액트를 다루기 어렵습니다.
리액트는 선수 학습으로 알아야 할 내용이 제법 많은 편입니다. 안타깝게도 오늘날 대다수 리액트 강의나 책에서는 수강생이나 독자가 자바스크립트를 잘 안다고 가정합니다. 심지어 리액트 공식 문서도 여러분이 이미 자바스크립트에 익숙하리라고 간주합니다. 물론 이런 가정이 문제가 있다거나 나쁘다는 의미는 아닙니다. 자바스크립트나 Node.js만 다루는 책이나 강의도 많기에 이를 먼저 학습한 다음 리액트를 배우면 되니까요. 그러나 자바스크립트나 Node.js를 다루는 책이나 강의가 리액트를 다루기 위해 꼭 필요한 지식만 알려주는 경우는 드뭅니다.
그러다 보니 학습자 입장에서는 어떤 개념과 문법이 리액트를 다루는 데 필요한 건지, 더 유심히 보고 익혀야 할 것은 무엇인지 파악하기 어렵습니다. 상당히 먼 길을 돌아가는 일이 종종 발생합니다.
저자는 이런 방법으로 공부하던 독자가 방향과 흥미를 잃고 중도에 포기하는 사례를 종종 보았습니다. 그래서 좀 더 쉽게 갈 수 있는 지름길이 없을까 고민하다가 《한 입 크기로 잘라 먹는 리액트》 강좌를 개설했고 인연이 닿아 책으로 출간하기에 이르렀습니다. 《한 입 크기로 잘라 먹는 리액트》는 전반부에 리액트를 배우기 위해 꼭 필요한 자바스크립트 문법(기초 & 심화 문법)과 Node.js의 기초를 다룹니다.
따라서 HTML과 CSS에 대한 기본 지식만 있다면, 이들 선수 지식을 익히고 나서 바로 리액트를 시작할 수 있습니다. 리액트를 배우려는 독자들이 굳이 먼 길을 돌아가지 않고도 바로 리액트 프로젝트를 시작할 수 있습니다. 독자의 시간을 아끼는 데 이 책이 제대로 한몫했으면 좋겠습니다.
이 책을 집필하면서 중요하게 생각한 몇 가지 원칙이 있습니다. 첫째는 처음부터 끝까지 친절하려고 했습니다. 익숙하지 않은 용어, 프로그램 설치 등 독자가 낯설어 하는 영역에 대해서는 설명과 그림 예시 등으로 최대한 상세히 설명하려고 했습니다.
둘째는 아무리 어렵고 복잡한 개념이라도 천천히 쉽게 풀어 설명하려고 했습니다. 개념 설명은 논리적 오류나 비약을 피하면서도 위키백과에 적혀 있을 법한 딱딱한 정의보다는 그림과 실생활 예시로 최대한 쉽게 설명하려 했습니다. 그리고 예제는 복합적인 기능을 한 번에 설명하기 보다는 가능한 이를 잘게 쪼개 점층적으로 공부하도록 구성했습니다. 그래야 리액트의 개념과 동작 원리를 제대로 이해할 수 있을 테니까요. “한 입 크기로 잘라 먹는다”라는 이 책의 제목도 바로 이런 생각들을 반영해 나온 겁니다.
마지막으로 새로운 내용이 등장하면 이를 배워야 하는 이유를 충분히 납득할 수 있도록 설명하려고 했습니다. 어떤 내용이 아무리 중요하다고 해도 독자 입장에서 필요성을 느끼지 못하면 흥미도 학습 효과도 떨어집니다. 따라서 새로운 개념이나 기능을 배우기 전에 항상 이전 과정을 돌아보며 이것을 왜 배우는지, 언제 사용하는지 등을 설명하려 했습니다.
“더 쉽게 설명할 수 있을 것 같은데?”
학교에서 교수님의 강의를 들으면서 늘 떠올린 생각입니다. 그럴 때마다 저는 잽싸게 노트북을 펴고 더 쉽게 설명하기 위한 나만의 수업 자료를 만들었습니다. 그리고 그날 저녁 선배, 후배, 동기들을 빈 강의실에 불러 모아 마이크를 잡고 보충 수업을 했습니다. 한 번도 돈을 받거나 보상을 받은 적이 없습니다. 그럴 이유가 없었습니다. 모두 제가 좋아서 했던 일이기 때문입니다. 누구라도 저를 통해 하나라도 더 재밌게 알 수 있다면 그것으로 저는 행복했습니다. 이 책도 같은 마음으로 썼습니다. 단 한 명이라도 이 책이 리액트를 쉽고 재밌게 공부하는 데 도움이 된다면 저
자는 그것으로 만족합니다. 부디 이 책이 여러분에게 큰 도움이 되길 바랍니다.