도조 툴킷

Dojo Toolkit
Dojo Toolkit (버전 2 이전), Dojo (버전 2 이후)
Dojo toolkit logo.svg
개발자재단법인 도조 재단
초기 릴리즈2005년 3월, 17년 전(2005-03)[1]
안정된 릴리스
7.0.6 / 2021년 1월 20일; 18개월 전(2021-01-20)[2]
프리뷰 릴리즈
8.0.0-beta.7 / 2021년 4월 27일; 15개월 전(2021-04-27)[3]
저장소도조 툴킷 1.x https://github.com/dojo/dojo
도조 프레임워크 2 이상 https://github.com/dojo/framework
기입처Dojo Tokit 1.x: JavaScript, Dojo > = 2.x: TypeScript[4]
운영 체제크로스 플랫폼
유형JavaScript 툴킷(또는 라이브러리)
면허증.변경된 BSD 라이선스 또는 Academic Free 라이선스(© 2.1)[5]
웹 사이트https://dojotoolkit.org, https://dojo.io/

Dojo Toolkit(도조 툴킷)은 크로스 플랫폼, JavaScript/Ajax 기반 응용 프로그램 및 웹 사이트의 신속한 개발을 용이하게 하도록 설계된 오픈 소스 모듈러 JavaScript 라이브러리(더 구체적으로 말하면 JavaScript 툴킷)입니다.Alex[1] Russell, Dylan Schiemann, David Schontzler 등에 의해 2004년에 시작되었으며 수정된 BSD 라이선스 또는 Academic Free License( 2 2.1)[5]에 따라 이중 라이선스가 부여됩니다.

도조 재단은 툴킷의 도입을 촉진하기 위해 설립된 비영리 단체입니다.2016년 재단은 jQuery Foundation과 합병하여 JS [6][7][8]Foundation이 되었습니다.

개요

Dojo는 대규모 클라이언트 측 웹 개발의 다양한 요구를 대상으로 하는 JavaScript 프레임워크입니다.예를 들어 Dojo는 다양한 브라우저 간의 차이를 추상화하여 모든 브라우저에서 동작하는 API를 제공합니다(Node.js의 서버에서도 실행할 수 있습니다). 코드 모듈을 정의하고 상호의존성을 관리하기 위한 프레임워크를 확립합니다.또한 JavaScript와 CSS의 최적화, 문서 생성, 유닛 t를 위한 빌드 툴을 제공합니다.esting: 국제화, 현지화접근성을 지원하며 일반적으로 필요한 유틸리티 클래스 및 사용자 인터페이스 위젯의 풍부한 스위트를 제공합니다.

Dojo는 완전히 오픈 소스입니다.전체 툴킷은 ZIP으로 다운로드할 수 있으며 Google CDN에서 호스트됩니다.툴킷에는 이미지 및 기타 자원 외에 약 3,000개의 JavaScript 모듈이 포함되어 있습니다.

Dojo Toolkit은 다음과 같은 여러 부분으로 구성되어 있습니다.

  • dojo에는 핵심 모듈과 대부분의 비시각 모듈이 포함되어 있습니다.
  • dijit은 위젯 및 레이아웃용 사용자 인터페이스 모듈 라이브러리입니다.
  • dojox에는 아직 dojo 또는 dijit에 포함할 정도로 안정적이지 않은 여러 모듈이 포함되어 있습니다.
  • util에는 최적화, 문서화, 스타일 체크 및 테스트와 같은 빌드 도구가 포함됩니다.

특징들

위젯

Dojo 위젯은 JavaScript 코드, HTML 마크업 및 CSS 스타일 선언으로 구성되며 멀티 브라우저(크로스 브라우저와 혼동하지 않음) 인터랙티브 기능을 제공하는 컴포넌트입니다.

  • 메뉴, 툴팁
  • 정렬 가능한 테이블
  • 동적 차트
  • 2D 벡터 도면
  • 애니메이션 효과(페이드, 물티슈, 슬라이드 등) 커스텀 애니메이션 효과를 위한 설비

비동기 통신

Ajax 어플리케이션의 중요한 기능 중 하나는 브라우저와 서버의 비동기 통신입니다.정보가 교환되고 페이지 표시는 페이지 전체를 새로고침할 필요 없이 갱신됩니다.기존에는 JavaScript 오브젝트 XMLHttpRequest를 사용합니다.Dojo는 추상화된 래퍼를 제공합니다.dojo.xhr다양한 웹 브라우저의 XMLHttpRequest 구현에 대해 설명합니다.dojo.io는, 다른 트랜스포트(숨겨진 IFrame 등) 및 다양한 데이터 형식도 서포트하고 있습니다.이 방법을 사용하면 사용자가 입력한 데이터를 "미공개" 형식으로 서버로 전송할 수 있습니다.서버는 페이지의 프레젠테이션을 갱신하는 JavaScript 코드로 응답할 수 있습니다.

포장 시스템

Dojo는 개별 패키지 및 하위 패키지의 모듈식 기능 개발을 용이하게 하는 패키징 시스템을 제공합니다.기본 Dojo 스크립트는 루트 "dojo" 네임스페이스에서 계층형 패키지 네임스페이스 세트인 "io", "event" 등을 초기화합니다.루트 네임스페이스 초기화 후 부트스트랩에서 제공되는 유틸리티 함수를 사용하여 XMLHttpRequest 또는 기타 유사한 전송을 통해 Dojo 패키지를 로드할 수 있습니다.또한 "도조" 네임스페이스 내에서 또는 "도조" 네임스페이스와 병렬로 추가 네임스페이스를 초기화할 수 있으므로, 도조의 확장이나 타사 라이브러리 및 응용 프로그램을 위한 개인 도조 관리 네임스페이스를 개발할 수 있습니다.

Dojo 패키지는 여러 개의 파일로 구성될 수 있으며 패키지 전체를 구성하는 파일을 지정할 수 있습니다.모든 패키지 또는 파일은 다른 패키지 또는 파일에 대한 종속성을 지정할 수도 있습니다. 패키지가 로드되면 지정된 종속성도 로드됩니다.

대부분의 Dojo 패키지의 교차 도메인 로딩에 대한 해결 방법이 제공됩니다(단, 여기에는 Dojo의 특수 빌드가 필요합니다).

Dojo는 또한 "프로파일"을 빌드하기 위한 메커니즘을 제공합니다. 빌드 시스템은 패키지 목록을 입력하고 Rhino를 사용하여 패키지 및 모든 종속성을 포함하는 단일 압축 자바스크립트 파일을 만듭니다.이것에 의해, 필요한 모든 코드를 동시에 로드해 초기화할 수 있어 코드의 캐시가 가능하게 됩니다(대부분의 Web 브라우저는 XMLHttpRequest[citation needed] 경유로 로드된 파일을 캐시하지 않습니다).일부 일반적인 사용 사례에 대한 사전 구축된 프로파일은 전체 툴킷과 동일한 위치에서 다운로드할 수 있습니다.

클라이언트 측 데이터 스토리지

Dojo는 쿠키 읽기 및 쓰기 지원 기능을 제공할 뿐만 아니라 이전에는 Dojo Storage라는 이름의 로컬 클라이언트 측 스토리지 추상화를 지원했습니다.Dojo Storage를 사용하면 웹 응용 프로그램이 사용자의 허가를 받아 클라이언트 측에 데이터를 지속적이고 안전하게 저장할 수 있습니다.Internet Explorer, Firefox Safari를 포함한 기존 웹 브라우저에서 작동합니다.웹 페이지에 포함된 Dojo Storage는 정보를 지속적으로 저장하는 가장 좋은 방법을 결정합니다.파이어폭스 2는 네이티브브라우저 퍼시스텐스를 사용합니다.다른 브라우저에서는 숨겨진 플래시 애플릿을 사용합니다.웹에 [9]연결된 컴퓨터의 약 95%에 Flash 6+가 설치되므로 웹 설치 기반 대부분에서 스토리지 메커니즘에 액세스할 수 있습니다.파일 시스템에서 로드된 웹 응용 프로그램(예: 파일:// URL)의 경우 Dojo Storage는 정보를 유지하기 위해 Firefox에서 XPCOM을 사용하고 Internet Explorer에서 ActiveX를 투명하게 사용합니다.Dojo Storage를 사용하는 프로그래머는 사용되는 스토리지 메커니즘에서 추상화되어 put() 및 get() 등의 메서드와 함께 단순한 해시 테이블 추상화로 나타납니다.Dojo 스토리지는 1.3 릴리스 이후 버전에서 지원되지 않습니다.

서버측 데이터 스토리지

2007년 1월 현재 Dojo는 dojo.data [10]네임스페이스에 다음과 같은 서버 측 데이터스토어 구현 예를 포함하고 있습니다.

  • CsvStore: 쉼표로 구분된 값 파일에서 표 형식의 데이터를 읽는 읽기 전용 저장소
  • OpmlStore : OPML 형식 파일에서 계층 데이터를 읽는 읽기 전용 저장소
  • Yahoo Store: Yahoo!에서 검색 결과를 가져오는 읽기 전용 스토어입니다. 서비스 검색
  • Delicious Store: del.icio.us 웹 서비스에서 북마크를 가져오는 읽기 전용 스토어
  • RdfStore: SPARQL을 사용하여 RDF 데이터 서버(Rhizome RDF 애플리케이션 서버 등)와 통신하는 읽기/쓰기 저장소입니다.

Adobe 통합 런타임(AIR) 지원

Dojo는 JavaScript 기반의 Adobe AIR 응용 프로그램에서 사용할 수 있습니다.AIR의 보안 요건을 충족하도록 수정되었습니다.

도조 컨설팅 회사인 SitePen은 도조를 사용하여 Adobe AIR 애플리케이션 '도조 툴박스'를 만들었습니다.API 뷰어와 도조의 빌드 시스템에 대한 GUI가 포함되어 있습니다.일반적으로 빌드 시스템은 Rhino 내에서 실행되지만,[11] 이 AIR 애플리케이션에서는 Java를 사용하지 않고 AIR에서 빌드 시스템을 실행할 수 있습니다.

기술의 진보는 전 세계 기업의 성장에 긍정적인 영향을 끼쳤다.웹 사이트나 모바일 애플리케이션 등의 최신 테크놀로지의 도움으로 모든 기업은 제품 또는 서비스를 온라인으로 손쉽게 판매할 수 있습니다.Quikie Apps는 인도, 미국, 영국, 두바이에서 최고의 웹 개발 기업으로 존경받는 고객들로부터 인지도와 명성을 얻고 있습니다.웹 어플리케이션과 모바일 어플리케이션의 역동적인 테크놀로지를 채택하는 것은 이 모디하고 경쟁이 치열한 세계에서 성공을 거두기 위한 첫걸음입니다.

릴리스 이력

도조 툴킷

버전 번호 발매일 기타 주의사항
0.1 2005-08-30 [12]
0.2 2005-12-14 [12]
0.3 2006년 5월 12일
0.4 2006-11-05 [12]
0.9 2007-09-14 [12] 완전 개서
1.0 2007-11-05 [12] 첫 번째 안정적인 출시.
1.0.1 2007-09-13 [13]
1.0.2 2007-09-13 [13]
1.1 2008-03-26 [12]
1.1.1 2008년 5월 13일
1.2 2008-10-02 [12]
1.2.1 2008년 11월 6일
1.2.2 2008-11-16 [13]
1.2.3 2008-12-08 [13]
1.3.0 2009-03-26 [12]
1.3.1 2009-04-30 [13]
1.3.2 2009년 7월 15일
1.4.0 2009년 12월 7일
1.4.1 2010년 1월 25일
1.4.2 2010-03-10 [13]
1.4.3 2010-05-01 [13]
1.4.4 2012-06-22 Internet Explorer 9 및 Firefox 4+ 지원을 추가하는 유지 보수릴리즈
1.4.5 2010-08-24
1.5.0 2010-07-22 [13] '클라로' 테마.
1.5.1 2011-04-12
1.5.2 2012-02-09
1.5.3 2010-08-24
1.6.0 2011-03-15 [13] HTML5 데이터 속성을 지원합니다.
1.6.1 2011년 5월 20일
1.6.2 2010-08-24
1.7.0 2011-10-27 AMD([14]비동기 모듈 정의) API 사용을 시작합니다.
1.7.1 2011-12-16
1.7.2 2012-02-16
1.7.3 2012-06-22
1.7.4 2012-10-05
1.7.5 2013-06-14
1.8.0 2012-08-15 문서 정비가 필요합니다.
1.8.1 2012년 10월 14일
1.8.2 2012-12-12
1.8.3 2012-12-19
1.8.5 2013-06-14
1.8.6 2014-02-20
1.8.9 2014-12-08
1.8.10 2015-01-19
1.9.0 2013-05-01
1.9.1 2013-06-14
1.9.2 2013-12-16 [15]
1.9.3 2014-02-20
1.10.0 2014-06-13
1.10.4 2015-01-18
1.12.2 2017-03-05
1.13.0 2017-09-26
1.14.0 2018-08-13 [16]
1.15.0 2019-02-16[17]
1.16.0 2019-11-29[18]

버전 1.10~1.16에서는 중요한 변경이 [19]백포트되므로 새로운 포인트릴리즈를 계속 받을 수 있습니다

도조

버전 번호 발매일 기타 주의사항
2.0 2018-05-02[20] TypeScript 튜토리얼이 추가되었습니다.[21]빠른 학습심플.[22]Dojo Toolkit에서 Dojo 2로 명칭 변경.새로운 웹 사이트가 추가되었습니다.[20]TypeScript 튜토리얼이 추가되었습니다.웹 사이트의 라이브러리에서 Progressive Web Apps의 프레임워크로 전환.
3.0 2018-07-27
4.0 2018-10-15 [23]
5.0 2019-01-29
6.0 2019-08-28
7.0 2020-06-01 [24]

버전 2.0은 [25]2018년에 출시되었습니다.버전 2.0 이상에서는 이름에서 'toolkit'이라는 단어를 삭제합니다.

비판

싣고 있는

이전 버전의 도장은 부피가 크고 [26]적재 속도가 느리기로 정평이 나 있었다.CDN 등 여러 도메인에 걸쳐 Dojo를 로드하기 위해서는 추가 작업이 필요했습니다. 이러한 문제에 대처하는 것이 Dojo 1.7의 주요 목표였으며, 이는 AMD와 "나노" [27]로더를 도입했습니다.

문서

도조는 오래 전부터 불완전하고, 흩어져 있고, 시대에 뒤떨어진 문서라는 비판을 받아왔다.이를 인식한 개발자들은 새로운 튜토리얼, API 브라우저, 누락된 부분을 채우고 대부분의 예제를 AMD [28][29]스타일로 업데이트하는 등 1.8 릴리스 문서를 크게 개선했습니다.

도장에 관한 책은 여러 권 있지만, 모두 도조 1.3 이전을 바탕으로 하고 있으며, 현재는 몇 년 전이다.AMD의 지원 및 그에 따른 재구성이 선행되기 때문에 이 책들의 예는 거의 예외 없이 현재 권장되지 않고 더 이상 베스트 프랙티스가 아닌 것에 의존하고 있습니다.대부분의 저자들은 새로운 것을 출판하기 전에 도조 2.0을 기다리고 있다.[30]

학습 곡선

많은 사람들은 도조가 특히 더 인기 있는 [31][32]jQuery에 비해 배우고 시작하는 것이 어려울 것 같다고 말한다.

Dojo의 공동창작자인 Dylan Schiemann은 이것을 다른 범위의 결과로서 인정한다: "더 많은 것을 하는 것보다 더 작은 것을 배우는 것이 확실히 더 쉽지만, 우리의 열성적인 사용자들은 Dojo가 [26]쉽게 만드는 것에 대해 조금 더 많은 시간을 절약할 수 있다는 것을 재빨리 지적한다."

API 안정성

초기 사용자들은 툴킷이 완전히 [29]다시 작성된 후 1.0 릴리스로 전환하는 데 어려움을 겪었습니다.최근 버전에서 AMD로의 이행도 마찬가지로 문제가 [32]되고 있습니다.Dojo는 빠른 발전에도 불구하고 하위 호환성을 유지하기 위해 많은 노력을 기울였지만, 현재 API의 상당 부분은 권장되지 않지만 여전히 유지되고 있습니다. 그러나 사용자들은 업그레이드가 기대만큼 원활하지 않다는 것을 종종 발견했습니다.

Dojo 2.0 릴리스는 사용되지 않는 API의 대부분을 제거하고 JavaScript에서 TypeScript로 전환했습니다.

재단법인 도조재단 및 후원

도조 재단은 오픈 소스 [33][34]프로젝트를 지원하기 위해 2005년에 설립된 501(c)(6) 비영리 단체입니다.주요 목표는 기업의 도입을 지원하고 재단의 프로젝트를 서로 [35]협력하도록 장려하는 것입니다.

스폰서와 멤버는 다음과 같습니다.

도조 재단은 도조 툴킷 외에 다음과 같은 프로젝트도 지원합니다.

2006년에 IBM과 Sun Microsystems는 코드[46] 기부를 [47][48]포함한 Dojo에 대한 공식적인 지원을 발표했습니다.2009년 Gartner 보고서에 따르면 IBM은 30개 [49]제품에 걸쳐 Dojo를 지원하고 있습니다.PHP 코어의 배후에 있는 Zend Technologies는 2008년에 Dojo와의 파트너십을 발표해, 툴킷을 Zend [50]Framework에 통합했습니다.

2016년 도조재단이 jQuery재단과 합병하여 [6][7][8]JS재단이 되었다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b 도장의 역사
  2. ^ "Dojo Blog".
  3. ^ "Release v8.0.0-beta.3 · dojo/framework · GitHub". github.com. 2021-03-02. Retrieved 2021-03-10.
  4. ^ "Samples · TypeScript". Archived from the original on 2016-03-27.
  5. ^ a b "Dojo Toolkit License". Dojo Toolkit. Retrieved 17 April 2017.
  6. ^ a b "jQuery Foundation and Dojo Foundation to Merge". Official jQuery Blog. 1 September 2015. Retrieved 2018-07-02.
  7. ^ a b "jQuery Foundation and Dojo Foundation to Merge". PRWeb. 1 July 2015. Retrieved 2018-07-02.
  8. ^ a b "Announcing the JS Foundation!". SitePen. 2016-10-17. Retrieved 2018-07-02.
  9. ^ "Adobe Flash Player Version Penetration". Adobe website.
  10. ^ "Dojo Data". 2007-01-11. Archived from the original on 2007-02-13. Retrieved 2007-02-03.
  11. ^ "Development and JavaScript Blog".
  12. ^ a b c d e f g h i 도장의 시각사2012-04-20 취득.
  13. ^ a b c d e f g h i j k l m n o p OpenLogic Exchange Dojo 툴킷 다운로드.2012년 4월 20일 취득
  14. ^ 도조 로더.2012년 4월 20일 취득
  15. ^ 도조 1.9.2 외
  16. ^ 도조 1.14 출시
  17. ^ GitHub - dojo/dojo: Dojo 1: the Dojo 1 toolkit core library., Dojo, 2019-04-17, retrieved 2019-04-19
  18. ^ 도조 1.16 출시
  19. ^ "The Dojo Toolkit Blog Unbeatable JavaScript Tools".
  20. ^ a b Dojo.io
  21. ^ "Building your first Dojo 2 application Dojo". Archived from the original on 2017-04-01.
  22. ^ "Development and JavaScript Blog".
  23. ^ 도성 버전 4 발표
  24. ^ 도조 7호 도착
  25. ^ https://dojotoolkit.org/community/roadmap/ "도조2 로드맵"
  26. ^ a b "An Interview with Dojo Toolkit Creator Dylan Schiemann". Nettuts+. 2012-08-16. Retrieved 2012-11-21.
  27. ^ "Dojo 1.7 Released!". Dojo Toolkit Blog. 2011-01-01. Retrieved 2012-11-21.
  28. ^ "What's coming in Dojo 1.8". Dojo Toolkit Blog. 2012-02-09. Retrieved 2012-11-21.
  29. ^ a b "what is the raison detre for dojo 2.0". dojo-contributors. 2012-10-11. Retrieved 2012-11-29.
  30. ^ Schiemann, Dylan (2012-04-30). "jQuery and the long term viability of Dojo". Dojo-interest. Retrieved 2012-11-29.
  31. ^ "Criticism of Dojo?". Seven Foot Tall Cactus. 2012-08-17. Archived from the original on 2012-10-26. Retrieved 2012-11-21.
  32. ^ a b "Dojo or JQuery". NotADojoGuru. 2012-04-06. Retrieved 2012-11-21.
  33. ^ "The history of JavaScript: A Journey from Netscape to Frameworks". TechAhead. Retrieved 2020-06-26.
  34. ^ "jQuery Foundation and Dojo Foundation to Merge". PRWeb. Retrieved 2020-06-26.
  35. ^ 도조 재단
  36. ^ a b c d e f g h i j k l m n o p q "Sponsor and Donate". Dojo Foundation. Retrieved 19 October 2015.
  37. ^ http://www.sitepen.com/
  38. ^ a b c d e f g h i j k l m n o p q "Amazing projects at the Dojo Foundation". Dojo Foundation. Retrieved 19 October 2015.
  39. ^ "Contributing: Contributors License Agreement". Grunt. Retrieved 19 October 2015.
  40. ^ http://theintern.io/
  41. ^ "Lodash". Lodash. Retrieved 2022-08-03.
  42. ^ "Archived copy". Archived from the original on 2009-07-16. Retrieved 2009-05-21.{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크)
  43. ^ "About - openrecord.org". www.openrecord.org. Retrieved 2020-06-26.
  44. ^ http://persvr.org/
  45. ^ "RequireJS". RequireJS. Retrieved 2022-08-03.
  46. ^ "IBM Contributes Ajax Software Development Technology to Open Source Community". IBM Press Release. 2006-06-05. Retrieved 2007-02-03.
  47. ^ "Sun Joins the OpenAJAX Alliance and Dojo Foundation". Sun Microsystems Press Release. 2006-06-16. Retrieved 2007-02-03.
  48. ^ Krill, Paul (2006-06-19). "Sun joins OpenAJAX, Dojo Foundation". InfoWorld. Retrieved 2020-06-26.
  49. ^ "MarketScope for Ajax Technologies and Rich Internet Application Platforms" (PDF). Gartner Group. December 2009. Archived from the original (PDF) on 3 November 2015. Retrieved 17 March 2014.
  50. ^ 도조와 Zend 프레임워크 파트너십 발표

추가 정보

외부 링크