확장 JS

Ext JS
Ext JS JavaScript 프레임워크
Extjs-desktop.jpg
Ext JS 2.0 웹 데스크톱
안정된 릴리스
7.5.1 / 2021년 12월 8일 (2021-12-08)[1]
유형자바스크립트 라이브러리
면허증.독자 사양
웹 사이트www.sencha.com/products/extjs/

Ext JS는 Ajax, DHTML DOM 스크립팅과 같은 기술을 사용하여 대화형 크로스 플랫폼 웹 애플리케이션을 구축하기[2] 위한 JavaScript 애플리케이션 프레임워크입니다.단순한 컴포넌트 프레임워크(예를 들어 정적 페이지에 동적 그리드를 작성하는 것)뿐만 아니라 단일 페이지 애플리케이션(SPA)을 구축하기 위한 전체 프레임워크로도 사용할 수 있습니다.

원래 2007년 [4]4월 15일 Jack Slocum에 의해 YUI의 애드온 라이브러리[3] 확장으로 구축된 Ext JS는 버전 1.1 [5]이후 외부 라이브러리에 의존하지 않습니다.현재 Ext JS는 단일 스크립트(모든 클래스와 컴포넌트를 한 파일에 포함)로 사용하거나 Sencha Cmd로 애플리케이션을 빌드하여 사용할 수 있습니다.

특징들

GUI 컨트롤(컴포넌트)

Ext JS에는 웹 응용 프로그램에서 사용하기 위한 일련의 GUI 기반 폼 컨트롤(또는 "위젯")이 포함되어 있습니다.

  • 텍스트 필드 및 텍스트 영역 입력 컨트롤
  • 팝업 날짜 표시기가 있는 날짜 필드
  • 숫자 필드
  • 목록 상자 및 콤보 상자
  • 무선체크박스 컨트롤
  • html 에디터 컨트롤
  • 그리드 제어(읽기 전용 및 편집 모드, 정렬 가능한 데이터, 잠금 및 끌 수 있는 열 및 기타 다양한 기능 포함)
  • 트리 제어
  • 패널
  • 툴바
  • 데스크톱 응용 프로그램 스타일 메뉴
  • 여러 하위 섹션으로 양식을 분할할 수 있는 영역 패널
  • 슬라이더
  • 벡터 그래픽 차트

주제와 툴킷

센차는 또한 구성 요소를 스타일링하기 위한 몇 가지 테마를 제공합니다.테마를 변경하려면 CSS와 테마의 스크립트를 변경하기만 하면 됩니다.Sencha CMD를 사용하는 경우 애플리케이션을 재구축해야 [6]할 수 있습니다.

모든 컴포넌트는 각각의 테마에 따라 동작해야 하지만 외관과 느낌은 달라집니다.예를 들어 Classic 테마는 터치 장치에 적합하지 않은 작은 요소를 가지고 있습니다.넵튠 터치는 태블릿과 폰에 더 적합한 더 큰 요소를 가지고 있다.

Ext JS는 모던과 클래식 툴킷이라고 불리는 두 가지 맛이 있습니다.사용 가능한 테마에 따라 다를 뿐만 아니라 API에도 차이가 있습니다.따라서 하나의 툴킷에서 다른 툴킷으로 이행하는 것은 테마를 이행하는 것만큼 쉽지 않습니다.2019년으로 [needs update][7]예정된 Ext JS 7.1에서는 툴킷 간의 차이를 해소할 계획이다.

프로그래밍 툴킷

Ext JS는 많은 기능을 가진 클래스의 구성입니다.몇 가지 예:

  • 브라우저용 추상 레이어(예:Ext.isArray대용품으로 사용할 수 있는Array.isArray)
  • 스테이트 매니지먼트(스토어)
  • 서버 통신 레이어(및Ext.Ajax.request)
  • 레이아웃 및 창 관리
  • 이벤트 관리(커스텀 컴포넌트용 커스텀이벤트 생성 간소화)
  • 라우팅

계급제

Ext JS에는 자체 클래스 [8][9]시스템이 있습니다.클래스는 다음과 같이 정의됩니다.Ext.define다음으로 인스턴스를 생성할 수 있습니다.Ext.create. 일부 클래스(컴포넌트 및 저장소 등)에는 별칭이 있을 수 있으며 별칭으로 만들 수 있습니다.구성 요소의 인스턴스는 상위 구성 요소가 생성될 때 자동으로 생성됩니다.

클래스는 커스텀클래스와 빌트인클래스를 모두 확장할 수 있습니다.일반적으로 커스텀 컴포넌트는 빌트인 컴포넌트(예:MyApp.views.ProductsTable빌트인 확장Ext.grid.Panel를 참조해 주세요.[10]

내장된 다이내믹로더가 있기 때문에 클래스는 동적 종속성을 가질 수 있습니다(온디멘드로 로드됨).ExtJ에는 2종류의 의존관계가 있습니다.선언된 의존관계requires속성은 클래스의 인스턴스가 생성되기 전에 로드됩니다.정의되어 있는 의존관계uses클래스 인스턴스가 생성된 후 속성이 로드될 수 있습니다.

클래스를 덮어쓸 수도 있습니다.빌트인 클래스도 있습니다.임베디드 클래스를 덮어쓰는 것은 국제화[11] 제공이나 패치 작성 등에 도움이 될 수 있습니다.오버라이드된 클래스는 새 선언과 병합됩니다.각 클래스는 필요한 횟수만큼 덮어쓸 수 있습니다(예: i18n과 l10n 제공).

확장 JS 버전 내역

확장 JS 2.0

Ext JS 버전 2.0은 2007년 12월 4일에 출시되었습니다.이 버전은 기존 데스크톱 애플리케이션과 관련된 인터페이스 및 기능과 더 유사한 기능을 제공하는 것으로 홍보되었습니다.또한 새로운 사용자 설명서, API 설명서 및 [12]샘플도 홍보되었습니다.

Ext JS 2.0은 버전 1.1과의 하위 호환성을 제공하지 않았습니다.이 문제를 [13]해결하기 위해 이행 가이드가 개발되었습니다.

Ext JS 3.0

Ext JS 버전 3.0은 2009년 7월 6일에 출시되었습니다.이 버전에서는 REST 및 새로운 Ext에 대한 통신 지원이 추가되었습니다.다이렉트 서버측 플랫폼.표준 디스플레이 컴포넌트에 새로운 플래시 차트 작성과 ListView 요소가 추가되었습니다.버전 2.0 코드와의 하위 호환성이 있습니다.

확장 JS 4.0

Ext 프레임워크 버전 4.0은 2011년 4월 26일에 출시되었습니다.완전히 수정된 클래스 구조,[14] 수정된 데이터 패키지, SVG와 VML[15]사용하는 애니메이션 및 도면 패키지, 수정된 차트 작성 및 주제 작성 패키지 등이 포함됩니다.또한 모델 뷰 컨트롤러(MVC) 스타일의 코드 구성을 제공하는 선택적 아키텍처도 포함되어 있습니다.

확장 JS 5.0

Ext JS 프레임워크 버전 5.0은 2014년 [16]6월 2일에 출시되었습니다.단일 코드 기반, 모델 뷰 모델(MVVM) 아키텍처, 양방향 데이터 바인딩, 응답성 있는 레이아웃 및 데이터 시각화 및 빅데이터 [18]분석을 위해 그리드 셀 내에 위젯을 추가하는 기타 구성 요소 업그레이드를 사용하여 터치 지원[17] 장치를 기반으로 데스크톱 애플리케이션을 구축할 수 있습니다.Ext JS 5에는 추가적인 재무 차트 작성 기능과 함께 터치 최적화 차트 작성 패키지가 업그레이드되어 있습니다.

Ext JS 5는 Safari 6+, Firefox, IE8+, Chrome 및 Opera 12+를 포함한 최신 및 레거시 브라우저를 지원합니다.모바일 플랫폼에서 Ext JS 5는 iOS 6 및 7의 Safari, Android 4.1+의 Chrome 및 IE10+를 실행하는 Windows 8 터치 스크린 장치(예: Surface 및 터치 스크린 노트북)를 지원합니다.

중요:Ext JS 5 버전에서는 5명 미만의 개발자를 위한 라이센스를 구입할 수 없습니다.

확장 JS 6.0

Ext JS 프레임워크 버전 6.0은 2015년 [19]7월 1일에 출시되었습니다.Sencha Touch(모바일) 프레임워크를 Ext [20]JS에 병합합니다.

확장 JS 7.0

Ext JS 프레임워크 버전 7.0은 2019년 [21]8월 29일에 출시되었습니다.Ext JS 7.0은 마이너릴리즈입니다Modern Toolkit에는 몇 가지 컴포넌트가 추가되었습니다.Classic Toolkit은 Material Design Theme를 받았습니다.

센차

2010년 6월 15일, Ext JS와 JQTouchRaphael의 합병이 Sencha Inc.라는 새로운 조직을 형성한다고 발표되었습니다[22].Ext JS는 Sencha Touch, Sencha GWT(현재의 Sencha GXT), Sencha Architect, Sencha Animator, Ext core와 함께 새로운 Sencha[23] 웹사이트에서 메인 제품으로 계속 판매되고 있다.

Sencha는 2017년 8월 23일에 IDERA(이 회사는 엠바카데로 테크놀로지스 소유)에 인수되었습니다.엠바카데로는 델파이(Object Pascal을 주요 프로그래밍 [24]언어로 사용)와 같은 신속한 애플리케이션 개발 소프트웨어를 획득한 것으로 알려져 있습니다.

Sencha JetBrains 플러그인

Sencha의 JetBrains 플러그인은 Sencha Frameworks와 JetBrains 소프트웨어 간의 결합을 만드는 통합 개발 환경 도구입니다.이 통합은 네이티브 JetBrains 동작과 연계하면서 코드 완성, 검사 및 제안 형식으로 이루어집니다.

Ext.NET

Ext.NET은 ASP입니다.Ext [25]라이브러리를 통합하는 NET 구성 요소 프레임워크, 현재 버전(2017년 9월 기준)은 ExtJ 버전 6.5.1을 통합하는 4.4입니다.

라이선스 이력

YUI-Ext는 BSD 라이선스로 사용할 수 있습니다.2008년 4월에 Ext와 관련된 오픈소스 라이선스가 변경되었습니다.버전 2.0.2에서는 Ext를 "개인적, 교육적 또는 비영리적인 방식으로 사용할 계획" 또는 "비오픈 소스 소프트웨어 사용을 금지하는 오픈 소스 프로젝트에서" 또는 "소프트웨어 개발 라이브러리 또는 툴킷이 아닌 상용 응용 프로그램에서 Ext를 사용하고 있는 경우"만 있다면 Ext는 LGPL 스타일의 라이센스로 사용할 수 있다고 저자들은 언급했습니다.이는 Ext 2.[26]1에서는 더 이상 해당되지 않습니다.Ext 저자들은 LGPL의 7항은[27] 유통업자가 삭제할 수 있는 "추가 제한"[28]과 달리 LGPL에 따라 유통하기 전에 필요한 "조건"에는 적용되지 않았다고 주장한다.

2008년 4월 20일 Ext 2.1은 새로운 듀얼 라이선스 구조로 출시되었으며, 풀 GPL 3.0 라이선스 또는 독점 라이선스 [29]중 하나를 선택할 수 있습니다.

허용 오픈소스 라이선스에서 제한적인 듀얼 라이선스로의 시간 경과에 따른 라이선스의 변경은 Ext [30][31][32][33]사용자 커뮤니티에서 논란을 일으켰다.

Sencha는 [34]자사 웹사이트에 상용 및 GPL 라이센스 조항에 대한 자세한 내용을 게재했다.

2018년 11월, Sencha는 무료이지만 ExtJ를 [35][36]사용하는 개인 또는 회사의 연간 수익에 의해 제한되는 Community Edition을 발표했습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Ext JS 7.5 Has Arrived". Sencha.com. 8 December 2021. Retrieved 20 February 2022.
  2. ^ 리치 인터넷애플리케이션도 참조해 주세요.
  3. ^ "Ten Questions with YAHOO.ext Author Jack Slocum". Retrieved 2015-08-11.
  4. ^ "@jackslocum #ExtJS 1.0 was released April 15th, 2007. Happy birthday. @Sencha". Jack Slocum. Retrieved 2013-04-14.
  5. ^ 버전 2.0에서 Ext JS는 서로 다른 기본 라이브러리 또는 어댑터와 함께 작동합니다.(예: YUI, jQuery, 프로토타입) 또는 단독으로 작동할 수 있습니다.여러 기본 라이브러리에서 작동하는 기능은 4.0 릴리스에서 제거되었습니다.
  6. ^ "Theming System Ext JS 6.5.3". Sencha Documentation. Retrieved 2018-06-11.
  7. ^ "Sencha Product Roadmap Update". Sencha.com. 2017-11-29. Retrieved 2018-06-11.
  8. ^ "The Class System Ext JS 6.5.3". Sencha Documentation. Retrieved 2018-06-11.
  9. ^ "Basics of OOP Ext JS 6.5.3". Sencha Documentation. Retrieved 2018-06-11.
  10. ^ "Components Ext JS 6.5.3". Sencha Documentation. Retrieved 2018-06-10.
  11. ^ "Localization Ext JS 6.5.3". Sencha Documentation. Retrieved 2018-06-11.
  12. ^ "Ext JS 4.0.7 - Sencha Docs". Extjs.com. Retrieved 2012-11-19.
  13. ^ [1] 2008년 2월 20일 Wayback Machine에서 아카이브 완료
  14. ^ "Countdown to Ext JS 4: Dynamic Loading and New Class System Blog". Sencha. 2011-01-19. Retrieved 2012-11-19.
  15. ^ "Countdown to Ext JS 4: Data Package Blog". Sencha. 2011-01-21. Retrieved 2012-11-19.
  16. ^ "Announcing Sencha Ext JS 5 Blog". Sencha. 2014-06-02. Retrieved 2014-07-16.
  17. ^ "Sencha Ext JS 5 Unifies Mobile, Desktop App Dev". eWeek. 2014-06-14. Retrieved 2014-09-11.
  18. ^ "Sencha Ext JS 5 Streamlines and Unifies". Dr. Dobb's. 2014-06-05. Retrieved 2014-09-11.
  19. ^ "Release Notes for EXT JS 6.0.2". Retrieved 6 January 2017.
  20. ^ "Sencha Unifies JavaScript Development Frameworks". Retrieved 28 August 2015.
  21. ^ "Release Notes for EXT JS 7.0.0". Retrieved 9 July 2019.
  22. ^ "Ext JS + jQTouch + Raphaël = Sencha Blog". Sencha. 2010-06-14. Retrieved 2012-11-19.
  23. ^ "Industry Leading JavaScript Framework for Building Desktop Web Apps Sencha Ext JS Products". Sencha. Retrieved 2012-11-19.
  24. ^ Diamandopoulos, Cybele (August 25, 2017). "IDERA, Inc. Acquires Sencha to Strengthen Developer Tools Business". sencha.com. Sencha, Inc. Retrieved September 12, 2017.
  25. ^ "– ASP.NET (WebForm + MVC) component framework integrating the Sencha Ext JS JavaScript Library ASP.NET Web Components for WebForms and MVC application. Integrates the Sencha ExtJS framework". Ext.NET. 2011-09-20. Retrieved 2012-11-17.
  26. ^ "License Change?". Extjs.com. Retrieved 2022-05-06.
  27. ^ "GNU Lesser General Public License - Version 3, 29 June 2007". Gnu.org. Retrieved 2012-11-17.
  28. ^ "Sencha Forums, ExtJS License Change".
  29. ^ "Ext JS 2.1 and Ext GWT 1.0 released, preview of Ext JS 3.0 Blog Sencha". Extjs.com. 2008-04-22. Retrieved 2012-11-19.
  30. ^ Monday April 28, 2008 3:08PM by Tim O'Brien in Opinion (2008-04-28). "License Fake-out hits ExtJS and Java Service Wrapper: Communities Alienated - O'Reilly ONJava Blog". Oreillynet.com. Retrieved 2012-11-19.
  31. ^ Asay, Matt (2008-02-25). "ExtJS: When open source is not open at all The Open Road - CNET News". News.cnet.com. Retrieved 2012-11-19.
  32. ^ "Ext JS and the fun with Open Source licenses". Ajaxian. 2008-04-26. Retrieved 2012-11-19.
  33. ^ "Brewing Controversy Surround EXTJS « The Byte Stops Here". Bytestopshere.com. Retrieved 2012-11-19.
  34. ^ "Sencha Licensing Website Sencha". Sencha.com. 2011-01-13. Retrieved 2016-05-16.
  35. ^ "Announcing Sencha Ext Community Edition". Sencha.com. 2018-11-06. Retrieved 2019-12-06.
  36. ^ "Ext JS Community Edition". Sencha.com. 2018-10-31. Retrieved 2019-12-06.

참고 문헌

외부 링크