hb***
2017-06-25

Angular라는 이름을 처음 들어본 것은 대학원 랩실에서 공부할 때 석사 학위를 받으러 한국에 온 외국인 개발자로부터였습니다. 그 분은 영국에서 웹 개발을 하셨는데 Angular를 사용했다고 합니다. 이후 대학원 수업 과제 발표에서 그 분 조가 Angular 프레임워크를 사용해 구현한 웹 UI를 보면서 Angular에 대한 관심은 있었지만 막상 공부하기에는 엄두가 나질 않았습니다. 지금 회사에 입사하고나서는 다른 팀에서 자체적으로 만들고 있는 웹 UI 프레임워크를 사용해서 웹 UI를 구현하고 있는데, 마침 한빛 리더스에서 '앵귤러 첫걸음'이라는 신간 도서를 리뷰할 수 있는 기회가 있어 신청했습니다.
처음 이 책을 받았을 때 목차를 보고 좋다고 생각된 점은 앵귤러로 개발하기 전에 node.js와 npm을 사용해 앵귤러를 포함한 여러 라이브러리들을 내려받는 부분부터 차근차근 설명하고 있다는 점이었습니다. 또한 Visual Studio Code 등 앵귤러 개발에 유용한 IDE도 소개되어 있어서 초보자가 쉽게 따라할 수 있게 되어 있습니다. 그리고 앵귤러에서 사용되는 타입스크립트가 무엇이고 이를 어떻게 컴파일하는지도 요점만 정확하게 짚어주는 것도 큰 장점입니다.
Chapter 3에는 앵귤러 개발이 도대체 어떻게 이루어지는 것인지 감을 잡을 수 있도록 간단한 예제를 따라해보는 실습이 있습니다. 앵귤러 개발의 대부분이라고 할 수 있는 '컴포넌트'라는 개념을 이해할 수 있게 도와주고, 명령어 한 줄로 컴포넌트의 클래스, html, css, 테스트 스펙 파일을 생성하고 이를 수정하면서 구성요소를 파악할 수 있게 됩니다.
책의 2부부터는 앵귤러가 제공하는 방대한 기능들을 하나씩 살펴봅니다. 3장에서 겉핥기 식으로 접해 본 뷰, 서비스를 자세히 배우고, 웹 컴포넌트, RxJS, 특별히 Form에 대한 심화 내용을 살펴봅니다. 개인적으로는 6장에 소개된 내용이 생소하지만 반드시 알아야 하는 내용이라고 느꼈습니다.
3부부터는 상품 관리 애플리케이션을 만들어볼 수 있습니다. 앵귤러의 모듈, 라우터 개념을 이해할 수 있게 돕고, 구글 파이어베이스와 연동해서 구글 계정으로 인증 처리를 하고 AngularFire2 패키지를 사용해 백엔드 코드 없이 데이터베이스 CRUD를 처리하는 방법을 설명하고 있습니다. 3부에서 조금 아쉬웠던 점은 코드 구현이 사실상 13장에 몰려 있어서 따라해보기가 조금 버거웠다는 점입니다. 기능들을 모두 책에 담아내기에는 앵귤러가 너무 방대한데, 이 책은 필요한 부분만 우선적으로 제공하고 있어 초보자가 앵귤러가 무엇인지 빠른 시간 내에 파악할 수 있게 도와줍니다. 앵귤러 설명 뿐 아니라 개발에 필요한 환경 설정에 대한 내용이 잘 되어 있어종합적으로는 국내 앵귤러 기본 도서 중에서 제일 추천할 만하다고 생각합니다.
이 책을 따라해보면서 회사 자체 UI 프레임워크와 비교해볼 수 있어 재미있었고, 요즘에는 정말 다양한 오픈소스 UI 프레임워크가 나와 있는데 jQuery를 사용하는 수준에 머물러 있었던 스스로가 우물 안 개구리였다는 것을 다시금 느끼고 반성했습니다. 그리고 node.js에도 더 많은 관심이 생겨서 앞으로는 node 서버 개발도 관심을 가지고 공부해보고 싶습니다.