이제 jQuery, Ext, 프로토타입, MooTools, Dojo 등과 같은 많은 Javascript 프레임워크와 제어 라이브러리가 있습니다. 이들은 모두 Google에서 "javascript"를 검색하면 나열됩니다. 프레임워크" 한 페이지. 그 중 MooTools를 제외하고 나머지는 알고 있지만 프로젝트에서는 Ext와 Dojo만 사용해봤습니다. 하지만 저는 Ext를 그다지 좋아하지 않았습니다. 성능 문제가 있고 새 버전에도 요금이 부과됩니다.
또한 Ext에서 공식적으로 제공하는 예제는 모두 JavaScript를 사용하여 컨트롤을 생성하고 초기화합니다. 하나의 JavaScript가 하나의 HTML과 함께 사용되므로 관리가 매우 혼란스럽습니다. 그리고 공식적인 예는 Best Practice이므로 이 모델은 그다지 수용 가능하지 않습니다. 내 눈에 도장은 단점도 장점도 뛰어난 녀석이다.
단점:
1. 문서가 매우 열악합니다.
2. CodeBase는 매우 큽니다(장점, 단점?).
3. 버전이 빠르게 발전하고, 버전이 발전할 때마다 API가 많이 변경되어 아직 성숙되지 않았습니다.
장점:
1. 탁월한 제어 개발 프레임워크입니다.2. 자바스크립트의 객체지향적 측면을 완벽하게 구현합니다.
EXT와 Dojo를 비교하면 EXT는 제어 라이브러리이고 Dojo는 프레임워크라고 생각합니다. 처음 Dojo를 접했을 때 버전 0.3이었는데 엄청난 변화를 겪었지만 이미 컨트롤에 대한 선입견이 있어서 이제는 더 이상 사용법에 대해 이야기할 생각이 없습니다. Dojo를 사용자 정의 컨트롤로 사용합니다. 도장은 매우 복잡하지만 간단히 3개의 레이어로 구성되어 있다고 생각하면 됩니다.
1. 가장 낮은 레벨이 핵심 API입니다
핵심 API에서 제공하는 메소드는 DOM, 문자열, CSS, 이벤트 등과 관련된 작업을 단순화합니다. 핵심 API는 또한 Java와 유사한 패키지 개념 및 가져오기 메커니즘을 구현하여 코드 구성 및 종속성 관리를 용이하게 합니다.
2. 핵심 API를 기반으로 '컨트롤 생명주기' 개념이 탄생했습니다
이는 제3자가 표준화된 방식으로 컨트롤을 개발할 수 있도록 하는 Dojo의 하이라이트입니다. Dojo를 기반으로 개발된 컨트롤은 강력한 응집력과 객체 지향 특성을 가지고 있습니다.
3. 2를 기반으로 개발된 다양한 컨트롤
Dojo에서 제공하는 컨트롤도 비교적 완벽하지만 역사적인 이유로 깊이 연구되지 않았습니다.Dojo의 컨트롤을 총칭하여 DIJIT라고 합니다. Dojo 버전의 Hello World 컨트롤을 작성하려면 많은 것을 알 필요가 없습니다.
◆컨트롤은 JS 클래스입니다.
◆모든 컨트롤은 _Widget 또는 해당 하위 클래스에서 상속됩니다. _Widget 클래스는 컨트롤의 수명 주기 관리 기능을 제공합니다.
◆_Template을 동시에 상속할 수 있습니다. 이 클래스를 상속하면 컨트롤의 표시를 설명하는 템플릿을 컨트롤에 바인딩할 수 있습니다.
_Widget 기본 클래스 소개
1. 라이프 사이클 메소드
_Widget은 Dojo 프레임워크가 컨트롤을 초기화할 때 "라이프 사이클 메소드"라는 일련의 메소드를 제공합니다. 사용자 정의 컨트롤은 특정 메서드를 다시 작성하여 자체 초기화 논리를 추가할 수 있습니다.