Extjs는 jquery, dhtml 등과 같이 Javascript를 이용한 Web Application을 개발할 수 있는 Framework을 위한 client side library이다. Client side library란 jsp, asp, php 등과 같이 Server side에서 컴파일되거나 해석되어서 실행되는 server side script language가 아니라 client side인 웹브라우저로 다운로드되어 실행되는 javascript로 된 library다.
Library란 단어를 사용하는 이유는 기본적으로 javascript는 고차원적인 프로그래밍을 위한 특징(예를 들면 메모리 할당과 해제와 같은 관리, 재귀함수와 같은 구조적 특징 등)을 가지지 않은 Script언어이다. 이러한 javascript만으로 화면에 윈도우 XP와 같은 바탕화면, 작업창, 탭, 그래프, 표 등을 표시하기 어려우므로 style sheet를 이용하여 화면상에 client 프로그램 작성을 위한 기본적인 템플릿을 함께 제공하여 개발자가 몇개의 템플릿 또는 함수, style sheet 등을 선택하여 마치 PC 프로그램 화면과 같이 동적으로 반응하는 프로그램을 쉽게 만들어 낼 수 있기 때문이다.
사용자(개발자)는 extjs의 library를 활용하여 팝업창, 윈도우, tab, grid, chart등을 호출할 수 있으며 ajax를 통한 query실행, json등을 이용한 db조회와 grid, chart의 자동화를 이용할 수 있다. 사용하다보면 javascript가 이렇게 강력했던가 하는 감탄과 때로는 언어의 장벽에 가로막혀 우회방안을 찾기위해 머리를 싸매는 좌절감도 종종 경험하게 된다.
하지만 Framework이라는 틀에서 생각하면 Server와의 통신, Data와 UI와의 분리 등 복잡한 구조들이 사실은 개발 및 유지보수, 관리를 위해 잘 구성된 Web Application 개발 기반이다.
결론적으로 정리하자면 웹 표준과 이식성, 편의성을 생각하면 javascript와 같은 웹브라우저 공통의 표준언어를 사용하는 것이 너무나 당연하며 많은 knowledge base가 쌓인 extjs와 같은 tool(또는 library)를 사용하는 것이 생산성을 위해서는 필수적이다.