티스토리 뷰

반응형

16년 9월 9일 금요일


첫번째 front-end 스터디를 했습니다. 주제는 angular2 소개였으며, 범균님과 재섭님이 준비해주셨습니다.


정말 최근 front-end 흐름을 쫓아가지 못하는 저로서는 그냥 마냥 신세계였습니다.

이런 무식자인 제가 느낀 점을 그냥 적어보려고 합니다.


[그림1] angular2 architecture overview (출처 : angular2 공홈


1. angular2 는 (컴포넌트를) type script로 작성한다.

type script는 자유도 높은  javascript를 type safe하게 해주고 좀 더 객체 지향적으로 개발할 수 있게 해준다고 대략 알고 있습니다. 그 코드를 보니 자바와 비슷한 느낌을 받았습니다. 자바 개발자가 좀더 쉽게 적응할 수 있을 것 같습니다.

컴파일을 해야하는 단점이 있지만, 자동으로 서버에서 자동으로 빌드되게 한다면 되겠지요.


2. component로 UI를 관리한다.

리엑트에서도 비슷한 개념이 있다고 하네요. 어쨌든 모델과 view를 결합하여 표현하는 컴포넌트가 있고 이걸 통해서 UI를 관리할 수 있는 것 같습니다.


3. component 들을 module로 그루핑해서 관리할 수 있다. module이 없는 component도 있을 수 있다.

angular는 모듈 단위로 개발한다고 하네요.. 잘 이해를 못했습니다.


4. 기능을 인젝션 한다.

예를 들어서 rest api와 통신하여 동작하는 기능을 컴포넌트에 의존성을 주입할 수 있습니다. 


4. SPA(Single Page Application)에서는 URI기준으로 라우팅한다.

아마 당연한 이야기겠지요. 제 슬픈 경험이 떠오르네요. ajax기반의 나름 SPA를 만들었는데 URI가 동일하기 때문에 hash(#)를 이용해서 히스토리 관리를 하려고 했습니다. 그런데 버그가 빵빵 터져서 히스토리 관련 기능이 먹통이 되었습니다. 결국 그냥 ajax로 가져온 페이지들은 히스토리 관리가 되지 않았습니다. ㅠㅠ


5. 좀 느릴 수 있다.

빌드해서 번들링하게 되면 은근히 용량이 크다고 하네요. 관련해서 더 자세히 알아봐야겠지만, 서버사이드 렌더링보다는 첫화면에서 당연히 느릴 것 같습니다. 그냥 SPA가 트렌드라고 해서 바로 적용하면 안될것 같아요. 서버사이드 렌더링과 잘 결합해서 서비스를 운영해야 할 듯 합니다. 어렵겠군요 ㅋㅋ


6. 빌드된 정적파일을 그냥 배포하면 끝.

사내에서도 front 관련 서버를 분리한다고 이야기가 많이 나왔는데, 과연 어떻게 되는것인가 궁금했습니다.

angular의 경우에는 그냥 빌드를 하게 되면 rest api와 통신하는 기능까지 있는 그냥 자바스크립트 애플리케이션이 나옵니다. 그냥 정적 파일을 배포하기만 하면 되는 것이죠. nodejs로 서버를 만드는 이유는 계속 빌드하고 모니터링 하기 위해서 입니다. 이건 진짜 순수 SPA일 경우인것 같고요, 서버사이드에 로직이 들어가게 되면 좀 더 복잡한 구성이 되겠지요.



왠지 틀린 것도 좀 있을 거 같은데, 제 앵귤러에 대한 제 감상은 이정도 입니다. 

그런데 확실한 것은 관리에 용이한 코드 구성인 것 같고요, 대신 배우는데는 조금 걸리지 않을까 싶습니다. 

다음 스터디 주제는 webpack.js 등 인데요 또 너무 기대가 됩니다. 


재섭님 자료 : http://www.slideshare.net/RjsRyu/angular-2-rc5


반응형
댓글
댓글쓰기 폼