소개
웹서비스에 대한 사용자 경험을 높이려는 시도에 따라 요즘은 SPA(Single Page Application)같은 류가 추세이고, 이에 맞추어 자바스크립트에서 사용할수있는 MVC(Model,View,Controller)/MVVM 프레임워크가 각광을 받고있습니다.
브라우저들은 업데이트할때마다 제일 강조부분이 바로 자바스크립트관련 성능향상입니다. 자바스크립트의 영역이 넓혀질수록, 자바스크립트 관련 라이브러리도 많이 나오고있으며 현재도 끊임없이 새로운 도전이 이어지고있습니다. 그 중심에 앵귤러라는 녀석이있습니다. 들어가기 앞서 선행지식으로는 디자인팬턴과 자바스크립트와 html 정도만 알아두면 훨씬 이해하기 편할 것 같다.저희 모두 첫 단추를 잘 매서, 앵귤러라는 녀석을 자신의 언어로 만들어봅시다.
앵귤러는 MIT License로 무료로 배포되고있는 오픈소스이며 웹 어플리케이션 프레임워크입니다.
기본적으로 MVC(Mode-View-Controller)/MVVM모델 지원과 같은 다른 웹 어플리케이션 프레임워크에서도 지원하는 기능을 제공할 뿐 만 아니라 Two-way data binding이나 directive같은 새로운 개념의 기술도 지원하고있습니다.
SPA(Single Page Application) 형태의 웹 애플리케이션을 빠르게 개발할 수 있도록 도와줍니다.
AngularJS의 탄생은 2009년 구글 직원인 Misko hevery와 Adam abrons가 공동 개발하였으며,
시초는 온라인 JSON Storage Service를 지원하는 소프트웨어로 개발되었습니다. 이후 MIT 라이선스를 보유하였으며, Open Source라이브러리로 채택되었으며, 2013년 9월 기준 1.0.8버전으로 정식 출시 되었습니다.
HTML을 Template으로 사용하며 HTML을 확장해서 사용할 수 있게 해줍니다. Javascript를 통하여 data binding과 dependency injection을 통해 많은 코드를 줄일 수 있게 해줍니다.
앵귤러 JS의 장단점
01. 장점
1.유지보수가 쉽다. 개발속도가 빠르다.
2.간편한 데이터 바인딩을 통해 뷰 업데이트가 쉽다.
3.코드 패턴이 동일해 개인간 차이에 따른 결과물의 차이가 적다.코드량이 감소한다.
4.SPA개발에 최적화 되어있다.
5.기능적인 분리가 명확해 협업이쉽다.(MVC디자인 패턴)
02. 단점
1.크로스브라우징 제약
2. Google 이외의 검색엔진에서 컨텐츠 크롤링되지않음(이게 가장 심각한듯)
3. 버전 파편화및 지나친제약
이런 단점에도 많은 개발자들이 앵귤러를 사용하고있는이유는 단점보다 장점이 훨씬 많아서가 아닐까 싶다.
크로스브라우징의 제약은 솔직히 단점이라고 말하기 애매하다. 호환성에 발목잡히다보면 이런 좋은 스택도 배울없게된다. 나의 경우 PC버전만 호환성을 맞추고 모바일작업에서는 거의 최신스택들을 많이 쓰는 편이다.
참고사이트
이외
해당 토픽의 경우 언제든지 수정될수있음을 알려드립니다. 궁금사항있다면 별도의 메일(a@hax0r.info) 보내주세요.