Ext 2.2가 릴리스되었습니다. 몇가지 기능 추가와 버그 수정, 성능 향상이 있습니다(이제는 Firefox3에서 잘 작동합니다).

새 기능은 이렇습니다:
CheckboxGroup / RadioGroup
Checkbox와 Radio 컨트롤들은 새롭지 않지만, 기술적으로 말해서는 이번 릴리스에서 꽤 많이 변화되었습니다. 이쁘지 않은 브라우저의 표준 입력 컨트롤들은 대신 매력적이고 시각적으로 통일성있는 Ext화된 컨트롤로 교체되었습니다(개선이 늦었습니다).

추가로, 그것들에 그룹 컨트롤을 추가해서 옵션 한 두개를 설정하는 것으로 복잡한 레이아웃을 지원하게 되었습니다. 이전에는 그룹화된 레이아웃과 유사한 것을 만들기 위해서 ColumnLayout으로 컨테이너를 만들고 컨트롤들을 여러 컬럼 설정을 다루며 수동으로 위치시켜야 했습니다.

History
Ext에 바랬던 또 다른 컴포넌트는 한 페이지짜리 Ext 응용프로그램에서 히스토리 이동을 할 수 있게 하는 브라우저 히스토리 유틸리티입니다. 새로운 Ext.History 싱글톤은 그런 일들을 매우 쉽게 만들어줍니다. 이 컨트롤은 브라우저 히스토리가 변경되었을 때 알려주는 이벤트 기반 API를 사용합니다.

MultiSelect / ItemSelector
이 두 개의 컴포넌트는 커뮤니티 회원인 TJ Stauart님이 Ext에 공헌하신 것입니다(TJ님께 감사드립니다). MultiSelect는 여러개의 목록 항목을 선택할 수 있는 전통적인 목록 컨트롤이고, ItemSelector는 두 개의 MultiSelect를 드래그앤드롭 목록 선택과 대규모 선택과 선택해제 등의 보다 복잡한 컨트롤과 결합해줍니다.

FileUploadField
폼 컴포넌트 구현의 좋은 예제가 될 수 있는 공식 확장기능입니다. 폼 업로드 컴포넌트가 모두에게 필요한 기능은 아니지만, 필요한 사람에게는 없어선 안될 물건입니다. 이 컨트롤은 잘 꾸며져있고, 다른 Ext 폼 컨트롤과 유사한 API를 가지고 있습니다. 텍스트+버튼 모드와 버튼만 있는 모드 둘 다 지원하고, 폼 레이아웃으로 꾸밀 수도 있습니다.

XmlTreeLoader
현존하는 Ext 컴포넌트의 기능을 확장하는 확장기능입니다. XML 문서를 트리로 읽어들일 때 꽤 좋은 데모가 될 수 있습니다.

GMapPanel
원래는 데모로 만들어졌었던 기능인데, 꽤 호응이 좋아서 공식 확장기능으로 추가했다고 합니다.
from Ext 2.2: History, Selectors, FileUploader, and more
TAG ext, extjs
Posted by 행복한고니 트랙백 0 : 댓글 0
Shea Frederick 씨가 ExtJS 라이브러리를 이용해 Wii 친화적인 웹 페이지를 만드는 방법을 작성하셨습니다.

Shea 씨는 Wii 해상도, 화면 크기, 입력 형태 등과 관련된 다양한 주제를 다루셨습니다.

한 예로, 레이아웃을 체크해보겠습니다:
[code:js]
Ext.ns('Ext.ux.layout');
Ext.ux.layout.wii = Ext.extend(Ext.layout.FitLayout, {
    setItemSize : function(item, size){
        var viewSize = Ext.getBody().getViewSize();
        this.container.addClass('ux-layout-wii');
        item.addClass('ux-layout-wii-item');
        size.height = (viewSize.height-60);
        size.width = (viewSize.width-60);
        item.setSize(size);
    }
});
Ext.Container.LAYOUTS['wii'] = Ext.ux.layout.wii;
그리고 여러분은 이 레이아웃을 설정한 Wii를 탐지할 수 있습니다:
[code:js]
Ext.isWii = navigator.userAgent.toLowerCase().indexOf("wii")> -1;
var layout = 'fit';
var title = 'Normal';
if (Ext.isWii) {
    layout = 'wii';
    title = 'Wii';
}

from WiiExtJS: Building Ajax apps that run on the Wii Opera browser on Ajaxian
TAG ext, opera, Wii
Posted by 행복한고니 트랙백 0 : 댓글 0

OpenEXT는 Ext JS 2.0.2 버전을 포크한 프로젝트이며 LGPL 라이센스(..만 일부 오픈소스 라이센스가 아닌 부분도 있습니다)를 가지고 있습니다.

포크 프로젝트의 요점은 이렇습니다:

Ext가 그들이 LGPL을 적용한 방식때문에 현존하는 2.0 버전의 포크가 불법이라고 선언했습니다. 이는 옳지 않습니다. 만에 그말이 옳다고 한다면 그들은 LGPL이란 이름을 심하게 오도하고 있는 것입니다.

이미 이런 식의 해석이 나왔듯, 사람들은 점점 Ext JS와 그 진의에 대해 혼란스러워 하는 것 같습니다. Dion씨는 Jack씨가 주요 이슈에 대해 보다 명확하게 밝혀야 할 것이라고 합니다.

비방을 하는 사람들 대부분이 Ext 커뮤니티의 회원인 점이 눈에 띄입니다. 이는 Ext 를 포함한 자신들의 프로젝트가 망쳐지기를 바라지 않기 때문입니다. Jason Sankey씨가 쓴 것과 같은 글을 보면 반대입장을 알 수 있습니다:

이번일에 대해 가장 안타까운 부분은 Ext 팀이 정말 환상적인 라이브러리를 만들었고, 그것과 관련한 활발한 커뮤니티를 만들었다는 것입니다. 라이브러리는 오픈 소스 성공 스토리의 모든 특징을 다 갖췄습니다. 하지만, 지금 Ext 는 오픈소스 프로젝트의 죄악을 저지르고 있습니다: 그들은 그들 커뮤니티의 신뢰를 저버렸습니다.

다른 것들도 있습니다.

아래 글에 있듯이 Dion씨는 오픈소스 커뮤니티에 대해 걱정하고 있는 것 같습니다. 이 다음글도 Ext JS에 대한 글이던데, 이 논란이 언제까지 갈까요? 또 어떻게 마무리 될까요? 이 유명한 오픈 소스가 어떻게 진행되는지 계속 지켜보아야 하겠습니다.

from OpenExt : The fork on Ajaxian

Posted by 행복한고니 트랙백 0 : 댓글 0

유명 프로젝트에는 늘 잡음이 생기기 마련인가봅니다. Ext JS가 예전에 취하던 LGPL(-스러운) 라이센스가 실제로는 오픈 소스가 아니라는 식의 말이 있더니 개발자 Jack 씨가 지난 주에 2.1 버전을 발표하면서 라이센스를 GPL 로 바꾸자 이번엔 기존 소스를 기반으로 포크 프로젝트를 진행하던 사람들이 또 불만을 표현했다고 합니다.

이래저래 많이 힘들어서일까요. Jack 씨가 최근 블로그에 개인적인 공격으로 힘들다라는 글을 쓴 것 같습니다. Ajaxian 에 관련 글을 쓴 Dior 씨는 "Ext JS 가 훌륭한 만큼, 이 일은 부끄러운 것이다. 나는 Jack이 보다 나은 기능을 만들고, 영역을 확대하는 데에 힘쓰길 바랬다" 라고 평했네요. 또한 이 일이 많은 시간과 에너지를 소모시킬 것이라고 했습니다.

Jack씨의 관점에서 본 진행과정이라고 합니다:

  • 집에서 7달 동안 내내 YUI-EXT 를 개발해서, BSD 라이센스로 릴리스했습니다. 저는 이 일에 대한 매 순간을 사랑했습니다. 기부가 많지도 않았고, Yahoo로부터의 어떠한 공식적인 지원도 없었습니다. 셋째의 출산일이 다 되었고, 잔고도 바닥나고 있었기 때문에 저는 지금은 Ext JS로 바뀐 그것을 계속 진행할 방법과 그것으로 가능한 생계 수단을 강구해야 했습니다.

    이번에 저는 완전한 상용 프레임웍으로 전환하는 것을 심각하게 고민했습니다. Ext 포럼에서 이 결정에 대해 공개적으로 논의했었죠. 이 논의를 읽어보시려면 아래 주소를 참고하시면 됩니다:

    “Official Commercial License Input Thread”
    http://extjs.com/forum/showthread.php?t=2194

    “Official Open Src License Thread (Commercial License Part 2)”
    http://extjs.com/forum/showthread.php?t=2253

    결국, 커뮤니티에서 수많은 논의를 거친 후에, LGPL을 채택하기로 결정한 것입니다.

  • 1.0 버전이 릴리스 되기 직전에, 수많은 Ext “복제품(clones)”이 있었습니다. 이들은 릴리스 했던 1.0과 그 이전 버전의 Ext 테마, CSS 그리고 다른 리소스들을 수정(hack)하면서 시작되었습니다. 제가 수없이 많은 시간을 들여 작업한(전 훌륭한 디자이너가 못됩니다) 새로운 4개의 테마가 있었습니다. 심지어 Ext 1.0 이 릴리스되기도 전에  이미 경쟁자들이 그들을 사용하고 있었을 때 제가 무슨 생각을 하겠습니까.

    그게 제가 Ext 1.0 에서 새로 나온 “Assets” (CSS와 이미지) 에 대해 독점적인 라이센스를 취한 까닭입니다.

  • Ext JS는 LGPL로 릴리스되며, 위에서 밝혔듯 Assets는 이 부분에서 제외됩니다. 그 직후에 2개의 주요한 공개 법인회사에서(이름은 밝히지 않습니다) 그들의 개발 프레임웍에 Ext JS를 포함했습니다. 아무도 보지 못한 크레딧 파일을 제외하고는 Ext JS에 대한 어떠한 언급도 없었습니다. 그 프레임웍에 포함된 모든 작업에 대한 어떠한 지원도 없었습니다. 그들 중 아무도 우리에게 연락조차 하지 않았습니다. 그래도 되는 걸까요? 어떻게 그럴 수 있을까요? 우리의 잠재적인 고객을 상당 부분 빼앗아가는 그들과 우리가 어떻게 경쟁해야할까요? 제가 직면한 많은 의문점들이 있었고 그래서 저는 “비즈니스 101“[각주:1]을 시작하게 된 것입니다.

    Ext JS의 다음 버전은 LGPL의 대리적 성격을 위한 Ext 라이센스로 릴리스되었고, 현재의 2.1에 이르기까지 “프레임웍/툴킷에 사용불가” 라는 제한을 추가했습니다.

공개된 자료들이라는군요:

  • 이 일은 CNET에서 갑자기 시작됐습니다:http://www.cnet.com/8301-13505_1-9878693-16.html

  • Alex Russell 씨가 Ext 의 라이센스를 Ajaxian에서 맹렬히 비난했습니다(죄송하지만 링크를 찾을 수 없었습니다). 그리고 메일을 통해 개인적으로도 라이센스에 대해 공격해왔습니다. 그리고 블로그에 이 일을 썼습니다:

    http://alex.dojotoolkit.org/?p=654

  • Matthew Garrett씨가 우리의 Ext 라이센스나 Assets 라이센스에 대해 완전히 무시하기로 했습니다:

    http://mjg59.livejournal.com/84586.html

  • Ajaxian의 Dion Almaer씨가 개인적으로 우리에게 Ext 라이센스에 대한 우려를 알려왔습니다. 그의 요점은 매우 분명하고 진지했으며, 그는 대체로 오픈소스 커뮤니티에만 관심이 있었습니다.
  • 라이센스와 관련해 고객들과 몇 번의 사적인 대화가 있었는데, 이는 위의 링크들과 논의들이 유발한 것입니다.

그 다음에 Jack은 몇몇 개인적인 공격에 대해서 얘기했지만, Dion 씨가 옮기고 싶지는 않았다고 합니다. 이런 일들이 오픈소스 쪽에서는 꽤 심심찮게 일어나는 모양입니다.

어쨌든 Enterprise Java one 에서 봤던 것 같은 수준의 논쟁이  Ajax 커뮤니티에서는 없었으면 좋겠다고 합니다. "말다툼은 페이지를 늘리는데는 좋지만, 인생은 짧습니다. 저는 우리의 커뮤니티가 하나의 목표 아래 강력하고 결속력있게 지냈으면 좋겠습니니다."

개방형웹을 성장시킵시다. 우리가 크게 성장시킬 수록 파이도 커집니다. 그러면 우리 모두가 성공할 것입니다.

from Ext JS and the fun with Open Source licenses on Ajaxian
  1. 보통 1학년생의 반 번호가 100번대에서 시작하기 때문에, 101은 기초 혹은 기초반이라는 의미로 많이 사용된다고 합니다. [본문으로]
Posted by 행복한고니 트랙백 0 : 댓글 0

GWT-Ext 야, Ext-GWT야?

2008.04.26 02:14 from [IT] Web Tech
Ext GWT는 Ext 컴포넌트와 프레임웍을 사용하면서 GWT로 Java 코드를 작성할 수 있는 프로젝트입니다.

어라, 예전에는 GWT-Ext가 아니었나요? 혹은 MyGWT 라고 있지 않았었나요? 헷갈리고 있는 것인가요?

Didler Girard 씨가 이 혼란을 구해주셨습니다. 그는 여러 프로젝트에 대해 논의하시면서 Ext GWT (새로 나온것)가사실은 MyGWT가 변경된 것이라고 하셨습니다. 그는 또한, 자신의 생각을 기준으로, 두 프로젝트 간의 차이점도 목록으로 작성했습니다:

GWT Ext Ext GWT
라이센스 LGPL GPLv3/Commercial
기능 4 2

4 2
테이블 5 2
형태 Javascript Wrapper 100% Java
버전 2.0 1.0beta
문서화 3 1
Search Visibility 3 1
JavaScript 지식이 전혀없는 Java 개발자
3 5
기초 JavaScript 지식이 있는 Java 개발자
3 5
기초 Java 지식이 있는 JavaScript 개발자 5 3
Java 지식이 전혀없는 JavaScript 개발자 5 1
from To GWT Ext or to Ext GWT? on Ajaxian
TAG ext, GWT
Posted by 행복한고니 트랙백 0 : 댓글 0

Ext JS 2.1 릴리스

2008.04.24 00:38 from [IT] Web Tech

Ext JS 2.1버전이 릴리스 되었습니다. 아래와 같은 점이 변경되었습니다:

  • Full REST 지원
  • Ext.StatusBar 컴포넌트와 샘플 추가
  • Ext.Slider 컴포넌트와 샘플 추가
  • 컴포넌트 설정의 원격 로딩 데모에 예제 추가
  • Grid 필터링 예제 추가
  • 레이아웃 브라우저 예제 추가
  • Spotlight 예제 추가
더 중요한 사실은,GPLv3로 라이센스가 변경되었다는 것입니다.
ExtJS 2.1

ExtJS 2.1 릴리스


from Ext JS 2.1 Released on Ajaxian
Posted by 행복한고니 트랙백 0 : 댓글 0
from JavaScript, C#, and ExtSharp from Ajaxian

Colin Ramsay 씨가 ExtJS 샘플을 통해 JavaScript와 C#은 상당히 비슷해질 수 있다라고 합니다. 샘플만 보면 상당히 비슷하긴 하네요.

JavaScript :
var win = new Ext.Window({
    title: 'Order Viewer', layout: 'border',
    width: 500, height: 500,
    modal: true, resizable: false, closable: false, draggable: false,
    items: [ frm, lst ]
});
 
win.on('render', function() {
    load(5);
});
 
win.show();

C# :
var win = new Ext.Window{
    Title = "OrderViewer", Layout = Layout.Border,
    Width = 100, Height = 200,
    Modal = true, Resizable = false, Closable = false, Draggable = false,
    Items = new [] { frm, lst }
};
 
win.Render += delegate {
    load(5);
};

win.show();


아마도 C#에서 Ext를 사용할 수 있도록 하는 ExtSharp이라는 프로젝트를 진행중인가 봅니다. 관심있으신 분은 한번 살펴보세요.



Posted by 행복한고니 트랙백 0 : 댓글 0