본문 바로가기
공부/프로그래밍

AngularJS 쓸까, 말까?

by demonic_ 2017. 4. 7.
반응형

'Front End' 에서 핫한 프레임워크 중 하나인 AngularJS.

AngularJS를 개인프로젝트에 개발할때 썼었는데 jQuery(DOM 제어 위주의 Plug-in 을 사용) 했기 때문에 사실 엄청나게 불편했다. 사실상 DOM제어가 가장 필요해서 그랬을지도 모르겠다. 


최근에 구성에 대해 다시 고민하는데 AngularJS가 눈에 들어왔다. 어찌됐든 사용수가 점점 늘어나고 있고, 프레임워크라는 성격상 유지보수가 유리하다고 하기 때문에 다시한번 살펴본것이다. 몇년전에 알았던 AngularJS관련 개념들은 굉장히 빈약했다는 사실을 인정하지 않을 수 없었다. 애초에 DOM 제어용이 아니라 MVC 개념으로 온것을 완전히 잘못 이해하고 있었던 것이다. 그래서 이참에 AngularJS에 대한 정리를 조금씩이나마 하려고 한다. 



(AngularJS 관련 내용은 네이버D2 에서 작성된 'AngularJS 도입 선택 가이드'를 읽어보는걸 추천한다)

관련 URL : AngularJS 도입 선택 가이드 공개합니다.




그럼 장단점에 대해 알아보자


### 장점

  • DOM 제어 기반 방식보다 적은 양의 코드로 개발 가능
  • 구조화된 코드로 인해 향후 유지보수 비용 감소
  • 코드(모듈) 간의 의존성이 적어 유연성과 재사용성이 증가
  • 양방향 데이터 바인딩으로 인해 뷰의 갱신이 자동으로 이뤄지므로 뷰를 업데이트하는 등의 번거로운 작업이 감소하고 모델(데이터) 더욱 집중 가능

 

### 단점

  • 양방향 데이터 바인딩에서의 성능 저하(dirty-checking) 문제
  • DOM 제어 방식이 아니므로, DOM 세밀한 제어가 필요한 경우는 적합하지 앟음
  • 간단한 기능 구현이 아니라면 어느정도의 학습 비용(또는 기존 개발 방식에서의 인식 전환) 필요
  • 불필요할 수도 있는 이벤트들의 자동 바인딩




위의 사안을 고려해서 아래의 그림을 보면 AngularJS를 쓸지 말지를 결정하는데 도움이 될거라 생각한다.

다만 문서가 1.3x 기준으로 작성된 것이기 때문에 최근에 2.x 가 나온 것은 따로 연구 & 검색해보면 좋을것 같다.



해당그림은 네이버의 'AngularJS 도입 선택 가이드' 에 있는 그림을 가져왔습니다.




반응형

댓글