Rev. 2.73

MooTools 1.1이 출시되었습니다. "미치도록 최적화된 속도와 호환성과 유연성, 그리고 뚱뚱한 부피와 함께..."라고 하는군요(의역입니다;) 그러나 사실무근한 말은 아닙니다. 모든 컴포넌트를 합친채로 압축없이 다운로드하면 라이브러리의 용량이 무려 176kb에 달합니다. 대부분 사용을 돕기위한 Usage와 주석문이긴 하지만.. 아무튼, 모든 라이브러리를 통째로 사용하지는 않겠지요? 이즈음해서 MooTools에 대하여 간략하게 집고 넘어가 볼까 합니다. 최근 MooTools 전용으로 제작된 쓸만한 컴포넌트들이 적지 않게 눈에 뛰고 있습니다. 개인적으로 그중 몇몇 컴포넌트들을 Prototype.js/Script.aculo.us에서 쓸 수 있도록 변환하는 작업을 거치면서 MooTools는 Prototype.js를 능가하는 놀라운 기능들이 아주 많다는 사실을 알게 되었습니다. 아래의 몇몇 예제를 봅시다.

var note = new Element('div', {
        'id': 'note',
        'class': 'note',
        'styles': {
                'left': 15,
                'top': 15
        },
        'events': {
                'click': noteConfirm,
                'mouseover': noteShowMore
        }
});

Element의 Create/Styles/Events를 단문으로 한방에 처리하는 Element 메서드가 1.1부터 지원되어 매우 강력한 코딩을 구사할 수 있게 되었습니다.

new Element('div').setStyles({'height': '100px', 'width': '200px'}).addClassName('whatever').injectInside($E('body'));
$(myElement).appendText(' howdy').addClass('newClass').setStyle('width', '300px').addEvent('mouseenter', myFunction);

위 문법에서 보는 것처럼, 계속해서 닷('.')으로 이어지는 MooTools식의 코딩문법은 Prototype.js보다 한수 위입니다.

이 밖에 다양하면서도 유용한 유틸리티 함수나 스트링 메서드, 형식에 구애받지 않는 DOM Selector와 스타일 및 포지션 메서드 등은 성능이 뛰어나면서도 사용하기가 매우 쉽고 코드 또한 간결합니다.

moo.js시리즈로 시작한 MooTools는 그동안 많은 변화가 있었고 최적화에 안정화까지 잘 이루어진 모습입니다. 최근에는 API문서화 작업과 실행가능한 예제까지 작성 완료하면서 더욱 많은 사용자 확보에 나섰습니다. 프레임웍을 선정할 때 한번즘 고려해 보는것도 좋겠습니다. 무엇보다도 MooTools의 장점은 작고 빠르다는 것입니다. 부분 Prototype.js의 방식을 그대로 사용하고 있어서 Prototype.js을 선호하던 사용자가 옮겨가기에도 용이합니다. 한가지 단점이라면 Ruby on Rails에 사용하는 것이 쉽지 않다는 불가능에 가깝다는 것 정도겠군요.

Comments

Got something to add? You can just leave a comment.

Your Reaction Time!

captcha

avatar