더북(TheBook)

앵귤러JS

구글이 만든 앵귤러JS는 리콰이어JS와 비교하면 풋내기지만, 자바스크립트계에 일대 파문을 일으켰다. 앵귤러JS에서 DI는 핵심 중의 핵심이다. 하지만 앵귤러JS는 단순한 DI 컨테이너 이상의 물건으로, 말하자면 단일 페이지 애플리케이션(SPA) 제작에 완전히 ‘독자적으로 특화된’ 프레임워크다.

앵귤러JS의 의존성 주입은 그 형태가 무척 다양하다. 각각 다른 객체 타입에 맞는 DiContainer.register 같은 함수가 여럿 비치되어 있다. 가령, 본래 싱글톤인 서비스(service)라는 앵귤러 객체는 앵귤러 프레임워크 상에서 이 객체를 요청할 때마다 정확히 꼭 같은 객체를 주입하는 service 등록 함수와 매핑된다. 이러한 작동 방식이 싫으면 factory 함수를 쓰면 된다. 심지어 상수를 constant 함수로 의존성 주입할 수도 있다.

앵귤러JS가 독자적 프레임워크라고는 하지만, 중요한 기능 대부분은 마음껏 주무를 수 있다. 의존성 주입기가 마음에 안 들면 직접 만들어 사용해도 좋다.

시간이 남아돌아 그렇게 하라는 소리는 아니다! 리콰이어JS, 녹아웃(Knockout), 제이쿼리 등 대다수 자바스크립트 라이브러리와 비교했을 때 앵귤러JS는 학습 시간이 꽤 긴 편이다. 하지만 어느 정도 익숙해지면 전반적으로 이해되기 시작하면서 왜 그렇게 깨닫기까지 오래 걸렸는지 신기할 정도다. 앵귤러JS는 아주 잘 설계된 도구이자 최고의 SPA 종합 솔루션이다.

자세한 내용은 https://angularjs.org를 참고하자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.