Bootstrap은 CSS Framework으로 프리젠테이션을 담당하고 jQuery UI 와 Angular.js는 자체 컨트롤도 가지고 있지만 DOM 핸들링을 한다. 만일 서비스를 만드는데 Bootstrap + jQuery UI 조합일 때 또는 Bootstrap + Angular.js 조합일 때 그리고 Bootstrap + jQuery UI + Angular.js 조합 일때 프리젠테이션을 통합하는 방법은 어떤 것들이 있을까? 각 조합에 대해 어떻게 사용할지 알아보자.
1. Twitter Bootstrap 만 사용할 경우
- 부트스트랩만 놓고 보면 CSS Framework으로써 기본적인 Fluid Layout 형태와 기본 HTML 컨트롤의 모양을 정의하고 있다
또한 JavaScript 기반 다양한 component들도 포함한다
- 부트스트랩의 CSS 부분을 향상시키고 extra component를 추가한 부분 변경모델은 Bootflat, Bootplus, FlatStrap, LeapStrap
- 또는 다양한 완성체 템플릿을 startBootstrap같은 곳에서 만들어 제공도 한다
2. Twitter Bootstrap + jQuery UI 함께 사용할 경우 (이제 없어졌다)
- 문제는 여기서 부터 시작한다
- Bootstrap의 CSS 스타일이 존재하고 jQuery UI 도 자체 theme을 CSS로 정의하고 있다
- Boottrap의 CSS를 jQuery UI에 접목하여 사용할 경우는 jQuery UI Widgets 에 대해서 Bootstrap theme을 입힌 것을 사용한다
http://addyosmani.github.io/jquery-ui-bootstrap/
3. Twitter Bootstrap + Angular.js 함께 사용할 경우
- Angular에 JavaScript component를 포팅하기 위하여 Directive로 감싸야하는 문제가 있다
- jQuery UI와 Bootstrap theme을 결합하였다면 Angular.js 와 Bootstrap theme 을 결합하고 있다
- 하지만 이것은 Bootstrap v2.3.* 버전의 component를 Angular.js Directive로 구현하는 것이다
http://angular-ui.github.io/bootstrap/
4. Twitter Bootstrap + jQuery UI + Angular.js 함께 사용할 경우
- 해당 형태는 3번의 연장선으로 보면 된다
- Twitter Bootstrap의 javascript component를 Angular.js Directive화 하였듯, jQuery UI component들도 Directive화 한것이다
- 소스 : https://github.com/angular-ui/
기존의 JavaScript Component를 처리하려면 Directive화 과정을 거쳐야 하는데 이런 번거로운 과정을 해소하고자 Bootstrap의 JavaScript Component를 Directive로 만들어 놓은 Angular UI Bootstrap이 나왔다. jQuery UI를 지원하기 위하여 Angular UI 에 상당부분 즐겨 사용하는 JavaScript Component를 포함시켰으나 이 또한 jQuery UI의 모든 것을 커버하고 있지는 못하다.
이래저래 문제되는 것은 Angular.js를 기반으로 개발할 때 UI를 담당하는 JavaScript Component를 Angular.js의 Directive화를 잘 해야 한다는 것이다.
<참조>
- Bootstrap ToolBox : 다양한 UI 컴포넌트들
'HTML5, CSS3 > CSS' 카테고리의 다른 글
[CSS2, 3] CSS 이야기 - 1 (0) | 2015.10.31 |
---|---|
[UI Kit] CSS Framework 어떤 것을 사용할 것인가? (1) | 2013.11.27 |
[GroundWorkCSS] Twitter Bootstrap의 새로운 대안 (0) | 2013.08.07 |
[RWD] 반응형 웹 디자인 - 개념 잡기 (0) | 2013.05.09 |
[Compass] 이해하기 (0) | 2013.04.20 |