청구할인 안내(인터파크 제휴카드) | 안내
삼성카드 5% (3만원 이상 결제/최대 1만원 할인)
북피니언 롯데카드 30% (최대할인 3만원 / 3만원 이상 결제)
하나SK 북&카드 30% (최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (최대할인 3만원 / 3만원 이상 결제)
Close

2013년 9월 9일 이후 누적수치입니다.

React.js 핵심정리 : 자바스크립트로 만들어가는 사용자 인터페이스

원제 : React.js Essentials
판매지수 364
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
정가

20,000원

  • 18,000 (10%할인)

    1,000P (5%적립)

  • (2건)

    18,000원 ~(10%할인)

    [특급]

  • 중고판매

    이 책을 인터파크에
    판매하세요

  • 이벤트/기획전

  • 연관도서(301)

  • 사은품(3)

책소개

자바스크립트로 만들어가는 사용자 인터페이스

페이스북은 백엔드 기술과 웹 기술뿐만 아니라 iOS와 안드로이드로 대표되는 모바일 기술까지 IT 전 분야에 걸쳐 다양한 기술들을 오픈소스화 해 많은 개발자들이 활용하도록 하고 있다. 그리고 많은 유명 기업들이 다양한 페이스북 오픈소스 기술을 도입해 페이스북의 기대에 부응하고 있다. 스트리밍 서비스의 대표주자로 손꼽히는 넷플렉스(Netflix)를 비롯해 BBC와 NBC의 웹사이트가 React.js를 사용한다. React.js는 매우 직관적이고 효율적인 UI를 구성할 수 있도록 방안을 제시해 줄 것이다. 이 책은 React.js의 설치부터 시작해 간단한 컴포넌트에서 다소 복잡한 컴포넌트까지 함께 만들어 보면서 기본적인 React.js의 활용 방법을 설명해 주고, 마지막에는 애플리케이션 아키텍처인 Flux를 활용하는 방법까지 자세히 설명한다.

출판사 서평

★ 이 책에서 다루는 내용 ★

■ 좀 더 효율적인 개발을 위한 강력한 React 도구 설치
■ 프로퍼티와 자식이 있는 React 엘리먼트 생성
■ 상태가 없는 React 컴포넌트와 상태 기반의 React 컴포넌트 소개
■ React 개발 과정을 빠르게 하기 위한 JSX 사용
■ React 컴포넌트에 생명주기 메소드를 이용해서 반응성 추가
■ React 컴포넌트를 다른 자바스크립트 라이브러리와 통합
■ Flux 애플리케이션 아키텍처를 React 컴포넌트와 함께 활용
■ Jest 테스트 프레임워크를 이용해서 React 컴포넌트 테스트

★ 이 책의 대상 독자 ★

이 책은 확장 가능하고 유지보수 가능한 웹 사용자 인터페이스를 개발하고자 하는 프론트엔드 개발자들을 위해 만들어졌다. 자바스크립트, HTML, CSS의 핵심 지식 일부만 알아도 React.js가 웹 개발 세계에 가져온 혁신적인 아이디어의 이점을 활용하는 데에 충분하다. 제이쿼리나 Angular.js를 다뤄 본 경험이 있다면, React.js가 어떻게 다른지 그리고 여러 가지 라이브러리들과 통합시켜서 어떻게 이용할지 이해하는 데 큰 도움이 될 것이다.

★ 이 책의 구성 ★

1장, '필요한 도구 설치'에서는 이 책의 목표를 간결하게 서술하고, React 애플리케이션을 효율적으로 개발하는 데 필요한 최신 도구들을 설명한다. 각 도구들을 소개하고 설치하는 방법들에 대해 단계별로 알아본다. 그런 다음, 이 책을 통해 개발하게 될 프로젝트의 구조를 생성한다.

2장, '첫 React 엘리먼트 생성'에서는 React를 설치하는 방법을 설명하고 가상 DOM을 소개한다. 그런 다음, React 엘리먼트 정의와 네이티브 자바스크립트 문법을 이용해서 생성하고 렌더링하는 방법을 설명한다. 마지막으로 JSX 문법을 소개하고 JSX를 이용해서 React 엘리먼트를 만드는 방법을 살펴본다.

3장, '첫 React 컴포넌트 생성'에서는 React 컴포넌트를 소개한다. 상태가 없는(stateless) React 컴포넌트와 상태 기반(stateful)의 React 컴포넌트 간의 차이점, 그리고 어느 컴포넌트를 사용할지 결정하는 방법을 설명한다. 그런 다음, 두 종류를 생성하는 과정을 살펴본다.

4장, 'React 컴포넌트에 반응성 추가'에서는 React로 문제를 해결하는 방법을 설명하고 React 애플리케이션을 계획하는 과정을 단계별로 알아본다. 이 책에서 개발하는 React 애플리케이션 전체를 캡슐화하는 React 컴포넌트를 생성한다. 부모 React 컴포넌트와 자식 컴포넌트 사이의 관계를 설명한다.

5장, '다른 라이브러리와 함께 React 컴포넌트 사용'에서는 서드파티 자바스크립트 라이브러리와 함께 React 컴포넌트를 사용하는 방법을 살펴본다. React 컴포넌트의 생명주기를 소개하고, 마운트 메소드를 사용하는 방법을 설명한다. 그리고 이 책의 프로젝트를 위한 새로운 React 컴포넌트를 생성한다.

6장, 'React 컴포넌트 업데이트'에서는 React 컴포넌트 생명주기의 업데이트 메소드를 소개한다. 자바스크립트에서 CSS 스타일을 사용하는 방법을 알아보고, 기본 컴포넌트의 프로퍼티를 검사하고 설정하는 방법을 설명한다.

7장, '복잡한 React 컴포넌트 생성'에서는 좀 더 복잡한 React 컴포넌트를 개발하는 방법에 초점을 맞춘다. 여러 가지의 React 컴포넌트를 구현하는 방법과 해당 컴포넌트들을 하나로 결합하면서도 정상 작동되는 React 애플리케이션으로 만드는 방법에 대해 자세히 살펴본다.

8장, 'Jest를 사용한 React 애플리케이션 테스트'에서는 유닛 테스트 개념과 Jest를 이용해서 유닛 테스트를 작성하고 실행하는 방법을 설명한다. 또한 React 컴포넌트를 테스트하는 방법도 보여준다. 테스트 스위트, 스펙, 예상 결과, 부합기(matcher)에 대해 알아본다.

9장, 'Flux를 사용해 React 아키텍처 향상시키기'에서는 React 애플리케이션 아키텍처를 향상시키는 방법을 알아본다. Flux 아키텍처를 소개하고 디스패처, 스토어, 액션 생성자에 대해 설명한다.

10장, 'Flux를 사용한 React 애플리케이션의 유지보수 준비'에서는 Flux를 이용해서 React 애플리케이션에 대한 우려 사항들을 분리하는 방법을 설명한다. 장차 유지보수가 어렵지 않도록 React 애플리케이션을 리팩토링한다.

추천사

제이쿼리 jQuery 콜백을 작성하는 데에 지쳤는가? Angular 앱에서 또 다른 템플릿 또는 설정을 다시 작성해야 할 때마다 화가 나는가? 애플리케이션 구조가 이렇게 복잡한 이유가 궁금한가? 그렇다면, React가 바로 여러분들이 찾아 헤매던 것이다. 선언형의 React.js는 시간에 따라 변경되는 데이터를 가진 큰 규모의 애플리케이션을 위한 UI를 생성하는 데 굉장히 유용하다.

iOS와 자바스크립트 프론트엔드 전문 자문의원으로서 언제나 클라이언트들에게 가능한 한 가장 좋은 기술을 사용할 것을 권한다. 페이스북으로부터의 최근 푸시를 통해, 클라이언트들이 제품을 보내고 빠르게 움직일 수 있게 유지보수가 가능하고 성능 기준에 적합한 유저 인터페이스를 개발하는 데 React.js가 믿을 만한 선택임을 입증했다. 이 책이 출간된다는 소식을 들었을 때 기뻤으며, 책을 한 권을 받게 되었을 때에는 더욱 기뻤다.

런던에서 현재 스타트업 기업의 베테랑 웹 개발자이자 기술 수석(Technical lead)으로 일하는 아르테미 페도세예프(Artemij Fedosejev)는 왜 선언형 프로그래밍 스타일과 단방향의 반응성 데이터 흐름이 자주 현실 세계의 프로그래밍 문제를 해결하는 데 가장 좋은 방법이 되는지를 보여준다. 상용 애플리케이션 개발을 하든 대학 연구 개발을 하든 상관없이, React.js는 크고 작은 규모의 프론트엔드 UI를 개발하는 데 도움을 준다. 다시는 코드 안에서 길을 잃을 일은 없을 것이다. 아르테미의 실제 경험을 바탕으로 학습하고 나면, 웹 애플리케이션을 복잡하게 하지 않고도 금방 유저 인터페이스를 생성하게 된다.

이 책은 React.js를 시작하는 데 필요한 모든 것을 제공한다. 첫 번째 스텝부터 Jest의 복잡한 내용까지 보여준다. 배우기 위한 가장 좋은 방법은 직접 해 보는 것으로, 이 책 전체를 통해 React.js 실습 프로젝트를 수행하고, 트위터로부터 최신 사진들을 받고 수집하는 애플리케이션을 개발하는 방법을 학습한다.

소프트웨어는 지속적으로 발전하고 있으며 항상 성장하고 있다. 개발자들은 항상 자기 자신의 기술을 사용하면서도, 좋은 소프트웨어는 어떻게 개발되어야 하는지에 대한 이해를 최대한 발휘하고 향상시킬 수 있는 새로운 영역을 향해 손을 뻗는다. 역사상으로, 소프트웨어 개발과 아키텍처는 구조적 프로그래밍에서 명령형 프로그래밍으로 옮겨갔다. 이는 객체 지향 프로그래밍(OOP)이 현재 소프트웨어 개발의 사실상 표준이 되도록 길을 열어 주었다. 자바, 루비, 오브젝티브C(Objective-C), 그리고 그 외 많은 언어들은 OOP 패러다임을 염두에 두고 개발되었다.

하지만 함수형 프로그래밍을 받아들인 반역 세력이 있었다. 이들은 독자적인 형태로 발전했는데, 이 세력이 바로 자바스크립트다. React.js는 '상태 관리 기능으로써의 UI(UI as a function of state)'라는 새로운 개념의 징후다. 페이스북은 개발자들이 React.js 라이브러리를 통해 반응성 방식에 접근할 수 있도록 많은 노력을 쏟아 부었다. 많은 사람들이 이용하고 있는 Ember.js와 Angular.js처럼 템플릿 시스템을 사용하는 프레임워크와 달리, React.js는 UI 상태를 설명하는 선언형 프로그래밍 스타일을 사용하는 UI 라이브러리다. React.js는 전형적인 MVC 아키텍처 패턴 중 V에 속한다고 생각하면 된다. 하지만 이것이 다가 아니다. 페이스북은 React의 조합이 가능한 뷰 컴포넌트를 사용하는 상호보완적인 애플리케이션 아키텍처 Flux를 소개했다.

프로그래밍 문제를 해결하는 최근 접근 방식은 돌고 돌아서 선언형 프로그래밍으로 돌아왔다. Reactive Extensions Rx, Futures, Promises와 같은 새로운 패러다임이 떠오름에 따라 함수와 OOP의 명령형 대신 선언형 접근 방식 사용을 다시 고려하게 되었다. React.js는 이러한 패러다임의 일부를 포함한다. 이 책은 이러한 길로 가는 가장 첫걸음이며, 여러분도 이 책을 좋아하게 될 것이다!
- 알렉스 부시(Alex Bush)/ 스마트클라우드(SmartCloud, Inc.)의 설립자 겸 소프트웨어 제품 엔지니어

목차

1 필요한 도구 설치
__프로젝트 시작
__Node.js와 npm 설치
__깃 설치
__트위터 스트리밍 API를 이용해 데이터 획득
__Snapkite 엔진을 이용해 데이터 필터링
__프로젝트 구조 생성
__package.json 생성
__Node.js 모듈 재사용
__Gulp.js로 빌드
__웹 페이지 생성
__요약

2 첫 React 엘리먼트 생성
__가상 DOM의 이해
__React 설치
__자바스크립트를 이용해 React 엘리먼트 생성
____type 매개변수
____props 매개변수
____children 매개변수
__React 엘리먼트 렌더링
__JSX를 이용해 React 엘리먼트 생성
__요약

3 첫 React 컴포넌트 생성
__상태 없음 vs. 상태 기반
__상태를 갖지 않는 첫 React 컴포넌트 생성
__첫 상태 기반 React 컴포넌트 생성
__요약

4 React 컴포넌트에 반응성 추가
__React를 사용한 문제 해결
__React 애플리케이션 계획
__컨테이너 React 컴포넌트 생성
__요약

5 다른 라이브러리와 함께 React 컴포넌트 사용
__React 컴포넌트에서 다른 라이브러리 사용
__React 컴포넌트의 생명주기 메소드
____마운트 메소드
________getInitialState 메소드
________componentWillMount 메소드
________componentDidMount 메소드
____마운트 해제 메소드
________componentWillUnmount 메소드
__요약

6 React 컴포넌트 업데이트
__컴포넌트 생명주기의 업데이트 메소드
____componentWillReceiveProps 메소드
____shouldComponentUpdate 메소드
____componentWillUpdate 메소드
____componentDidUpdate 메소드
__React 컴포넌트 프로퍼티 기본 설정
__React 컴포넌트 프로퍼티 검사
__Collection 컴포넌트 생성
__요약

7 복잡한 React 컴포넌트 생성
__TweetList 컴포넌트 생성
__CollectionControl 컴포넌트 생성
__CollectionRenameForm 컴포넌트 생성
__Button 컴포넌트 생성
__CollectionExportForm 컴포넌트 생성
__요약

8 Jest를 사용해 React 애플리케이션 테스트
__유닛 테스트를 해야 하는 이유
__테스트 스위트, 스펙, 예상 결과 생성
__Jest 설치와 사용
__여러 개의 스펙과 예상 값 생성
__React 컴포넌트 테스트
__요약

9 Flux를 사용해 React 아키텍처 향상시키기
__웹 애플리케이션의 구조 분석
__Flux의 이해
__디스패처 생성
__액션 생성자 생성
__스토어 생성
__요약

10 Flux를 사용한 React 애플리케이션의 유지보수 준비
__Flux를 사용해 걱정거리 줄이기
__스트림 컴포넌트 리팩토링
__CollectionStore 생성
__CollectionActionCreator 생성
__애플리케이션 컴포넌트 리팩토링
__컬렉션 컴포넌트 리팩토링
__CollectionControls 컴포넌트 리팩토링
__CollectionRenameForm 컴포넌트 리팩토링
__TweetList 컴포넌트 리팩토링
__StreamTweet 컴포넌트 리팩토링
__빌드와 활용

본문중에서

오늘날의 웹은 이전과는 다르다. 웹을 개발하는 방식이 달라졌다. 제이쿼리가 생성한 유지보수가 불가능한 명령형 코드를 다루어야 하는 문제에 직면했고, 현대의 복잡한 사용자 인터페이스를 관리할 수 있는 새로운 방법을 찾아야 했다. 자바스크립트를 이용해 선언형, 모듈식의 빠르고 확장 가능한 프론트엔드 애플리케이션 개발을 가능하게 하는 새로운 사용자 인터페이스 라이브러리가 필요했다. 페이스북에서 개발한 자바스크립트 사용자 인터페이스 라이브러리인 React.js를 소개한다. React.js는 DOM을 이용해서 작업하는 방법, 애플리케이션의 데이터 흐름을 체계화하는 방법, 그리고 인터페이스 엘리먼트를 개별 컴포넌트로 생각하는 방법에 대해 엄청난 아이디어를 가져왔다. 그렇지만, 나머지 기술 스택에 대한 요구 조건은 없는 사용자 인터페이스 라이브러리다. Flux와 결합되면, 숙련된 개발자뿐만 아니라 프론트엔드를 처음 접하는 개발자에게도 유용하며 강력한 프론트엔드 아키텍처를 얻을 수 있다. 당장 또는 언젠가는 온갖 종류의 개발 이슈들을 해결해야 하는 모든 프론트엔드 개발자들에게 좀 더 나은 미래를 제공할 것이다.
(/ '지은이의 말' 중에서)

2015년 1월, 페이스북은 리액트 네이티브를 처음 공개했다. 이전부터 자바스크립트를 이용해서 모바일 앱 개발을 시도한 경우는 많았지만 대부분이 웹뷰(Webview)를 이용한 하이브리드 앱이었다. 하지만 리액트 네이티브를 통해, 자바스크립트로 작업해서 네이티브 앱을 개발하는 것이 가능해졌다. 처음 공개 시에는 iOS용 리액트 네이티브만 공개했으나 곧 안드로이드용을, 그리고 최근에는 윈도우 10뿐만 아니라 타이젠 개발까지 가능해졌다고 발표했다. Tom Occhino는 첫 공개 당시 자신의 블로그에서 다음과 같이 말했다.

"우리는 'Write once, run anywhere(한 번만 코딩하여, 모든 플랫폼에서 동작한다)'를 추구하는 것이 아니다. 모든 플랫폼들은 서로 다른 룩앤필과 장점을 갖고 있기 때문에 여전히 각 플랫폼마다 개별적으로 앱을 개발해야 한다. 하지만 이제는 어떤 플랫폼을 선택하든 상관없이 개발자들은 새로운 기술을 배우지 않고도 앱 개발이 가능해졌다. 그리고 우린 'learn once, write anywhere (한 번의 공부로, 모든 플랫폼에 적용한다)'라고 말할 수 있다."
이 기술은 자연스레 많은 모바일 앱 개발자들의 관심을 끌었다. 그리고 이 기술의 가장 기본이자 시작은 바로 이 책에서 소개하고 있는 React.js다. React.js는 페이스북과 인스타그램의 UI를 위해 만들어진 자바스크립트 라이브러리다. 그리고 페이스북과 인스타그램 같은 지속적으로 데이터가 변경되는 큰 규모의 애플리케이션을 구축하는 문제를 해결하고자 React.js를 개발했다고 이야기하고 있다. 단순함, 선언적 문법, 컴포넌트 이 세 가지 특징으로 React.js는 여러분이 UI를 구성하는 데 매우 직관적이고 효율적인 방안을 제시해 줄 것이다. 이 책은 React.js의 설치부터 시작해, 간단한 컴포넌트에서 다소 복잡한 컴포넌트까지 함께 만들어 보면서 기본적인 React.js의 활용 방법을 설명해주고, 마지막에는 애플리케이션 아키텍처인 Flux를 활용하는 방법까지 자세히 설명한다. 이 책이 React.js가 생소한 개발자에게 효과적인 애플리케이션의 UI 구현 방법을 제시하는 데 많은 도움이 되기를 바란다.
(/ '옮긴이의 말' 중에서)

저자소개

아르테미 페도세예프(Artemij Fedosejev) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

영국 런던에 거주 중인 기술 수석이다. 2000년대 초반부터 웹 개발자로 일해 왔으며, 독학한 웹 개발자다. 아일랜드의 코크대학교(University College Cork)에서 컴퓨터 과학 학사 학위를 취득했다. IGNITE Graduate Business Innovation Programme에 참여해 Most Innovative Project 상을 받은 웹 사이트를 개발하고 출시했다. 졸업 후에 지역 스타트업 기업들의 제품을 개발하는 데 도움을 주기 위해 런던으로 옮겼다. 자바스크립트, Node.js, HTML5, CSS3, 그리고 다른 최신 웹 기술들을 이용해 개발을 진행했다. 스타트업 산업에서 경력을 쌓은 후 임페리얼 칼리지

펼쳐보기
테크 트랜스 그룹 T4 [역] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

최신 IT 테크놀로지에 대한 리서치를 목적으로 하는 스터디 그룹이다. 엔터프라이즈 환경에서 오픈소스를 활용해 프레임워크를 구축하는 데 관심이 많으며, 스프링(Spring), React.js, Node.js, OpenCV, ML 등의 기술에 주목하고 있다. 또한 오픈소스 기반의 플랫폼 개발 및 활용도 주요 관심 분야다. 에이콘출판사가 펴낸 [구글 애널리틱스로 하는 데이터 분석 3/e](2017), [추천 엔진을 구축하기 위한 기본서](2017) 등을 번역했다.

이 상품의 시리즈

acorn+PACKT 시리즈(총 324권 / 현재구매 가능도서 302권)

펼쳐보기

리뷰

0.0 (총 0건)

기대평

작성시 유의사항

평점
0/200자
등록하기

기대평

0.0

교환/환불

교환/환불 방법

‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

교환/환불 가능 기간

고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

교환/환불 비용

고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

교환/환불 불가사유

반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

소비자 피해보상

소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

기타

도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

배송안내

  • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

  • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

  • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

  • 배송비

도서(중고도서 포함) 구매

2,000원 (1만원이상 구매 시 무료배송)

음반/DVD/잡지/만화 구매

2,000원 (2만원이상 구매 시 무료배송)

도서와 음반/DVD/잡지/만화/
중고직배송상품을 함께 구매

2,000원 (1만원이상 구매 시 무료배송)

업체직접배송상품 구매

업체별 상이한 배송비 적용