Top

리액트 웹앱 제작 총론 [최적화된 고성능 웹앱 UI 개발 가이드]

  • 원서명Learning React (ISBN 9780134546315)
  • 지은이크루파 친나탐비(Kirupa Chinnathambi)
  • 옮긴이이태상
  • ISBN : 9791161750118
  • 25,000원
  • 2017년 07월 17일 펴냄
  • 페이퍼백 | 256쪽 | 188*235mm
  • 시리즈 : 오픈소스 프로그래밍

책 소개

요약

리액트는 엄청난 성공을 거두고 있는 웹 UI 라이브러리다. 리액트는 복잡한 웹앱을 제작할 때 겪는 흔한 문제를 해결할 뿐만 아니라, UI를 더 쉽게 구현할 수 있는 다양한 컴포넌트와 기법을 제공한다. 이 책에서 JSX, 상태 관리, 생명주기 등 리액트의 핵심을 설명하며, 최적화된 워크플로우를 따라 고성능의 웹앱을 빠르게 제작할 수 있게 돕는다.

이 책에서 다루는 내용

■ 첫 리액트 앱 제작
■ UI 요소를 정의하는 컴포넌트 개발
■ 여러 컴포넌트들을 결합한 복합적인 UI 구현
■ 자바스크립트 대신 JSX를 사용한 비주얼 구현
■ 앱의 상태 관리
■ 리액트 방식의 스타일 적용
■ 컴포넌트 생명주기의 이해
■ 라우팅과 뷰를 이용한 싱글 페이지 앱 제작
■ 노드, 바벨, 웹팩 등을 이용한 리액트 워크플로우의 최적화

이 책의 구성

1장. '리액트 소개'에서는 리액트가 하는 일과 그 이유에 대해 개괄적으로 소개한다.
2장. '첫 번째 리액트 앱'에서는 render 메소드에 h1 태그를 정의할 때의 JSX에 대해 알아본다.
3장. '리액트 컴포넌트'에서는 리액트를 리액트답게 만드는 것 중 하나인 컴포넌트를 배운다.
4장. '리액트 스타일링'에서는 리액트가 자바스크립트에 인라인 방식으로 스타일링하는 모습을 볼 수 있으며, 또한 HTML과 비슷한 XML 문법을 사용해 자바스크립트에서 UI를 통째로 선언하는 방법을 JSX를 통해 배운다. 5장. '복잡한 컴포넌트 제작'에서는 UI를 구조적으로 바라보는 방법과 컴포넌트 구현을 위한 식별 방법을 배운다. 6장. '속성 전달'에서는 여러 계층에서 속성 전달을 좀 더 쉽게 할 수 있는 방법을 알아본다.
7장. 'JSX와의 재회'에서는 JSX를 알아야 할 필요가 있는 사항을 깊이 들여다보기 위해 역진 추적(backtracking)과 전진 추적(forwardtracking)도 배운다.
8장. '상태 다루기'에서는 상태에 대한 모든 사항을 살펴보고 상태 보존(stateful) 컴포넌트를 만들어 사용하는 방법과 이것으로 무엇을 할 수 있는지 배운다.
9장. '데이터에서 UI로'에서는 실전에서 보게 될 일반적인 시나리오에서 힘들 수 있는 점을 줄이는 방법을 알아본다.
10장. '이벤트'에서는 이벤트 처리와 관련한 여러 가지 사항을 알아본다. 리액트가 이벤트를 취급하는 방법은 약간 다르며, 그 차이에 세심한 주의를 기울이지 않으면 놀라게 될 일들이 많을 것이다. 간단한 몇 개의 예제로 시작해, 점점 더 이상하고 복잡하고 짜증 나는 상황을 해결해나가는 방법을 배운다.
11장. '컴포넌트 생명주기'에서는 생명주기 메소드와 이를 통해 할 수 있는 일들을 배워본다.
12장. 'DOM 엘리먼트 접근'에서는 DOM 엘리먼트에 직접 접근할 수 있는 ‘쉬운’ 방법을 알아본다.
13장. '리액트 라우터를 이용한 싱글 페이지 앱'에서는 리액트를 이용해 간단한 싱글 페이지 앱(SPA)을 만들어 본다.
14장. 'Todo List 앱 제작'에서는 지금까지 배운 많은 개념과 기법을 총동원해 Todo List 앱을 개발할 것이다.
15장. '리액트 개발 환경 구성'에서는 리액트 앱을 개발하기 위한 툴을 소개하고 노드, 바벨, 웹팩을 사용해본다.

상세이미지

저자/역자 소개

지은이 소개

크루파 친나탐비(Kirupa Chinnathambi)

자신만큼이나 웹 개발을 사랑하는 사람들을 교육하며 많은 시간을 보냈다. 블로깅이라는 단어조차 없었던 1999년부터 자신의 웹사이트(kirupa.com)에 튜토리얼을 포스팅하기 시작했다. 그 후로 지금까지 수백 개의 글을 쓰고 다수의 책을 저술했으며(물론 그중에 이 책이 가장 훌륭하다!), 유튜브에서 시청할 수 있는 수십 개의 튜토리얼 비디오를 제작했다. 웹 개발에 대해 글을 쓰거나 강의하는 시간 이외에는 마이크로소프트의 프로그램 매니저로서 웹을 더욱 굉장하게 만드는 일을 한다.

지은이의 말

오늘날 웹앱(web app)의 모양과 느낌(look and feel)이 과거에 비해 더 멋지다는 사실을 잠시 차치 하면, 그보다 더 근본적인 어떤 변화가 있었음을 알 수 있다. 바로 웹앱을 설계하고 빌드 하는 방식이 매우 달라졌다는 점이다. 이 책에서는 앱을 빌드하는 두 가지 접근 방식부터 알아본다. 그러면서 약간은 신기한 방식으로 리액트에 대한 개괄적인 내용에 다가가게 될 것이다. 그리고 복잡한 UI를 빌드하는 데 따르는 문제와 이 문제를 리액트로 쉽게 해결하는 방법을 배운다. 따라하다 보면, 당신의 목적을 달성할 훌륭한 아이디어를 얻을 수 있을 것이다. 그럼 시작하자!

옮긴이의 말

2000년대 중반부터 시작된 자바스크립트 춘추전국시대는 10년 넘게 계속되고 있습니다. 숱한 자바스크립트 프레임워크나 라이브러리가 등장했다가 사라지거나 변모해왔으며, 이와 같은 상황은 앞으로도 계속될 것이라 생각합니다. 2017년 현재 대표적인 UI 프레임워크로는 리액트(React), 앵귤러(Angular), 뷰(Vue.js) 등을 들 수 있겠습니다. 설문 등을 포함한 몇몇 조사 결과를 봤을 때, 그중 가장 인기 있는 프레임워크는 아마도 리액트일 것입니다. 리액트는 페이스북이 2013년 5월 오픈소스로 발표한 이후 지금까지 꾸준히 사랑받고 있으며 페이스북, 인스타그램, 넷플릭스, 야후 등 여러 유명한 사이트에서 사용되고 있습니다. 모든 프레임워크가 그러하듯 리액트 역시 장단점이 있겠지만, 특히 가상 DOM을 사용해 렌더링 성능을 높인 점이나 일방향 데이터 흐름을 지향함으로써 이해와 관리를 쉽게 해준 점이 인기의 주된 요인으로 추측됩니다. 앞으로도 자바스크립트 세계의 지형 변화 속에서 또 다른 프레임워크나 라이브러리를 사용할 기회가 많이 생길 것입니다. 따라서 리액트를 사용해보는 일은 많은 프로젝트가 리액트를 채택하고 있는 현실에 부응하는 노력인 동시에 웹 기술의 통찰에 필요한 큰 자양분을 쌓는 일이 될 것입니다. 그렇지 않아도 배워야 할 것들이 많아 늘 바쁜 여러분 앞에, 빠르게 리액트를 소화해줄 이 책이 놓여 있는 이유입니다. IT 분야에서 고군분투하는 모든 분의 건투를 빕니다.

옮긴이 소개

이태상

교육과 컨설팅을 주로 하는 자바와 웹 전문가였으며, 오랫동안 전자금융 업무를 진행했다. 현재 금융 기관의 기간 시스템을 담당하고 있다. 또한 '개념을 탑재한' 기성세대가 되고 싶은 두 아이의 아빠다. 에이콘출판사에서 출간한 『톰캣 최종분석』(2005), 『JSF 인 액션』(2006), 『스프링 인 액션』(2006), 『자바 개발자를 위한 오브젝티브C』(2010), 『Professional iPhone and iPad Application Development 한국어판』(2011), 『PhoneGap 한국어판』(2012)을 번역했다.

목차

목차
  • 1장. 리액트 소개
    • 옛날 방식의 멀티 페이지 디자인
    • 요즘 방식의 싱글 페이지 앱
    • 리액트와의 첫 만남
      • UI 상태 자동 관리
      • 번개같이 빠른 DOM 조작
      • 결합이 용이한 UI를 지원하는 API
      • 자바스크립트로 정의하는 비주얼
      • MVC 아키텍처에서의 ‘V’
    • 정리
  • 2장. 첫 번째 리액트 앱
    • JSX 다루기
    • 리액트 시작하기
    • 이름 보여주기
    • 여전히 익숙한 기술
      • 목적지 변경
      • 스타일 입히기!
    • 정리
  • 3장. 리액트 컴포넌트
    • 함수에 대한 빠른 리뷰
    • UI를 다루는 방법의 변화
    • 리액트 컴포넌트와의 첫 만남
      • Hello, World! 컴포넌트 만들기
      • 속성 지정
      • 자식 다루기
    • 정리
  • 4장. 리액트 스타일링
    • 영어 모음 보여주기
    • CSS를 사용한 리액트 콘텐츠의 스타일링
      • 생성된 HTML의 이해
      • 곧바로 스타일링!
    • 리액트 방식의 스타일링
      • 스타일 객체 만들기
      • 콘텐츠 스타일링
      • 접미사 ‘px’의 생략
      • 배경색 커스터마이징
    • 정리
  • 5장. 복잡한 컴포넌트 제작
    • 비주얼 요소에서 컴포넌트로
      • 주된 비주얼 요소 식별
      • 컴포넌트 식별
    • 컴포넌트 작성
      • Card 컴포넌트
      • Square 컴포넌트
      • Label 컴포넌트
      • 속성 전달
    • 컴포넌트 결합성의 비밀
    • 정리
  • 6장. 속성 전달
    • 문제점 인식
    • 문제점 분석
    • 스프레드 연산자
    • 속성의 올바른 전달
    • 정리
  • 7장. JSX와의 재회
    • JSX의 실체
    • 기억해야 할 JSX의 특징
      • 단 하나의 루트 노트만 리턴 가능
      • 인라인 CSS 사용 불가
      • 예약어와 className
      • 주석
      • 대소문자 구별
      • 어디든 가능한 JSX
    • 정리
  • 8장. 상태 다루기
    • 상태 사용하기
      • 시작 지점
    • 카운터 켜기
      • 초기 상태 값 설정
      • 타이머 시작과 상태 설정
      • 상태 변경 후 렌더링
    • 참고: 전체 코드
    • 정리
  • 9장. 데이터에서 UI로
    • 예제
    • 어디든 가능한 JSX―2탄
    • JSX에서의 배열 다루기
    • 정리
  • 10장. 이벤트
    • 이벤트 리스닝하기와 반응하기
      • 시작 지점
      • 버튼 작동시키기
      • 이벤트 속성
      • 이벤트 속성 다루기
      • 또 다른 이벤트 처리 기법
      • 일반적인 DOM 이벤트 리스닝
      • 이벤트 핸들러에서 this의 의미
    • 리액트는 왜? 왜?!
      • 브라우저 호환성
      • 성능 향상
    • 정리
  • 11장. 컴포넌트 생명주기
    • 생명주기 메소드와의 만남
      • 생명주기 메소드의 작동 확인
      • 초기 렌더링 단계
      • 업데이트 단계
      • 언마운트 단계
    • 정리
  • 12장. DOM 엘리먼트 접근
    • ref와의 첫 만남
    • 정리
  • 13장. 리액트 라우터를 이용한 싱글 페이지 앱
    • 예제
    • 앱 구축
      • 초기 프레임 보여주기
      • Home 뷰 보여주기
      • 중간 정리
      • 올바르게 Home 뷰 보여주기
    • 내비게이션 링크 만들기
      • Stuff 뷰와 Contact 뷰 추가
      • 액티브 링크
    • 정리
  • 14장. Todo List 앱 제작
    • 시작하기
    • UI 제작
    • 기능 구현
      • 상태 객체 초기화
      • 폼 제출 처리
      • 상태 채우기
      • ‘할 일’ 보여주기
      • 마지막 손질하기
    • 정리
  • 15장. 리액트 개발 환경 구성
    • 툴 소개
      • 노드
      • 바벨
      • 웹팩
      • 코드 에디터
    • 환경 설정 시간!
      • 초기 프로젝트 구조 잡기
      • 노드의 설치와 초기화
      • 의존 라이브러리 설치
      • JSX 파일 추가
      • JSX로부터 자바스크립트 만들기
      • 빌드와 테스트
    • 정리
  • 16장. 책을 마치며

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안