WIPIVERSE

Ext JS

Ext JS는 Sencha(초기에는 YUI Extensions와 같은 명칭으로 시작)에서 개발한 자바스크립트 기반 웹 애플리케이션 프레임워크이다. 2006년에 첫 번째 버전이 공개된 이후, Rich Internet Application(RIA) 구현을 목표로 컴포넌트 기반 UI 도구와 데이터 관리 기능을 제공한다.

주요 특징

  • 컴포넌트 중심 구조 : 그리드, 트리, 폼, 차트 등 다양한 UI 위젯을 클래스로 제공하며, 이러한 위젯을 조합해 복잡한 인터페이스를 구축할 수 있다.
  • MVC/MVVM 아키텍처 지원 : 모델‑뷰‑컨트롤러(MVC)와 모델‑뷰‑뷰모델(MVVM) 패턴을 공식적으로 지원해 애플리케이션 로직과 UI를 분리한다.
  • 데이터 스토어와 프로시저 : Ext.data.Store와 Ext.data.Model을 통해 원격 데이터 소스(REST, JSON, XML 등)와의 연동을 단순화한다.
  • 테마와 레이아웃 시스템 : 사전 정의된 테마와 유연한 레이아웃 매니저를 제공해 다양한 화면 해상도와 디바이스에 대응한다.
  • 툴링 : Sencha Cmd, Sencha Architect 등 빌드·배포·시각적 설계 도구와 연동한다.

역사와 배포

연도 주요 사건
2006 Ext JS 1.0 공개 (YUI Extensions에서 분리)
2008 Ext JS 2.0 출시, 클래스 시스템 및 모듈화 도입
2011 Sencha가 Ext JS 프로젝트를 인수하고, Ext JS 4.0 발표
2014 Ext JS 5.x에서 현대적인 클래스 시스템 및 ES6 호환성 강화
2020 이후 Ext JS 6.x와 7.x에서 타입스크립트 선언 파일 제공, 최신 브라우저와의 호환성 유지

라이선스

  • 상용 라이선스 : 기업용 제품에 대한 상업적 이용은 Sencha와의 계약을 통해 라이선스를 구매해야 한다.
  • 오픈소스 : 과거에는 GPLv3 라이선스로 배포되었으나, 현재 최신 버전은 상용 라이선스와 별도로 커뮤니티(Free) 버전이 제공된다.

사용 사례

  • 기업 내부 관리 시스템(ERP, CRM)
  • 대시보드 및 데이터 시각화 도구
  • 복잡한 폼 및 워크플로우가 필요한 웹 포털

관련 기술

  • Sencha Touch : 모바일 전용 UI 프레임워크(이후 Ext JS와 통합)
  • ExtReact, ExtAngular, ExtVue : 각각 React, Angular, Vue와 연동되는 Ext JS 기반 UI 컴포넌트 라이브러리

참고 사항

Ext JS는 풍부한 기능을 제공하지만, 초기 로드 시 파일 크기가 크고, 학습 곡선이 비교적 가파른 편이다. 따라서 프로젝트 규모와 팀 역량을 고려해 도입 여부를 판단한다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기