Ext 가 최초 릴리즈로부터 벌써 3년이라는 세월이 흘렀네요.  3년이란 시간동안 참 많은 것들이 변했네요.  

YUI, jQuery, Prorotype 등의 Adapter로 동작하던 ExtJS 가 RIA 개발에 특징있는 프레임웍으로 자리를 잡아가고 있으니 말이죠.

이번 릴리즈는 Ext 팀에게 있어서는 매우 자부심을 갖을 만하겠네요.  ExtJS의 Core 부분의 저작권을 MIT 라이선스로하여 모든 사용자에게 자유롭게 사용할 수 있도록 하였습니다.

그런다고 하여 모든 부분이 허가되는 것은 아니지만 나름 오픈소스로 가기 위한 걸음마를 하는 것은 아닐까 기대해봅니다.  거꾸로 생각해보면 이것을 오픈 소스로 가면서 맛배기를 더 보여주고 사용자층을 확대하려는 의도가 숨어있을 수도 있겠네요.  이로 좀더 많은 사용자 애플리케이션이 많이 개발되어졌으면 좋겠네요.  

이번에 발표한 Core는 Ext JS 위해 필수 요소로 동작은 기본으로 기존 오픈 라이브러리(MethodChain, Prototype, jQuery, YUI 등) 들과 동일한 혹은 유사한 기능들을 제공합니다.


Ext Core 개요

Ext Core는 명료한 사용과 재 사용을 용이하도록 한 잘 정의 되어진 객체지향 구조를 가지고 있어 다른 자바스크립트 라이브러리로부터 스스로를 구별하고 충돌을 예방합니다.

DOM manipulation and traversal
CSS management
Event handling
Dimensions and Sizing
Ajax And JSON Support
Animations

DOM을 위한 크로스 브라우징 추상화를 추가적으로 제공하고 또한 Ext Core는 다음과 같은 Ext JS에서 가장 많이 사용하고 가장 인기 있는 부분을 추가했습니다.

Classical Inheritance Class System
Observable Class
Markup generation and Templating
Timed code execution
URL encoding and decoding


라이브러리 사이즈
다이나믹 웹 페이지 혹은 작은 애플리케이션에 포함하기 위해서 완벽에 가깝도록 모든 라이브러리를 리펙토링을 거치고 또한 거기에 최소화와 gzip(압축)을 거쳐서 25KB로 압축되어있습니다.


Ext Core 매뉴얼
Ext Core의 매뉴얼은 다른 라이브러리와 다른 것들에 대해 쓰여졌습니다.  그리고 이 문서들은 커뮤니티에서 전문가들에 의해서 리뷰되었고 Ext JS를 시작하는 사용자와 이미 경험한 개발자들에게  Ext Core의 모든 측면을 사용하기 위한 방법을 좀더 깊이 있게 제공할 것입니다.

이 미니북[http://extjs.com/products/extcore/manual/]은(75페이지로 인쇄된) API 문서에 이미 존재하는 것들을 좀더 상세히 설명하기 위함이고 자바스크립트와 Ext의 이해를 명료하게 하기 위해 매뉴얼을 읽기를 권장합니다.


Ext Core
http://extjs.com/blog/2009/04/04/ext-core-30-beta-released/ 에 가시면 Ext JS 팀에서 Core를 이용해 만들어놓은 기능들이 있습니다. 

 


DomQuery 와 CompositeElementLite
DomQuery는 셀렉터(선택자)기반의 고성능 엘리먼트 검색을 지원하고 사용자 선택자와 기본 XPath 와 같이 CSS3 셀렉터 스펙의 거의 대부분을 지원합니다.  CompositeElementLite의 인스턴스를 사용하는 것은 단일 엘리먼트에서 동작했던 것과 같은 방식으로 콜렉션에서도 상호 작용할 수 있도록 Ext Core는 허용합니다. 

Ext.select(‘div:has(> span.someClass)’).addClass(‘myCls’);

Event handling
Ext Core의 이벤트 핸들링 추상화는 크로스브라우저상에 일반적인 이벤트 핸들링과 사용자 이벤트를 제공하기 위한 것을 제공합니다.  윗단에는 딜레이, 버퍼링, 델리케이팅과 타겟팅 이벤트를 위한 설정 옵션을 제공합니다.

Ext.fly(‘elId’).on(‘click’, function(e, t) {
Ext.fly(‘log’).update(‘You clicked on the element with id : ‘ + t.id);
});

Ajax Requests
Ext Core는 XMLHttpRequests를 사용하기 위한 순수한 크로스 브라우징 추상화를 가집니다. 이 부분은 Prototype 과 거의 유사해 보이네요.

Ext.Ajax.request({
url : ‘serverSide.php’,
success : function( r ) {
var data = Ext.decode(r.responseText);
}
});


원문 출처 : http://extjs.com/blog/2009/04/04/ext-core-30-beta-released/


신고
Posted by Rhio.kim


티스토리 툴바