티스토리 뷰
안녕하세요, AlbertKo 입니다.
이력서 쓰기 바쁠 시기이지만 정리를 강의글을 너무 작성하고 싶어서 이렇게 작성하게 됬습니다 ㅎㅎ
저 역시 Angular를 시작한지 얼마 안되었기 때문에 처음 시작할 때 어려웠던 부분,
특징 등을 먼저 알려볼까 합니다.
글에 부족한 부분은 계속해서 수정해 나갈 예정이며,
혹시 잘못된 부분이 있다면 지적해주시면 감사하겠습니다.
Angular란???
Angular란 간단하게 Google에서 직접 만든 SPA 방식의 Framework 입니다.
Angular.js(1.x)와 Angular 2 이상 버전은 같은 건가요??
전혀 다르다고 보시면 됩니다. 기존 Angular.js의 문제점을 보강한게 Angular2 이상 버전들입니다.
그렇다면 다른 점은 뭔가요??
제가 아는대로만 설명을 해드리겠습니다.
#1 Angular.js 는 모듈 느낌이 강하지만, 2 이상 버전대는 '프레임워크'
말그대로, Angular.js는 javascript의 프레임워크지만, 모듈 느낌이 강합니다.
하지만, 이런 Angular.js의 단점을 보완하여 나온 것이 Angular (2버전 이상)입니다.
듣기로는 자부심을 갖고 뒤에 js를 땠다고 하네요 ㅎㅎ
#2 Typescript
Angular는 기존 js(1.x 버전)과는 달리 Typescript를 지원하며, 사용하기를 권장하고 있습니다.
장점
#1 Component 기반
다들 Java의 프레임워크인 Spring과 비슷하다고 하지만 저는 써본적이 없기 때문에 이 부분은 모르겠습니다.
일단 Angular는 각 각의 기능들을 Component로 나눠 개발할 수 있는데,
이는 코드의 재사용성과 유지관리를 간편화 시켜줍니다.
이 점은 객체지향 언어의 장점과 비슷하다고 보면 될 것 같습니다 ㅎㅎ
#2 페이지 전환 속도
SPA의 특징상 페이지의 전환이 굉장히 빠릅니다.
데이터들 같은 경우는 Angular에서는 Service를 이용해서 ajax 통신으로 빠르게 가능합니다.
단점
#1 높은 러닝커브
Angular는 러닝커브가 높은 편입니다...
이 부분은 양날의 칼인 점이,
기능들이 많다보니, 배워야할게 많고 알아야 할 것이 많습니다.
그러다보니 많이들 Angular는 너무 어렵다!! 라고 하시고 그건 저역시 그렇다고 생각합니다. ㅜㅜ
거기에, rxjs 라이브러리를 사용하는 Angular이다 보니 안 그래도 높은 학습난이도가 더 높습니다...
ReactiveX 자체도 많은 오퍼레이터들을 제공하다 보니 러닝커브가 높은 편이니깐요...
하지만, 자기 의지만 충분하다면 열심히 공부하시고 이 기능들을 익히고 익숙해 지시고 나면
점점 편리하다고 생각하게 될 것입니다 ㅎㅎ
제가 이제 딱 저 느낌이에요 ㅋㅋㅋ
#2 초기 페이지 로딩 속도
초기 페이지 로딩속도가 느립니다.
현재 여유가 되지 않아서 부족한 부분도 많을 것 같습니다.
작성한 글도 계속해서 수정해 나갈 예정이며, 혹시 잘못된 점, 모르는 점 있으시다면
댓글로 질문해 주시면 최선을 다해서 답하도록 하겠습니다.
감사합니다 :)