본문 바로가기

추천 검색어

실시간 인기 검색어

리액트 & 리액트 네이티브 통합 교과서

프로그래밍 언어
아담 보두치 저자(글) · 강경일 , 신희철 번역
에이콘출판 · 2019년 07월 22일
8.5 (5개의 리뷰)
집중돼요 (50%의 구매자)
  • 리액트 & 리액트 네이티브 통합 교과서 대표 이미지
    리액트 & 리액트 네이티브 통합 교과서 대표 이미지
  • A4
    사이즈 비교
    210x297
    리액트 & 리액트 네이티브 통합 교과서 사이즈 비교 188x235
    단위 : mm
MD의 선택 무료배송 이벤트 소득공제
10% 31,500 35,000
적립/혜택
1,750P

기본적립

5% 적립 1,750P

추가적립

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 1,750P
  • 리뷰 작성 시, e교환권 추가 최대 300원
절판되었습니다.

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

패키지

북카드

키워드 Pick

키워드 Pick 안내

관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

리액트는 페이스북이 개발한 웹 개발 라이브러리로, 현재 페이스북이 자사 서비스에 적극적으로 활용할 뿐만 아니라 수많은 개발자들이 웹 및 앱 개발에 사용하고 있는 기술이다.
이 책은 리액트에 대한 전반적인 이해와 구현을 통해 모바일 앱 개발이 가능한 리액트 네이티브를 소개하며 약간의 자바스크립트 지식으로도 충분히 시작할 수 있다.
먼저 리액트의 개념 및 렌더링, 컴포넌트 재사용, JSX, 고차 컴포넌트 등에 대해 배운다. 책 후반부에서는 이를 토대로 모바일 앱 개발을 위해 리액트 네이티브로 주요 모바일 플랫폼의 네이티브 컴포넌트와 연동하는 방법을 배운다.

작가정보

저자(글) 아담 보두치

10여 년간 대규모 자바스크립트 개발에 참여해왔다. 프론트 엔드 개발로 이동하기 전에는 파이썬과 리눅스를 사용해 몇 가지 대규모 클라우드 컴퓨팅 제품을 개발했다. 복잡성의 문제에 익숙하며 소프트웨어 시스템과 그것이 갖고 있는 확장성의 문제에 대한 실질적인 경험자다.
『Flux Architecture』(Packt, 2016)를 비롯한 여러 자바스크립트 책의 저자이며 현재 혁신적인 사용자 경험과 고성능에 빠져 있다.

경희대학교 컴퓨터공학과를 다녔으며, 자바스크립트 및 제이쿼리를 사용해 여러 웹 프로젝트를 진행해왔다. 더욱 체계적인 웹 개발을 위해 찾아보던 중 리액트를 접하게 됐으며 이 기술에 흥미를 느껴 웹 프론트엔드 개발자로 전향하게 됐다. 가상 DOM, 컴포넌트 등 리액트만의 여러 특징은 제이쿼리로만 개발하던 그 동안의 나의 웹 개발의 패러다임에 변화와 활력을 줬다. 현재도 리액트를 사용해서 SNS 개발을 진행하고 있으며, 리액트 네이티브로 토이 프로젝트를 진행 중이다. 추후 리액트와 리액트 네이티브를 사용해 다양한 서비스를 출시하는 것이 개인적인 목표다.

18여 년간 마이크로소프트, IBM, 야후와 스타트업등에서 소프트웨어 개발자, 컨설턴트를 거쳤다. 커리어를 윈도우 애플리케이션 개발자로 시작했기에 『찰스 페졸드의 WPF』(에이콘, 2007) 등을 출간하며 플랫폼 전문성을 가지는 것으로 방향을 잡았지만 웹과 모바일로의 플랫폼 확장의 시대에서는 강제 적응 모드에 들어갈 수밖에 없게 됐다. 아직도 많은 것을 지속적으로 배워야 하는 IT 바닥이 야속하기도 하지만 새로운 기술이 나올 때마다 다시 젊은 개발자로 돌아간 것 같은 느낌이 드는 것은 그나마 매력이다.

작가의 말

나는 모바일 앱 개발에 별 관심이 없었다. 이미 여러 장치에 앱이 넘쳐나고 있는 상황에서 더 많은 애플리케이션을 설치할 필요가 없다고 생각했기 때문이다. 그런데 리액트 네이티브가 나타나고 웹 애플리케이션에 리액트가 사용되면서 인기를 끌었다. 내가 서로 다른 도구, 환경 및 프로그래밍 언어를 사용해 같은 앱의 여러 버전을 유지 관리하는 것을 주저하는 유일한 개발자가 아니라는 사실이 밝혀졌다. 리액트 네이티브는 웹 개발 경험의 관점(리액트)에서 잘 동작하는 것을 가져와 네이티브 앱 개발에 적용하기 위해 만들어졌다. 네이티브 모바일 앱은 브라우저보다 우수한 사용자 환경을 제공한다. 모바일 앱이 필요 없다는 나의 생각은 틀렸다. 당분간 모바일 앱이 필요하다. 이 책은 기본적으로 웹 리액트 개발자이자 경험이 부족한 모바일 앱 개발자로서의 나의 경험을 담고 있다. 리액트 네이티브는 웹에 대한 리액트를 이해하고 있는 개발자라면 전환하기가 쉽다. 이 책에서는 두 환경에서 리액트를 개발할 때의 미묘한 차이와 리액트의 개념적 테마를 배울 수 있다. 리액트는 무엇이든 타깃이 될 수 있는 단순한 렌더링 추상화다. 오늘날로 따지면 브라우저와 모바일 장치다. 미래에는 모든 것이 될 수 있다.

목차

  • 1장. 왜 리액트인가?
    __리액트란?
    ____리액트는 단지 뷰다
    __단순성이 좋다
    __선언적 UI 구조
    __시간과 데이터
    __성능 문제
    __올바른 추상화 수준
    __리액트 16의 변경 사항
    ____핵심 아키텍처 개선
    ____생명주기 메서드
    ____컨텍스트 API
    ____프래그먼트 렌더링
    ____목록과 문자열을 렌더링
    __요약

    2장. JSX 렌더링
    __JSX란 무엇인가?
    ____Hello JSX
    ____선언적 UI 구조
    __HTML과 같은
    ____내장 HTML 태그
    ____HTML 태그 규약
    __UI 구조 설명
    __자신의 JSX 요소 생성
    ____HTML 캡슐화
    ____중첩 요소
    ____네임스페이스 컴포넌트
    __자바스크립트 표현 사용
    ____동적 프로퍼티 값과 텍스트
    ____컬렉션을 요소에 매핑
    __JSX의 프래그먼트
    ____래퍼 요소
    ____프래그먼트를 사용해 불필요한 태그 제거
    __요약

    3장. 컴포넌트 프로퍼티, 상태 그리고 컨텍스트
    __컴포넌트 상태란 무엇인가?
    __컴포넌트 프로퍼티란 무엇인가?
    __컴포넌트 상태 설정
    ____초기 컴포넌트 상태
    ____컴포넌트 상태 설정
    ____컴포넌트 상태 병합
    __프로퍼티 값 전달하기
    ____기본 프로퍼티 값
    ____프로퍼티 값 설정
    __무상태 컴포넌트
    ____순수 함수형 컴포넌트
    ____함수형 컴포넌트 기본값
    __컨테이너 컴포넌트
    __컨텍스트 제공 및 사용
    __요약

    4장. 이벤트 핸들링 - 리액트 방식
    __이벤트 핸들러 선언
    ____핸들러 함수 선언
    ____다중 이벤트 핸들러
    ____제네릭 핸들러 임포트
    __이벤트 핸들러 컨텍스트와 매개변수
    ____Auto-binding context
    ____컴포넌트 데이터 가져오기
    __고차 이벤트 핸들러
    __인라인 이벤트 핸들러
    __요소에 핸들러를 바인딩
    __통합 이벤트 객체
    __이벤트 풀링
    __요약

    5장. 재사용할 수 있는 컴포넌트 제작
    __재사용할 수 있는 HTML 요소
    __일체형 컴포넌트의 어려움
    ____JSX 마크업
    ____초기 상태와 상태 헬퍼
    ____이벤트 핸들러 구현
    __컴포넌트 구조 리팩토링
    ____JSX로 시작
    ____article 목록 컴포넌트 구현
    ____article 항목 컴포넌트 구현
    ____article 컴포넌트 추가 기능 구현
    ____함수형 컴포넌트 만들기
    __렌더 프롭 활용
    __컴포넌트 트리 렌더링
    __기능 컴포넌트와 유틸리티 컴포넌트
    __요약

    6장. 리액트 컴포넌트 생명주기
    __컴포넌트는 왜 생명주기가 필요한가?
    __프로퍼티와 상태 초기화하기
    ____컴포넌트 데이터 가져오기
    ____프로퍼티로 상태 초기화하기
    ____프로퍼티로 상태 업데이트하기
    __렌더링 효율 최적화
    ____렌더링 여부 결정
    ____렌더링 최적화를 위한 메타데이터의 사용
    __명령형 컴포넌트 렌더링
    ____제이쿼리 UI 위젯 렌더링
    __컴포넌트의 후처리
    ____비동기 호출 정리
    ____에러 경계
    __요약

    7장. 컴포넌트 프로퍼티 검증
    __예측 값 파악
    __이동 가능한 컴포넌트
    __간단한 프로퍼티 검증기
    ____기본 유형 검증
    ____값 요청
    ____any 프로퍼티 값
    __유형과 값 검사기
    ____렌더링될 수 있는 것
    ____특정 유형 요청
    ____특정 값을 요청
    __커스텀 프로퍼티 검증기 구현
    __요약

    8장. 컴포넌트 확장
    __컴포넌트 상속
    ____상태 상속
    ____프로퍼티 상속
    ____JSX 및 이벤트 핸들러 상속
    __고차 컴포넌트 구성
    ____조건부 컴포넌트 렌더링
    ____데이터 소스 제공
    __요약

    9장. 라우트를 통한 내비게이션 처리
    __라우트 선언
    ____헬로 라우트
    ____라우트 선언 분리
    ____부모와 자식 라우트
    __라우터 매개변수 처리
    ____라우트의 리소스 ID
    ____선택적 매개변수
    __링크 컴포넌트 사용
    ____기본 링크
    ____URL 및 쿼리 매개변수
    __요약

    10장. 서버단 리액트 컴포넌트
    __동형 자바스크립트란 무엇인가?
    ____서버는 렌더링 대상이다
    ____초기 로드 성능
    ____백엔드와 프론트엔드 간의 코드 공유
    __문자열로 렌더링
    __백엔드 라우팅
    __프론트엔드 조정
    __데이터 가져오기
    __요약

    11장. 모바일 우선 리액트 컴포넌트
    __모바일 우선 디자인의 근거
    __React-bootstrap 컴포넌트 사용
    ____내비게이션 구현
    ____목록
    ____폼
    __요약

    12장. 왜 리액트 네이티브인가?
    __리액트 네이티브는 무엇인가?
    __리액트와 JSX는 익숙하다
    __모바일 브라우저 경험
    __같으면서 다른 안드로이드와 iOS
    __모바일 웹 애플리케이션 사례
    __요약

    13장. 리액트 네이티브 프로젝트 시작하기
    __create-react-native-app 설치하고 사용하기
    __리액트 네이티브 앱 생성하기
    __앱 실행하기
    __Expo 설치하고 사용하기
    __시뮬레이터 사용하기
    ____iOS 시뮬레이터
    ____안드로이드 시뮬레이터
    __요약

    14장. 플렉스박스로 반응형 레이아웃 만들기
    __플렉스박스는 새로운 레이아웃 표준이다
    __리액트 네이티브 스타일 소개하기
    __플렉스박스 레이아웃 만들기
    ____단순한 세 열 레이아웃
    ____개선된 세 열 레이아웃
    ____유연한 행
    ____유연한 그리드
    ____유연한 행과 열
    __요약

    15장. 화면 탐색하기
    __탐색 기초
    __라우트 인자
    __탐색 헤더
    __탭과 드로워 탐색
    __상태 다루기
    __요약

    16장. 항목 목록 렌더링하기
    __데이터 컬렉션 렌더링하기
    __목록 정렬하고 필터링하기
    __목록 데이터 가져오기
    __지연 목록 로딩
    __요약

    17장. 프로그레스 보여주기
    __진행 상황과 사용성
    __프로그레스 표시하기
    __프로그레스 측정하기
    __탐색 인디케이터
    __단계 프로그레스
    __요약

    18장. 지오로케이션과 맵
    __내 위치는 어디인가?
    __주변에는 무엇이 있을까?
    __가볼 만한 곳 주석달기
    ____포인트 배치하기
    ____오버레이 배치하기
    __요약

    19장. 사용자 입력받기
    __텍스트 입력받기
    __목록 옵션 선택하기
    __온/오프 토글링하기
    __날짜/시간 입력받기
    __요약

    20장. 알림, 통지, 확인
    __중요한 정보
    __사용자 확인받기
    ____성공 확인
    ____에러 확인
    __수동적 통지
    __액티비티 모달
    __요약

    21장. 사용자 제스처에 대응하기
    __손가락으로 스크롤하기
    __터치 피드백주기
    __스와이프 가능과 취소 가능
    __요약

    22장. 이미지 출력 제어하기
    __이미지 로딩하기
    __이미지 리사이즈하기
    __이미지 지연 로딩하기
    __아이콘 렌더링하기
    __요약

    23장. 오프라인의 세계로
    __네트워크 상태 감지하기
    __애플리케이션 데이터 저장하기
    __애플리케이션 데이터 동기화하기
    __요약

    24장. 애플리케이션 상태 다루기
    __정보 아키텍처와 플럭스
    ____단일 방향성
    ____동기식 업데이트 라운드
    ____예측 가능한 상태 변환
    __통합 정보 아키텍처
    __리덕스 구현하기
    ____초기 애플리케이션 상태
    ____스토어 생성하기
    ____스토어 프로바이더와 라우트
    ____앱 컴포넌트
    ____Home 컴포넌트
    ____모바일 앱에서의 상태
    __아키텍처 확장하기
    __요약

    25장. 왜 릴레이와 그래프QL인가?
    __또 다른 접근법?
    __새로운 용어들
    __선언형 데이터 의존성
    __애플리케이션 상태 변형하기
    __그래프QL 백엔드와 마이크로서비스
    __요약
    __TodoMVC와 릴레이

    26장. 릴레이 리액트 앱 구현하기
    __그래프QL 스키마
    __릴레이 부트스트래핑하기
    __Todo 항목 추가하기
    __Todo 항목 렌더링하기
    __Todo 항목 완성하기
    __요약

출판사 서평

★ 이 책에서 다루는 내용 ★
■ 재사용 가능한 리액트 컴포넌트 작성하기
■ 리액트 라우터로 UI와 URL을 동기화해 탐색 통제하기
■ Node.js를 사용해 서버 사이드 렌더링 웹 애플리케이션 개발하기
■ 반응형 모바일 디자인을 생성하기 위해 플럭스박스 레이아웃 모델 사용하기
■ 안드로이드와 iOS 네이티브 API를 활용해 리액트 네이티브로 매력적인 애플리케이션 개발하기
■ 사용자를 위해 직관적인 형태의 제스처에 대응하기
■ 리액트 UI를 위한 통합된 데이터 아키텍처를 구성하기 위해 릴레이 사용하기

★ 이 책의 대상 독자 ★
입문자나 전문가를 포함한 모든 자바스크립트 개발자를 위해 만들어졌다. 페이스북의 UI 라이브러리 사용법을 배우고 싶은 사람도 포함된다. 리액트에 대한 지식은 필요 없지만 ES2015에 대한 실무 지식이 있으면 더욱 잘 이해할 수 있다.

★ 이 책의 구성 ★
1장, ‘왜 리액트인가?’에서는 리액트가 무엇인지, 왜 사용하고 싶은지에 대해 알아본다.
2장, ‘JSX 렌더링’에서는 JSX가 리액트에서 콘텐트를 렌더링할 때 사용하는 구문이라는 것에 대해 알아본다. HTML이 가장 보편적인 결과지만 JSX를 사용하면 네이티브 UI 컴포넌트 등을 렌더링할 수 있다.
3장, ‘컴포넌트 프로퍼티, 상태 그리고 컨텍스트’에서는 프로퍼티가 컴포넌트에 전달되는 방법과 상태가 변경될 때 컴포넌트를 재렌더링하는 방법에 대해 알아본다.
4장, ‘이벤트 핸들링?리액트 방식’에서는 리액트의 이벤트가 JSX에서 구체화된다는 것과 리액트가 이벤트를 어떻게 처리하고 코드가 해당 이벤트에 어떻게 반응해야 하는지에 대해 알아본다.
5장, ‘재사용할 수 있는 컴포넌트 제작’에서는 컴포넌트가 종종 더 작은 컴포넌트들을 사용해 구성된다는 것에 대해 알아본다. 이는 데이터 및 동작을 하위 컴포넌트에 올바르게 전달해야 한다는 것을 의미한다.
6장, ‘리액트 컴포넌트 생명주기’에서는 리액트 컴포넌트가 어떻게 만들어지고 파괴되는지에 대해 알아본다. 이에는 네트워크에서 데이터를 가져오는 것과 같은 여러 다른 생명주기(Lifecycle) 이벤트가 있다.
7장, ‘컴포넌트 프로퍼티 검증’에서는 리액트에 컴포넌트로 전달되는 프로퍼티 유형의 유효성을 검사하는 메커니즘이 있다는 것을 알아본다. 이를 통해 컴포넌트에 예기치 못한 값이 전달되지 않는다는 사실을 확인할 수 있다.
8장, ‘컴포넌트 확장’에서는 컴포넌트를 확장하는 데 사용되는 메커니즘에 대해 소개한다. 이는 상속과 고차 컴포넌트(higher-order components)를 포함한다.
9장, ‘라우트를 통한 내비게이션 처리’에서는 내비게이션이 모든 웹 애플리케이션의 본질적인 부분이라는 것에 대해 알아본다. 리액트는 리액트 라우터 패키지(react-router package)를 사용해 라우트를 선언적으로 처리한다.
10장, ‘서버단 리액트 컴포넌트’는 브라우저에서 리액트가 컴포넌트를 DOM에 렌더링하는 방법을 논의한다. 또한 컴포넌트를 문자열로 렌더링할 수도 있는데 이는 서버에서 페이지를 렌더링하고 브라우저에 정적 콘텐트를 전달할 때 유용하다.
11장, ‘모바일 우선 리액트 컴포넌트’에서는 모바일 웹 애플리케이션은 데스크톱 화면 해상도를 위해 설계된 웹 애플리케이션과는 근본적으로 다르다는 것에 대해 알아본다. 리액트 부트스트랩 패키지(react-bootstrap package)를 사용하면 UI를 모바일 환경에서 만들 수 있다.
12장, ‘왜 리액트 네이티브인가?’에서는 리액트 네이티브가 모바일을 위한 리액트라는 것에 대해 알아본다. 리액트에 대한 경험이 있다면 똑같은 기술을 통해 향상된 모바일 경험을 제공할 수 있다.
13장, ‘리액트 네이티브 프로젝트 시작하기’에서는 어느 누구도 보일러플레이트 코드 작성이나 프로젝트 디렉터리 설정을 좋아하지 않는다는 것에 대해 알아본다. 리액트 네이티브에는 이러한 작업을 자동화하는 도구가 존재한다.
14장, ‘플렉스박스로 반응형 레이아웃 만들기’에서는 플렉스박스(Flexbox) 레이아웃 모델이 CSS를 사용하는 웹 UI 레이아웃에서 인기 있는 이유를 알아본다. 리액트 네이티브는 레이아웃 화면과 동일한 메커니즘을 사용한다.
15장, ‘화면 탐색하기’에서는 탐색은 웹 애플리케이션의 중요한 부분이지만 모바일 애플리케이션은 사용자가 화면에서 화면으로 이동하는 방식을 처리하는 도구가 필요하다는 것에 대해 알아본다.
16장, ‘항목 목록 렌더링하기’에서는 리액트 네이티브에서는 항목 목록을 완벽하게 렌더링해주는 목록 뷰 컴포넌트가 있다는 것에 대해 알아본다. 단순히 데이터 소스를 제공하면 나
머지는 알아서 처리한다.
17장, ‘프로그레스 보여주기’에서는 프로그레스 바가 일의 진행률을 보여주는 데 매우 훌륭하다는 것에 대해 알아본다. 얼마나 걸리는지 모를 경우 프로그레스 인디케이터를 사용하라. 리액트 네이티브에는 두 가지 컴포넌트가 모두 있다.
18장, ‘지오로케이션과 맵’에서는 react-native-maps 패키지가 리액트 네이티브에 매핑 기능을 제공하는 것에 대해 일아본다. 웹 애플리케이션에서 사용되는 지오로케이션 API는 리액트 네이티브에서 직접 제공된다.
19장, ‘사용자 입력받기’에서는 대부분의 애플리케이션이 사용자로부터 입력을 받아야 한다는 것에 대해 알아본다. 이는 모바일 애플리케이션에서도 다르지 않으며 리액트 네이티브는 HTML 폼 요소들과 같은 다양한 제어 기능을 제공한다.
20장, ‘알림, 통지, 확인’에서는 알림(Alert)은 사용자에게 중요한 일이 발생했다는 것, 통지(Notification)는 눈에 띄지 않는 업데이트라는 것, 확인(Confirmation)은 즉각적인 응답을 얻는 데 사용된다는 것에 대해 알아본다.
21장, ‘사용자 제스처에 대응하기’에서는 모바일 장치에서의 제스처가 브라우저에서 올바르게 동작하기 어렵다는 것에 대해 알아본다. 이와 반대로 네이티브 앱은 스와이프, 터치 등에 대해 훨씬 더 나은 경험을 제공할 수 있다. 리액트 네이티브는 많은 세부 사항을 처리한다.
22장, ‘이미지 출력 제어하기’에서는 이미지가 아이콘, 로고 또는 사물의 사진이 대부분의 애플리케이션에서 얼마나 중요한 역할을 하는지에 대해 알아본다. 리액트 네이티브는 이미지 로드, 사이즈 조정 및 적절하게 배치하기 위한 도구를 제공한다.
23장, ‘오프라인의 세계로’에서는 모바일 장치의 네트워크 연결이 불안정한 경향이 있다는 것에 대해 알아본다. 따라서 모바일 앱은 임시 오프라인 상태를 처리할 수 있어야 한다. 이를 위해 리액트 네이티브에는 로컬 스토리가 API가 있다.
24장, ‘애플리케이션 상태 다루기’에서는 애플리케이션 상태가 웹이나 모바일을 포함한 모든 리액트 애플리케이션에서 얼마나 중요한지에 대해 알아본다. 이것이 바로 리덕스 및 Immutable.js와 같은 라이브러리를 이해하는 것이 중요한 이유다.
25장, ‘왜 릴레이 및 그래프QL인가?’에서는 릴레이와 그래프QL을 함께 사용해 대규모 상태를 처리하는 새로운 접근법에 대해 알아본다. 이는 질의 및 변형 언어이며 리액트 컴포넌트를 감싸는 라이브러리다.
26장, ‘릴레이 리액트 앱 구현하기’에서는 릴레이와 그래프QL의 진정한 이점은 상태 스키마가 웹과 네이티브 버전의 애플리케이션 간에 공유된다는 것에 있다는 점을 알아본다.

★ 옮긴이의 말 ★
처음 웹 개발을 시작할 때 순수 자바스크립트를 사용하다 제이쿼리를 사용한 순간부터 모든 웹 프로젝트는 제이쿼리로 계속 개발할 줄 알았다. 무수히 많은 예제 코드와 플러그인, DOM에 쉬운 접근 등 개발자가 사용하기에 무척 쉽고 강력했기 때문이다. 하지만 진행하는 프로젝트의 규모가 클수록 무분별한 DOM 접근으로 인해 어려움을 겪었으며, 결국 협업의 수가 많아질수록 복잡함은 비례했다. 그러던 중 SPA(Single Page Application) 개념이 등장하면서 보다 체계화된 프론트엔드 개발 환경이 마련됐다. 초기에 이를 기반으로 제시된 기술이 Angular 1.0과 ReactJS였으며 최근에는 VueJS도 각광을 받고 있다. Angular와 ReactJS의 가장 큰 차이점은 프레임워크와 라이브러리라는 것이었다. ReactJS는 제시된 기술로만 개발해야 하는 프레임워크 대신 자유롭게 사용할 수 있는 라이브러리를 추구했으며 이 단순함이 컴포넌트, JSX, 가상 DOM을 통해 대규모 프론트엔드 개발을 더욱 체계적으로 개발할 수 있게되었다. 리액트의 야망은 여기에서 그치지 않았다.

모바일 앱 개발은 지속적으로 다양한 방법론이 출몰했고 출몰하고 있다. 이것은 크게 모바일 웹, iOS, 안드로이드라는 세 개의 플랫폼을 가장 적은 노력으로 개발을 포괄하고자 하는 앱 개발의 욕구에서 출발한다. 아이오닉과 같은 많은 앱 개발 플랫폼이 웹 기술을 통해 이것을 하나의 경험으로 통합하고자 했다. 이러한 웹 중심의 기술들이 여전히 진화하고 있지만 우리가 알고 있는 많은 인기 있는 앱은 네이티브 환경에서 개발되고 있다. 과거에는 웹 기술을 통해 개발된 하이브리드 앱이 속도에 단점이 있었다면 최근에는 이질감 있는 사용자 경험이 주된 이유이다. 통일된 경험은 결국 플랫폼 고유의 장점을 잃어버리면서 이제는 모바일 플랫폼에 십여 년간 익숙해진 사용자들이 이질감 있는 사용자 경험에 외면하기 시작했다. 문제는 앞서 말한 네이티브 환경에서의 개발은 이 단점을 대부분 극복하는 대신 결국 여전히 많은 노력과 시간이 들어간다는데 변함이 없다는 점이다. 리액트는 여기서 리액트 네이티브라는 개념을 제안한다. 리액트 네이티브는 자바스크립트라는 하나의 언어와 기술을 사용하면서 플랫폼 고유의 네이티브 컴포넌트를 활용한다는 데에 다른 모바일 웹 프레임워크와는 차별화를 둔다. 이것은 사용자 경험 측면에서 플랫폼 이질감이라는 문제를 영리하게 해결했다. 또한 이 기술은 실제로 페이스북이 인스타그램 등을 개발하는데 적극적으로 사용하고 있는 현역 기술이다. 현역 기술이라는 의미가 최근에는 참으로 중요하다. 날마다 출현하는 웹 프레임워크가 실제로는 개발한 주체조차 사용하지 않다가 사장된다. 이것은 기술의 장점을 믿고 선택한 사람들에게는 크나큰 상실이다. 이렇게 기술의 선택이 중요하고 고민스러운 상황에서 리액트 프로젝트를 이끌고 있는 페이스북에서 인스타그램을 비롯한 자사의 서비스에 적극적으로 리액트와 리액트 네이티브를 적용하고 있다는 점은 기술이 유지될 것이라는 신뢰를 주면서도 서비스의 성장과 더불어 꾸준히 그 한계가 극복될 것이라는 기대를 갖게 한다.

자바스크립트는 명실공히 가장 인기 있는 언어가 되었다. 백엔드를 구현할 수 있는 NodeJS라는 기술의 출현부터 웹, 모바일 플랫폼을 포괄하고자 하는 꾸준한 생태계의 노력에 기인한다. 빠른 실패가 비즈니스 경험 법칙으로 굳어지고 있는 IT 서비스 분야에서 자바스크립트는 빠른 프로토타이핑과 서비스 출시라는 니즈에 가장 부합되기 때문에 인기를 누린다고 볼 수 있다. 문제는 인기와 더불어 난립하고 있는 수많은 자바스크립트 기술 중 어떤 것을 선택해야 하는 것인가에 대한 추가적인 어려운 고민을 던진다. 역자는 경험상 기술을 주장하는 혁신성보다 가장 위험이 적은 기술을 선택하라고 조언한다. 가장 위험이 적은 기술이란 이미 검증된 생태계의 존재 유무와 프로젝트 주체가 실제로 자사의 대규모 서비스에 해당 기술을 사용하면서 발전시키고 있는지 여부로 단순화할 수 있다. 이 관점에서 리액트와 리액트 네이티브는 현재 유행하는 기술 중에 가장 부합한다고 말하고 싶다. 페이스북에서 이끌고 있는 생태계와 자사 서비스에 적극적으로 활용하면서 발전시키고 있는 모습은 확실히 타 기술과는 차별될 뿐만 아니라 현실적으로 개발 비용 절감, 사용자 경험 유지 등의 어려운 문제를 효과적으로 풀고 있다고 평가한다. 독자들도 이 책을 통해서 저자와 역자의 의견에 공감하기를 희망한다.

기본정보

상품정보
ISBN 9791161753195
발행(출시)일자 2019년 07월 22일
쪽수 592쪽
크기
188 * 235 * 34 mm / 1094 g
총권수 1권
시리즈명
프로그래밍 언어
원서명/저자명 React and React Native - Second Edition/Boduch, Adam

Klover

Klover 리뷰 안내
교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1.리워드 안내
구매 후 90일 이내에 평점과 10자 이상의 리뷰 작성 시 e교환권 200원을 적립해 드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
한달 후 리뷰
구매 후 30일~ 120일 이내에 작성된 두 번째 구매리뷰에 대해 한 달 후 리뷰로 인지하고 e교환권 100원을 추가 제공합니다.

* 강연, 공연, 여행, 동영상, 사은품, 기프트카드 상품은 지급 제외
2.운영 원칙 안내
Klover 리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
3.신고하기
다른 고객이 작성리뷰에 대해 불쾌함을 느끼는 경우 신고를 할 수 있으며, 신고 자가 일정수준 이상 누적되면 작성하신 리뷰가 노출되지 않을 수 있습니다.

구매 후 리뷰 작성 시, e교환권 200원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여주는 교보문고의 새로운 서비스입니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 "좋아요“ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보 없이 삭제될 수 있습니다.
리워드 안내
구매 후 90일 이내에 문장수집 작성 시 e교환권 100원을 적립해드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.

구매 후 리뷰 작성 시, e교환권 100원 적립

이 책의 첫 기록을 남겨주세요

교환/반품/품절 안내

상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

이벤트
TOP

저자 모두보기

매장별 재고 및 도서위치

할인쿠폰 다운로드

  • 쿠폰은 주문결제화면에서 사용 가능합니다.
  • 다운로드한 쿠폰은 마이 > 나의 통장 에서 확인 가능합니다.
  • 도서정가제 적용 대상 상품에 대해서는 정가의 10%까지 쿠폰 할인이 가능합니다.
  • 도서정가제 적용 대상 상품에 10% 할인이 되었다면, 해당 상품에는 사용하실 수
    없습니다.

적립예정포인트 안내

  • 통합포인트 안내

    • 통합포인트는 교보문고(인터넷, 매장), 핫트랙스(인터넷, 매장), 모바일 교보문고 등 다양한 곳에서 사용하실 수 있습니다.
    • 상품 주문 시, 해당 상품의 적립률에 따라 적립 예정 포인트가 자동 합산되고 주문하신 상품이 발송완료 된 후에 자동으로 적립됩니다.
    • 단, 쿠폰 및 마일리지, 통합포인트, e교환권 사용 시 적립 예정 통합포인트가 변동될 수 있으며 주문취소나 반품시에는 적립된 통합포인트가 다시 차감됩니다.
  • 통합포인트 적립 안내

    • 통합포인트는 도서정가제 범위 내에서 적용됩니다.
    • 추가적립 및 회원 혜택은 도서정가제 대상상품(국내도서, eBook등)으로만 주문시는 해당되지 않습니다.
  • 기본적립) 상품별 적립금액

    • 온라인교보문고에서 상품 구매시 상품의 적립률에 따라 적립됩니다.
    • 단 도서정가제 적용 대상인 국내도서,eBook은 15%내에서 할인율을 제외한 금액내로 적립됩니다.
  • 추가적립) 5만원 이상 구매시 통합포인트 2천원 추가적립

    • 5만원 이상 구매시 통합포인트 2천원 적립됩니다.
    • 도서정가제 예외상품(외서,음반,DVD,잡지(일부),기프트) 2천원 이상 포함시 적립 가능합니다.
    • 주문하신 상품이 전체 품절인 경우 적립되지 않습니다.
  • 회원혜택) 3만원이상 구매시 회원등급별 2~4% 추가적립

    • 회원등급이 플래티넘, 골드, 실버 등급의 경우 추가적립 됩니다.
    • 추가적립은 실결제액 기준(쿠폰 및 마일리지, 통합포인트, e교환권 사용액 제외) 3만원 이상일 경우 적립됩니다.
    • 주문 후 취소,반품분의 통합포인트는 단품별로 회수되며, 반품으로 인해 결제잔액이 3만원 미만으로 변경될 경우 추가 통합포인트는 전액 회수될 수 있습니다.

제휴 포인트 안내

제휴 포인트 사용

  • OK CASHBAG 10원 단위사용 (사용금액 제한없음)
  • GS&POINT 최대 10만 원 사용
더보기

구매방법 별 배송안내

지역별 도착 예정일

수도권 지역

배송 일정 안내 테이블로 결제 완료 시간, 도착예정일 결제 완료 시간 컬럼의 하위로 평일 0시 ~ 12시 토요일 0시 ~ 11시 평일 12시 ~ 22시 평일 12시 ~ 24시 토요일 11시 ~ 21시 을(를) 나타낸 표입니다.
결제 완료 시간 도착예정일
평일 0시 ~ 12시

토요일 0시 ~ 11시
당일배송 오늘

당일배송 오늘
평일 12시 ~ 22시

평일 12시 ~ 24시

토요일 11시 ~ 21시
새벽배송 내일 07시 이전

내일

일요배송 일요일

수도권 외 (천안, 대전, 울산, 부산, 대구, 창원)

배송 일정 안내 테이블로 결제 완료 시간, 도착예정일 결제 완료 시간 컬럼의 하위로 월~토 0시 ~ 11시 30분 을(를) 나타낸 표입니다.
결제 완료 시간 도착예정일
월~토 0시 ~ 11시 30분
당일배송 오늘

배송 유의사항

  • 새벽배송과 일요배송은 수도권 일부 지역을 대상으로 합니다. 상품 상세페이지에서 도착 예정일을 확인해 주세요.
  • 수도권 외 지역에서 선물포장하기 또는 사은품을 포함하여 주문할 경우 당일배송 불가합니다.
  • 무통장입금 주문 후 당일 배송 가능 시간 이후 입금된 경우 당일 배송 불가합니다.
  • 새벽배송의 경우 공동 현관 출입 번호가 누락 되었거나 틀릴 경우 요청하신 방법으로 출입이 어려워, 부득이하게 공동 현관 또는 경비실 앞에 배송 될 수 있습니다.
  • 학교, 관공서, 회사 등 출입 제한 시간이 있는 곳은 당일배송, 새벽배송, 일요배송이 제공되지 않을 수 있습니다.
  • 공휴일과 겹친 토요일, 일요일은 일요일 배송에서 제외됩니다. 일요배송은 한정 수량에 한해 제공됩니다. 수량 초과 시 일반배송으로 발송되니 주문 시 도착 예정일을 확인해 주세요.
  • 주문 후 배송지 변경 시 변경된 배송지에 따라 익일 배송될 수 있습니다.
  • 수도권 외 지역의 경우 효율적인 배송을 위해 각 지역 매장에서 택배를 발송하므로, 주문 시의 부록과 상이할 수 있습니다.
  • 각 지역 매장에서 재고 부족 시 재고 확보를 위해 당일 배송이 불가할 수 있습니다.
  • 기상악화로 인한 도로 사정으로 일부 지역의 배송 지연이 발생될 수 있습니다.
  • 출고 예정일이 5일 이상인 상품의 경우(결제일로부터 7일 동안 미입고), 출판사 / 유통사 사정으로 품/절판 되어 구입이 어려울 수 있습니다. 이 경우 SMS, 메일로 알려드립니다.
  • 분철상품 주문 시 분철 작업으로 인해 기존 도착 예정일에 2일 정도 추가되며, 당일 배송, 해외 배송이 불가합니다.
  • 해외주문도서는 해외 거래처 사정에 의해 품절/지연될 수 있습니다.
  • 스페셜오더 도서나 일서 해외 주문 도서와 함께 주문 시 배송일이 이에 맞추어 지연되오니, 이점 유의해 주시기 바랍니다.

바로드림존에서 받기

  1. STEP 01
    매장 선택 후 바로드림 주문
  2. STEP 02
    준비완료 알림 시 매장 방문하기
  3. STEP 03
    바로드림존에서 주문상품 받기
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상 시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함 되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해 주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반 코너에서 수령확인이 가능합니다
  • 선물 받는 분의 휴대폰번호만 입력하신 후 결제하시면 받는 분 휴대폰으로 선물번호가 전달됩니다.
  • 문자를 받은 분께서는 마이 > 주문관리 > 모바일 선물내역 화면에서 선물번호와 배송지 정보를 입력하시면 선물주문이 완료되어 상품준비 및 배송이 진행됩니다.
  • 선물하기 결제하신 후 14일까지 받는 분이 선물번호를 등록하지 않으실 경우 주문은 자동취소 됩니다.
  • 또한 배송 전 상품이 품절 / 절판 될 경우 주문은 자동취소 됩니다.

바로드림 서비스 안내

  1. STEP 01
    매장 선택 후 바로드림 주문
  2. STEP 02
    준비완료 알림 시 매장 방문하기
  3. STEP 03
    바로드림존에서 주문상품 받기
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반코너에서 수령확인이 가능합니다.
  1. STEP 01
    픽업박스에서 찾기 주문
  2. STEP 02
    도서준비완료 후 휴대폰으로 인증번호 전송
  3. STEP 03
    매장 방문하여 픽업박스에서 인증번호 입력 후 도서 픽업
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반코너에서 수령확인이 가능합니다.

도서 소득공제 안내

  • 도서 소득공제란?

    • 2018년 7월 1일 부터 근로소득자가 신용카드 등으로 도서구입 및 공연을 관람하기 위해 사용한 금액이 추가 공제됩니다. (추가 공제한도 100만원까지 인정)
      • 총 급여 7,000만 원 이하 근로소득자 중 신용카드, 직불카드 등 사용액이 총급여의 25%가 넘는 사람에게 적용
      • 현재 ‘신용카드 등 사용금액’의 소득 공제한도는 300만 원이고 신용카드사용액의 공제율은 15%이지만, 도서·공연 사용분은 추가로 100만 원의 소득 공제한도가 인정되고 공제율은 30%로 적용
      • 시행시기 이후 도서·공연 사용액에 대해서는 “2018년 귀속 근로소득 연말 정산”시기(19.1.15~)에 국세청 홈택스 연말정산간소화 서비스 제공
  • 도서 소득공제 대상

    • 도서(내서,외서,해외주문도서), eBook(구매)
    • 도서 소득공제 대상 상품에 수반되는 국내 배송비 (해외 배송비 제외)
      • 제외상품 : 잡지 등 정기 간행물, 음반, DVD, 기프트, eBook(대여,학술논문), 사은품, 선물포장, 책 그리고 꽃
      • 상품정보의 “소득공제” 표기를 참고하시기 바랍니다.
  • 도서 소득공제 가능 결제수단

    • 카드결제 : 신용카드(개인카드에 한함)
    • 현금결제 : 예치금, 교보e캐시(충전에한함), 해피머니상품권, 컬쳐캐쉬, 기프트 카드, 실시간계좌이체, 온라인입금
    • 간편결제 : 교보페이, 네이버페이, 삼성페이, 카카오페이, PAYCO, 토스, CHAI
      • 현금결제는 현금영수증을 개인소득공제용으로 신청 시에만 도서 소득공제 됩니다.
      • 교보e캐시 도서 소득공제 금액은 교보eBook > e캐시 > 충전/사용내역에서 확인 가능합니다.
      • SKpay, 휴대폰 결제, 교보캐시는 도서 소득공제 불가
  • 부분 취소 안내

    • 대상상품+제외상품을 주문하여 신용카드 "2회 결제하기"를 선택 한 경우, 부분취소/반품 시 예치금으로 환원됩니다.

      신용카드 결제 후 예치금으로 환원 된 경우 승인취소 되지 않습니다.

  • 도서 소득공제 불가 안내

    • 법인카드로 결제 한 경우
    • 현금영수증을 사업자증빙용으로 신청 한 경우
    • 분철신청시 발생되는 분철비용

알림 신청

아래의 알림 신청 시 원하시는 소식을 받아 보실 수 있습니다.
알림신청 취소는 마이룸 > 알림신청내역에서 가능합니다.

리액트 & 리액트 네이티브 통합 교과서
웹과 네이티브 모바일 개발을 위한 실전 활용법
신고

신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.

허위 신고일 경우, 신고자의 서비스 활동이 제한될 수 있으니 유의하시어
신중하게 신고해주세요.

판형알림

  • A3 [297×420mm]
  • A4 [210×297mm]
  • A5 [148×210mm]
  • A6 [105×148mm]
  • B4 [257×364mm]
  • B5 [182×257mm]
  • B6 [128×182mm]
  • 8C [8절]
  • 기타 [가로×세로]
EBS X 교보문고 고객님을 위한 5,000원 열공 혜택!
자세히 보기

해외주문양서 배송지연 안내

현재 미국 현지 눈폭풍으로 인해
해외 거래처 출고가 지연되고 있습니다.

해외주문양서 주문 시
예상 출고일보다 배송기간이 더 소요될 수 있으니
고객님의 너그러운 양해 부탁드립니다.

감사합니다.