PHP 계의 유명한 Zend Framework과 따로 말할 필요도 없이 유명한 JavaScript 프레임웍인 Dojo가 만나 통합본을출시했습니다. 각자 서버사이드 프레임웍의 정상과 프론트엔드의 정상을 목표로 하고 있어 서로 힘을 합치기로 했다고 합니다.
첫 버전에서 볼 수 있는 것들은 다음과 같습니다:
from Dojo and Zend Framework Integration Released on Ajaxian
첫 버전에서 볼 수 있는 것들은 다음과 같습니다:
-
JSON-RPC 서버: 우리는 Zend-Json_Server를 다시 작업하고 있습니다. 이건 0.2.0 때부터 인큐베이터에만 있었고 JSON-RPC 명세를 실제로 따라서 출시된 적은 없었습니다. 이것이 JSON-RPC 클라이언트 구현체를 가진 다른 툴킷들 뿐 아니라, Dojo와도 매끄럽게 작업할 수 있도록 도와줄 것입니다. 그 제안이 아직 승인을 기다리고 있기는 하나 기실 이 작업은 이미 끝났습니다; 확인하고 싶으시면 ZF svn을 참고하세요.
원래의 Zend_Json_Server는 버려질 것입니다. 제대로 테스트되거나 문서화가 되어있지도 않아 출시를 방해하고 있었습니다. 게다가, 자신만의 주먹구구식 표준을 사용하고 있었기때문에, 진정한 JSON-RPC 서버가 제공해야할 상호운용성을 제공하지 않았습니다. 저는 비로소 범용적 이용에 맞는 표준 호환 솔루션을 제공할 수 있게 되어 무척 흥분했습니다.
One final note: JSON-RPC 스펙은 1.0과 2.0 의 서로 다른 두 종류가 있습니다. 현재 제가 구현한 결과물은 요청에 적재할 포맷을 전환할 수 있으며, 서로 다른 적합한 SMD 포맷을 잘 전달합니다.
-
dojo() View Helper: 페이지에 Dojo를 사용가능하게 하는 것은 단순히
dojo.js
스크립트를 로딩하는 것만큼 사소하진 않습니다 -- AOL CDN 이나 로컬 경로 중 어디에서 읽어들일 것인지 선택해야하고, dojo 추가기능인 dijit나 dojox 모듈을 읽어들이려 하거나 필요할 수도 있고, 커스텀 모듈과 경로를 지정해야하며,onLoad()
에서 실행할 코드도 정해주고, dijits를 꾸밀 스타일시트도 정해야 합니다. 이들 위에서, 이 정보는 페이지에서 페이지에서 변경될 수 있고, 일부 페이지에서만 필요해질 수도 있습니다.dojo()
view helper는 placeholder 로서 작동하고, 상기 작업을 용이하게 할 뿐만 아니라 페이지에서 필요한 style과 script 엘리먼트의 렌더링을 관리합니다. -
Form 엘리먼트 구현: 개발자들이 javascript와 ajax 툴킷을 제대로 사용하는 곳 중 하나는 폼form입니다. 특히, 다양한 형태의 폼 입력 컨트롤들은 JavaScript 만이 제공할 수 있는 개선되고 풍부한 사용자 인터페이스의 이점을 취할 수 있습니다: 달력 날짜 선택기, 시간 선택기, 기타 등등. 게다가, 많은 개발자들은 사용자에게 즉각적인 유효성 검사 피드백을 제공하기 위해 (서버를 거치는 대신) 클라이언트측 유효성 검사를 사용하는 것을 좋아합니다. 우리는 대부분의 관련된 사용문제를 해결할 수 있을 것 같은 폼 엘리먼트의 소그룹을 정의하고, Zend_Form과 활용될 수 있는 Dojo 특화 버전을 작성할 것입니다(중요사항 하나:
Zend_Form
의 설계는 이미 Dojo와 잘 작동하도록 되어있습니다. 간단히 적절한 엘리먼트 속성attribute를 설정하는 것만으로도 많은 위젯과 클라이언트측 유효성검사를 사용할 수 있습니다.) -
dojo.data 호환성:
dojo.data
는 표준 스토리지 인터페이스를 정의합니다; 이 포맷으로 데이터를 제공하는 서비스는 사용자 인터페이스를 위한 고유연성과 동적 컨텐트를 제공하기 위한 다양한 Dojo 기능에서 사용됩니다. 우리는 XmlHttpRequest에 응답하는 dojo.data 호환 자료를 작성할 컴포넌트를 작성할 것입니다; 간단히 데이터를 사용하고 그것과 관련된 메타데이터를 제공하기만 하면 됩니다.
에.. 다음은 JSON-RPC 데모의 일부 코드입니다:두 개의 프로젝트들과 커뮤니티들 사이에는 시너지와 유사성이 많습니다:
- 라이센스와 IP: 두 프로젝트 모두 매우 비즈니스 친화적입니다.
- 설계 유사성: "use-at-will(의도할 때 사용)" 아키텍처에 대한 강력한 강조 등의 유사한 철학을 가지고 있습니다.
- 둘 다 JSON 포맷을 강력히 사용합니다
- 종합 Ajax 솔루션: Dojo에 다 있습니다
- 표준: "Dojo는 공개된 표준을 구현할 뿐 아니라 표준을 이끕니다"
- 커뮤니티와 지원: 강력한 커뮤니티와 그에 대한 지원
[code:js]
<h2>Dojo JSON-RPC Demo</h2>
<input name="foo" type="button" value="Demo" onClick="demoRpc()"/>
<?
$this->dojo()->setLocalPath('/js/dojo/dojo.js')
->addStyleSheetModule('dijit.themes.tundra')
->requireModule('dojo.rpc.JsonService');
$this->headScript()->captureStart(); ?>
function demoRpc()
{
var myObject = new dojo.rpc.JsonService('/json-rpc.php');
console.log(myObject.bar());
}
<? $this->headScript()->captureEnd() ?>
<h2>Dojo JSON-RPC Demo</h2>
<input name="foo" type="button" value="Demo" onClick="demoRpc()"/>
<?
$this->dojo()->setLocalPath('/js/dojo/dojo.js')
->addStyleSheetModule('dijit.themes.tundra')
->requireModule('dojo.rpc.JsonService');
$this->headScript()->captureStart(); ?>
function demoRpc()
{
var myObject = new dojo.rpc.JsonService('/json-rpc.php');
console.log(myObject.bar());
}
<? $this->headScript()->captureEnd() ?>
from Dojo and Zend Framework Integration Released on Ajaxian
'[IT] Web Tech' 카테고리의 다른 글
PersistJS : 크로스 브라우징을 지원하는 클라이언트측 영구 저장소 (0) | 2008.05.31 |
---|---|
Firefox 3 RC 1을 위한 Firebug 1.2 beta (0) | 2008.05.31 |
잘못 설정된 crossdomain.xml (0) | 2008.05.31 |
또 다른 JIT : JavaScript 정보 시각화 툴킷 (0) | 2008.05.30 |
Dojo와 Zend Framework의 통합본 릴리스 (0) | 2008.05.30 |
Stack : 네이티브 Array wrapper (0) | 2008.05.28 |
classy_inputs: 자동으로 클래스 이름을 추가하는 Rails 플러그인 (0) | 2008.05.28 |
더 쉽고 접근하기 편한 YouTube 플레이어 (0) | 2008.05.27 |
브라우저 쿠키 제약에 관한 연구 (0) | 2008.05.27 |
댓글을 달아 주세요