이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
AngularJS 반응형 웹앱 개발과 성능 최적화
MVC 패턴과 트위터 부트스트랩을 이용한
베스트
웹사이트 top100 7주
가격
28,000
10 25,200
YES포인트?
1,400원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

책소개

목차

1 환경설정
__Hello World 앱
____프리미티브 대신 오브젝트 사용
____첫 지시어 구현
__Node.js와 NPM 설치
____OS X
____윈도우
____리눅스(우분투)
__Bower를 이용한 클라이언트측 종속성 관리
__Hello World 앱 테스트
____단위 테스트
____카르마와 재스민 설치
____통합/Protractor를 이용한 단대단 테스트
__애플리케이션 개발
____그런트에서 Protractor 실행
__깃을 이용한 소스 코드 관리
__정리

2 AngularUI 도입과 유틸리티
__AngularUI 다운로드
__AngularUI-Utils 빌드
__프로젝트에 AngularUI-Utils 통합
__uiMask 지시어
__이벤트 바인더
__키프레스
__제이쿼리 전달
__정리

3 AngularUI 확장
__구글 맵 적용
____지도 위의 마커
____이벤트 바인딩
__Bower를 이용한 애플리케이션 종속성 관리
____.gitignore 파일 변경
__캘린더 컴포넌트
____데이터 포맷화를 위한 필터 사용
____캘린더 스타일 적용
____컨트롤러 변경
____테스트 추가
______컨트롤러 테스트
______필터 테스트
____애플리케이션 빌드
__정리

4 ng-grid의 커스터마이징과 분석
__프로젝트 설정
__AngularJS를 이용한 서비스 생성
__그리드 뷰
__그리드 그룹핑
__마스터와 디테일 뷰 사용
__정리

5 애니메이션 학습
__프로젝트 설정
__애니메이션 기능이 포함된 할 일 리스트 프로젝트 개발
__페이지에서 요소 이동
____Easing 함수
__전체 애니메이션을 확대할 수 있는 LESS 사용
__animate.css 파일 사용
__스태커링 애니메이션
____스태거 애니메이션 동작 이해
__자바스크립트로 정의하는 애니메이션
__정리

6 차트와 데이터 기반의 그래픽 사용
__차트의 중요성
____막대 차트 작성
__데이터 기반의 막대 차트 생성
__막대 차트를 위젯으로 변환
____막대 차트 지시어 작성
__Angular Google 차트 도구 사용
__GitHub REST API를 이용한 대시보드 작성
____대시보드 애플리케이션 확장
__정리

7 CSS와 CSS 프레임워크를 이용한 AngularJS 커스터마이징
__반응형 디자인의 혁명
__미디어 쿼리 소개
____@media
____@media 익스프레션
__트위터 부트스트랩을 이용한 진보된 디자인
__애플리케이션에 Foundation 프레임워크 사용
__정리

8 AngularUI 부트스트랩 개발
__왜 AngularUI 부트스트랩을 사용해야 하는가?
____프로젝트 관리 애플리케이션 개발
____accordion 생성
____탭 생성
____숨김 기능을 이용한 개연성이 적은 콘텐츠 숨김
____데이트피커를 이용한 타임라인 설정
____버튼 사용
____비율 폼에 대한 우선 순위 변경
____사용자에게 알림 메시지 표시
____캐로설 사용
____이슈의 상태를 표시하는 프로그래스 바
__typeahead를 이용한 효과적인 추천
__드롭다운으로 된 애플리케이션 전용 메뉴를 위한 범용 하우징
__정리

9 AngularUI 부트스트랩 커스터마이징
__외부 템플릿 개요
____스크립트 태그를 이용한 템플릿 로딩
____$templateCache를 통한 템플릿 로딩
____외부 템플릿 사용
__AngularUI 부트스트랩 페이지 위젯 커스터마이징
__AngularUI 부트스트랩 탭 위젯 확장
__정리

10 AngularJS와 부트스트랩을 이용한 모바일 앱 개발
__왜 모바일 때문에 고민하는가?
__모바일을 우선 고려한 북마크 앱 개발
____동적 애플리케이션 개발
____북마크를 통한 검색 기능
____모바일 단말용 애플리케이션의 기초 설계
____더 나은 사용자 경험을 위한 애니메이션
__더 나은 사용자 경험을 제공하기 위한 모바일 최적화
____탭 이벤트를 위한 주기적인 지연
____트랜지션과 애니메이션 가속
______시작 페이지 로딩 성능 개선
__정리

저자 소개

저 자 소 개
아미트 가랏 (Amit Gharat)
풀스택(full-stack) 엔지니어이자 오픈소스 컨트리뷰터다. 디렉티브(Directive), SPA, AngularJS로 작성한 크롬 확장프로그램과 같은 개인 오픈소스 프로젝트를 개발하고 공개해왔다. 다른 개발자들에게 영감이나 도움을 줄 수 있는 개인 블로그를 운영하며 이해하기 쉬운 표현으로 자신의 프로그래밍 경험을 공유할 정도로 열정이 넘친다. 코딩을 하지 않는 시간에는 보통 독서나 유튜브 동영상 감상, 그리고 가족과 함께 코미디 쇼 시청을 즐긴다. 폴란드에 위치한 「Appliness and Sdjournal Magazine」에 기사를 기고하기도 했다.

마티아스 넬센 (Matthias Nehlsen)
15년간 정보 테크놀로지 분야에서 일한 프리랜서 소프트웨어 엔지니어이자 열정적인 오픈소스 컨트리뷰터다. 현재 웹 애플리케이션에 열정을 쏟고 있는데 주로 AngularJS를 활용해서 개발한다. 함부르크 AngularJS 미트업(Meetup)을 창설했다. https://github.com/matthiasn에 들어가면 오픈소스 프로젝트를, http://matthiasnehlsen.com에 가면 블로그를 확인할 수 있다. 트위터에서 @matthiasnehlsen로 검색하면 팔로우할 수 있다.
역자 : 조효성
광운대학교 전자공학과를 졸업하고 동대학원 임베디드 소프트웨어 공학과에서 안드로이드와 블루투스를 전공했다. 현재는 오비고에서 웹 개발자로 활동하고 있는 노드에 관심이 많은 행복한 개발자다. 행복한 HMI WebApp 개발팀에서 차량용 플랫폼에 올라가는 웹 앱을 개발하면서 많은 경험과 실력을 쌓고 있다. 번역 작업을 통해 책을 읽는 모든 사람에게 꼭 도움이 되기를 바라는 마음을 늘 품고 있다. 에이콘출판사에서 출간한 『노드로 하는 웹 앱 테스트 자동화』(2013년), 『익스프레스 프레임워크로 하는 노드 웹 앱 프로그래밍』(2014년), 『Storm 실시간 빅데이터 분석 플랫폼』(2014년), 『안드로이드 음성 인식 애플리케이션 개발』(2014), 『Spark로 하는 고속 빅데이터 분석과 처리』(2014년)를 번역했다.

관련 분류

품목정보

발행일
2015년 06월 19일
쪽수, 무게, 크기
304쪽 | 738g | 188*235*18mm
ISBN13
9788960777200

출판사 리뷰

★ 이 책에서 다루는 내용 ★

■ 모바일 버전에 적합한 애플리케이션을 설계할 수 있는 트위터 부트스트랩(Bootstrap)과 파운데이션과 같은 반응형 레이아웃과 강력한 CSS3 프레임워크 사용
■ AngularUI 컴패니온 스위트를 사용할 때 생기는 일반적인 UI 문제 해결
■ AngularJS를 이용해서 RESTful API를 정합한 동적 애플리케이션 개발
■ CSS 반응형 프레임워크, 다양한 UI 위젯, 그리고 AngularJS 내부의 개요 학습
■ 엘리먼트의 페이드인과 페이드 아웃부터 좀 더 복잡한 동작까지 표현할 수 있는 애니메이션 개발


★ 이 책의 대상 독자 ★

AngularJS로 UI 문제를 해결하는 데 관심이 있는 사람이라면 누구나 읽을 수 있다. 자바스크립트, HTML, CSS에 대한 기본 지식은 필요하다.


★ 이 책의 구성 ★

1장. ‘환경설정’에서는 이 책의 모든 부분에서 시작 템플릿으로 사용할 수 있는 매우 기본적이지만 전체적으로 테스트가 완료된 샘플 앱 설치 방법을 설명한다. 1장은 테스트와 빌드 프로세스의 자동화도 다룬다.

2장. ‘AngularUI의 개요와 유틸’에서는 AngularUI 컴패니온 스위트를 소개하고 키프레스, 이벤트 바인더, jQuery Passthrough, Validate와 Mask, Highlight, 그리고 Fragment utilities의 사용 방법을 설명한다.

3장. ‘AugularUI의 확장’에서는 날짜, 캘린더, 구글 맵스와 UI 라우터 모듈의 사용 방법을 설명한다.

4장. ‘개인화와 ng-grid 활용’에서는 기본적인 예제서부터 그룹핑, 개인화된 셀과 열 템플릿, 페이징, 7개 세부 뷰 사용, 그리고 셀 선택과 편집처럼 복잡한 주제에 이르기까지 시선을 사로잡는 그리드 구성 방법을 설명한다.

5장. ‘애니메이션 학습’에서는 AngularJS를 이용해서 사물에 애니메이션 효과를 적용하는 방법을 설명한다. 애니메이션은 페이지 엘리먼트의 페이드인과 페이드아웃 그리고 엘리먼트 이동을 포함하며 모든 애니메이션은 AngularJS 데이터 모델을 바탕으로 적용된다.

6장. ‘차트와 데이터 기반 그래픽’에서는 AngularJS 데이터 모델에 변경 사항을 반영하는 웹 페이지에 동적 차트를 삽입하는 방법을 보여주므로 5장보다 내용이 좀 더 확장되었다. 이런 점 때문에 사용자 정의 지시어를 정의한다.

7장. ‘CSS와 CSS 프레임워크를 이용한 AngularJS의 사용자 정의’에서는 CSS에 대한 기본 사항을 견고히 다지게 할 수 있고 CSS 프레임워크가 UI 개발 프로세스를 얼마나 단순화시킬 수 있는지 보여준다. 7장은 8장과 특히 9장을 이해하기 위해 알아야 할 사전 지식을 설명한다.

8장. ‘AngularUI 부트스트랩 개발’에서는 AngularUI 부트스트랩 프로젝트를 활용해서 AngularJS와 트위터 부트스트랩을 매끄럽게 통합할 수 있는 방법을 설명한다. 트위터의 부트스트랩 CSS 프레임워크를 사용하면 아무것도 없는 코드 상태에서 처음 시작해서 개발을 시작하는 것보다 상당히 적은 시간으로 매력적이면서 유연한 사용자 인터페이스를 구성할 수 있다.

9장. ‘AngularUI 부트스트랩의 사용자 정의’에서는 특정 요구사항에 적합한 UI 부트스트랩을 선택하는 방법을 설명한다. 기본 템플릿이 매력적일 수 있으나 항상 모든 요구에 적합하지는 않다. 9장은 사용자 정의 템플릿을 이용해서 모든 지시어를 응용할 수 있는 방법을 찾아본다.

10장. ‘AngularUI와 부트스트랩을 활용한 모바일 개발’에서는 터치 제스처를 포함한 모바일 싱글 페이지 앱의 개발 방법을 살펴본다. 모바일 사용자 경험에 대한 특정 요구사항을 만족시키기 위해 앱의 최적화 방안도 다룬다.


★ 지은이의 말 ★

싱글 페이지 웹 애플리케이션용 웹 개발 프레임워크들이 나오기 시작한 건 꽤 오래 전 일이다. 하지만 AngularJS는 여러 중요한 면을 고려해 볼 때, 기존 부류와는 차원이 다른 프레임워크다. 무엇보다도, 클라이언트 측 개발에 재미를 안겨준다.
AngularJS는 어떤 점이 특화되어 있을까? 개발자들이 브라우저로 로딩한 문서 객체 모델)DOM)을 수작업으로 변경할 필요가 없다는 점에서 AngularJS는 선언적(declarative-여러 정보를 저장하고 기억할 수 있는 상태)이라 할 수 있다. 반면 데이터 모델을 페이지에 렌더링하는 방법에 관해서라면 AngularJS는 데이터 모델이 변경될 때 페이지의 렌더링을 처리한다.
양방향 데이터 바인딩을 하면, 예를 들어 페이지에 텍스트를 입력하거나 버튼을 클릭할 때 데이터 모델은 자동으로 업데이트된다. 데이터 모델과 바인딩된 다른 UI 엘리먼트도 업데이트될 것이다. 동작하는 것을 직접 보기 전에는 대단하지 않을 것 같지만, 현재 앱 상태가 페이지에 어떻게 보일지에 대해서, 제이쿼리를 이용한 큰 용량의 DOM 변경 코드와 간결한 코드 사이에는 큰 차이가 있다. 실제로, 코드를 상당히 가독성이 높고 간결하게 만들어 준다.
자바스크립트는 매우 강력한 언어다. 그러나 별난 특징이 있어서 이 언어를 논리적으로 사용하지 않으면 이해하기 어렵거나 에러가 매우 많은 지저분한 코드를 작성하게 될 수 있다. 하지만 AngularJS는 이 점을 걱정하지 않아도 된다. AngularJS를 사용하면 간결한 모듈 사용과 적절한 소프트웨어 테스팅 전략에 집중하므로, 자바스크립트의 장점을 잘 활용할 수 있다. 테스트 주도 개발(TDD, Test-driven development)은 상당히 막강한 개념으로서, 예를 들어 개발 완료 후 페이지 화면에서 간과했던 문제를 발견할지라도 당황하지 않고 문제를 즉시 간파해 코드를 수정할 수 있다.
TDD 개념 이해에 좀 더 큰 도움을 주는 책들 중에 가장 주목할 만한 것은 팩트출판사에서 출간한 『AngularJS로 하는 웹 애플리케이션 개발』(에이콘출판, 2014)이 있다. 하지만 이 개념은 개발 프로세스 전반에 걸쳐 여러 이득을 주므로 이 책에서도 살펴볼 예정이다.
제이쿼리는 커뮤니티가 수년간에 걸쳐 코드 작성에 기여해 발전시켜온 위젯을 이용해 많은 UI 문제를 해결할 수 있다는 점에서 상당히 유용하다. 하지만 이와 같은 위젯들은 AngularJS가 강력하게 금지하고 있는 직접적인 DOM 변경을 포함하고 있기 때문에 AngularJS로 직접 사용할 수는 없다.
직접적인 DOM 변경은 바로 이 책을 집필하게 된 이유이며, 이 책에서는 AngularJS 개발 과정에서 UI와 관련된 다양한 문제를 어떻게 해결하는지 보여주는 데 목적을 둔다. 이 책에서는 다음과 같은 내용을 다룬다
● 일반적인 UI 문제를 해결하기 위해 AngularUI 컴패니온 스위트(companion suite) 사용 방법
● 특정 문제를 해결하기 위해 AngularUI 라이브러리를 수정하거나 확장하는 방법
● 트위터 부트스트랩을 이용해서 시선을 집중시킬 수 있는 사용자 인터페이스를 빠르게 생각해낼 수 있는 UI 부트스트랩 사용 방법
● 특정 요구사항에 부합할 수 있는 UI 부트스트랩을 변경하는 방법
● CSS 동작 방법
● 이 책에서 다루는 AngularUI 컴패니온 스위트(companion suite)이 개발자의 문제를 해결하지 못할 때 사용자 정의 지시어(directive)를 구성하는 방법

★ 옮긴이의 말 ★

AngularJS는 이미 많은 출판사에서 다양한 서적이 출간되었다. 그럼에도 이 책이 출간된 이유는 분명 존재한다. 바로 빠른 앱 개발과 고도화된 성능 최적화 방법을 잘 설명하는 책이기 때문이다.
하나의 웹 앱은 출시되기까지 많은 절차를 거친다. 기획, 디자인, 동작 환경에 따른 기능 적합성과 디자인 검수, 개발, 테스트 등의 절차가 필요하다. 만약 시장의 요구사항을 적용해서 빠른 시간 안에 기본적인 애플리케이션을 개발하려면 시간이 오래 걸릴 수도 있으므로, 자칫 시장의 흐름을 놓칠 수 있다. AngularJS는 개발자와 비즈니스 팀에게 개발 시간을 줄여줄 수 있는 다양한 프로젝트와 템플릿, UI 프레임워크 등을 제공한다. 기존 DOM 요소나 재사용 가능한 DOM 컴포넌트를 매개변수로 사용하는 지시어(directive), 이중 중괄호 안에 작성하는 AngularJS 마크업 코드, 데이터를 표시할 때 사용하는 필터, 사용자 입력의 유효성을 검증하는 폼 컨트롤을 이용해서 개발자가 애플리케이션 템플릿을 작성할 수 있다. 따라서 개발자는 다양한 웹 페이지에 중복해서 개발해야 하는 기능이나 마크업 코드를 위 4가지 항목으로 시간을 단축시킬 수 있다.
데스크톱 환경은 풍부한 CPU와 메모리를 사용하기 때문에 성능을 크게 고민하지 않았지만 모바일 환경은 그렇지 않다. 특히 웹 페이지나 모바일 앱의 시작 페이지는 사용자에게 첫인상과 같으므로 로딩이 빨라야 한다. AngularJS는 웹 애플리케이션을 구성하는 요소인 HTML, CSS, 자바스크립트 파일의 크기를 현저히 줄일 수 있는 기술을 제공한다. 이 기술을 습득하려면, 이 책의 후반부를 살펴보고 꼭 직접 개발해보길 바란다. 놀라운 경험을 하게 될 것이다.
이 책은 빠른 웹 개발과 성능 최적화 방법 외에도 AngularJS의 기본 철학인 MVC 패턴을 이해하기 좋은 학습서다. 따라서 웹 초급 개발자도 이 책을 통해 웹 기술의 기초와 자바스크립트 디자인 패턴을 경험할 수 있을 것이다.

리뷰/한줄평3

리뷰

3.0 리뷰 총점

한줄평

10.0 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정