요즘 가장 떠오르는 프론트엔드 MVC 프레임워크를 꼽자면 단연코 AngularJS다. 강력한 프레임워크를 기반으로 단일 페이지 웹 애플리케이션을 쉽게 개발할 수 있기 때문이다. 의존성 주입 기능으로 재사용이 가능한 코드를 쉽게 작성할 수 있고 디렉티브를 사용해서 새로운 HTML 태그를 만들어 좀 더 선언적인 방식으로 템플릿을 구성할 수도 있다. 그리고 모델의 계층구조를 만들어서 중복되는 코드를 줄이고 더욱 깔끔한 코드를 작성할 수도 있다.
하지만 이보다 내 마음을 끌었던 것은 AngularJS 프레임워크 자체에서 테스트를 강조하는 모습이었다. 백엔드는 그나마 테스트 코드를 작성하기 쉬운 환경이지만 프론트엔드는 상대적으로 테스트 코드를 작성하기가 어려운 게 현실이다. 하지만 AngularJS는 다르다. 테스트 작성을 장려하고 테스트 코드를 작성하기 쉽도록 프레임워크가 도와주고 있다. Jasmine과 Karma를 기반으로 하는 단위 테스트부터 protractor를 기반으로 하는 통합테스트까지 광범위하게 테스트를 작성할 수 있는 환경을 제공한다. 이러한 환경에서 프론트엔드 프로젝트를 진행한다면 우리를 든든하게 지켜주는 테스트 코드와 함께 더없이 즐겁게 개발할 수 있을 것이다. AngularJS로 실제 웹 서비스를 개발하면서 이와 같은 내 생각은 더 확고해졌다.
하지만 AngularJS로 실제 웹 서비스를 개발하다 보니 이런 저런 문제들에 부딪히게 됐다. 문제를 해결하는 방법은 무엇인지, 어떻게 구현하는 게 가장 좋은 방법인지는 AngularJS 공식 페이지의 튜토리얼과 가이드로는 부족했다. 그럴 때마다 이 책의 도움을 많이 받았다. 이 책은 AngularJS의 기본적인 내용은 물론이고 실제 프로젝트에서 AngularJS를 사용할 때 부딪힐 수 있는 여러 문제들에 대한 해결책을 친절하게 설명해준다. 테스트 코드를 잘 작성하는 방법도 물론 알려준다. 그리고 프레임워크 내부의 심도 깊은 내용까지 다루고 있어서 현업에 AngularJS를 쓰고 있는 개발자들에게 많은 도움이 되리라 생각한다.
자, 이제 주저하지 말고 AngularJS라는 거인의 어깨 위에 올라가서 더 멀리 바라보고 더 빠르게 이동하자. 분명 새로운 세상이 보일 것이다.