● SWT(Standard Widget Toolkit) : SWT는 운영체제의 네이티브 윈도우 환경과 긴밀하게 통합된 컴포넌트와 플랫폼 독립적인 API를 제공한다. SWT는 자바 개발자들에게 네이티브 데스크톱을 애클리케이션과 같은 품질의 솔루션을 개발할 수 있도록 한다.

● JFace : JFace는 SWT를 이용하여 사용자 인터페이스를 개발할 때 해야 하는 많은 공통 작업들을 간단하게 해 주는 컴포넌트와 헬퍼 유틸리티 세트를 제공한다. 데이터 뷰, 위저드, 다이얼 로그 컴포넌트,  텍스트 관리, 이미지 및 폰트 컴포넌트 등을 제공하기 위해 SWT를 확장하는 많은 유틸리티 클래스들을 포함하고 있다.

● 플랫폼 런타임 : 플러그인과 JIT 레이지 로딩(Just-In-Time lazy loading) 및 초기화 간에 확장 포인트(extension-point) 모델 기반의 느슨한 결합을 정의하고 있다.

● OSGi(Open Services Gateway Initiative) : 이클립스에서 플러그인의 발견 및 애플리케이션의 재시작 없이 플러그인을 로딩 및 언로딩하는 것을 포함하여 플러그인 라이프사이클 관리등을 위한 프레임워크이다.

 - 리치 클라이언트 개발을 위한 이클립스 SWT 에서 -

'Java > SWT/JFACE' 카테고리의 다른 글

윈도우 스타일 설정과 관련된 SWT 상수  (0) 2009.05.01
이클립스 SWT의 주요 클래스  (0) 2009.05.01
Hello SWT  (0) 2009.04.28
SWT, JFace의 정의  (1) 2009.04.26
리치 클라이언트의 귀환  (0) 2009.04.26
Eclipse 에서 SWT/JFace 설정 및 테스트  (0) 2009.04.18
Posted by 써치마왕
되돌아보면 1990년대 중반부터 불어닥친 인터넷과 웹 브라우저의 보급으로 인해 현대인의 생활 패턴은 완전히 바뀌었다. 이제는 모든 생활이 인터넷에서 가능하다고 해도 과언이 아니다. 그러나 최초의 웹 브라우저인 넷스케이브와 마이크로소프트 인터넷 익스플로러의 웹 브라우저 전쟁에서 인터넷 익스플러러가 승리한 이후, 많은 웹 기반 개발자들과 사용자들은 더 이상  새로운 웹 기술의 발전을 경험하지 못했고, 점점 더 웹의 한계를 느끼게 되었다. 그나마 리눅스와 파이어폭스의 존재는 마이크로소프트가 장악하다시피 한 웹의 발전을 유지시키고 있다.

기술적으로 살펴보면 웹 브라우저를 필두로 하여 웹 페이지, 웹 서버, CGI, 웹 애플리케이션으로 이어지는 신(thin) 클라이언트가 클라이언트 PC의 기본 플랫폼이 되었고, 많은 유지 보수(특히 버그 수정과 버전 갱신) 이슈와 무거운 동작성이라은 약점을 안고 있는 리치(rich) 클라이언트는 점차 사라져 갔다. 이렇게 21세기로 넘어오면서 많은 시스템들이 웹으로 이동하였고, 웹은 초보자가 익히기에 쉽고 빠르며 이식도 아주 편했다.

하지만 사용자들이 모든 일을 웹 브라우저를 통해 하려다 보니, 빈약한 사용자 체험(user experience), 웹 엔트로피의 증가, 다양한 플랫폼 및 다중 웹 브라우저에 대한 자원 부족등의 문제들이 하나씩 생겨났다. HTML의 단순한 사용자 인터페이스가 주는 제약을 뛰어 넘기 위해 DHTML, 자바스크립트, 액티브X 컨트롤, 플래시가 범람하게 된 것이다. 이는 결국 브라우저로 대표되는 신 클라이언트가 다시 무거워지는 계기로 작용했다. 그리고 이러한 혼란의 시대에 어디론가 사라졌던 리치 클라이언트가 귀환하게 되었다.

플래시는 리치 클라이언트의 부활을 알리는 첫 신호탄이었다. 기존의 웹에서 볼 수 없었던 풍부한 사용자 체험을 제공했으며, 프로그래밍이 가능한 플렉스로 발전하였다. 그러나 플렉스가 리치 인터넷 애플리케이션(Rich Internet Application; RIA)이라고 스스로 말하고 있듯이, 웹 브라우저 내에서 실행되기 때문에 웹이라는 태생적인 한계를 벗어나지 못하고 있다. 웹 2.0을 구현할 기술의 하나로 주목받고 있는 AJAX(Asynchronous JavaScript and XML) 역시 기존의 웹과 HTML의 웹 엔트로피 과다 생산 문제점을 보완하기 위해서 생겨난 하나의 웹 기술에 불과하다.

이러한 상황에서 이클립스 리치 클라이언트 플랫폼(Rich Client Platform; RCP)은 신선한 충격으로 다가왔다. 다중 크로스 플랫폼 환경에서 매우 잘 상호 작용하는 비즈니스 애플리케이션을 생성하기 위해 필요한 모든 요구 사항들을 만족시켜 주기에 충분하다고 생각한다. 물론 웹 애플리케이션은 여전히 큰 장점을 가지고 있고 AJAX와 웹 2.0 같은 기술과 함께 보다 진일보하고 있다. 동시에 리치 클라이언트 애플리케이션은 일부 애플리케이션에 더 잘 맞는다. 그 예로, 은행 창구(Bank Teller) 애플리케이션이나 콜 센터(Call Center) 애플리케이션등을 들 수 있다.

이와 같은 경우, 애플리케이션은 일반적으로 다음과 같은 특징이 있다.
● 대부분 수백, 수천 명의 사용자들 타깃으로 한 내부 인트라넷 애플리케이션이다.
● 폰트, 컬러, 위젯등 UI에 대한 엄격한 룩앤필(Look and Feel)요구 사항이 있다.
● 파워 유저가 사용하는 것이기 때문에 단축키를 사용한 빠른 반응을 필요로 한다.
● 이러한 애플리케이션들은 매우 큰 데이터 세트를 갖고 있고 스크린에 많은 정보를
    디스플레이 한다. 클라이언토 측에 큰 세션 데이터를 관리하여 퍼포먼스를 높인다.
● 데스크톱과 다른 데스크톱 애플리케이션을 통합한다.
● 일반적으로 워크플로 유형 또는 협업 유형의 애플리케이션이고, 오프라인에서 작업
    할 수 있는 기능과 태스크 변환 기능이 매우 중요하다.

세상에 존재하는, 인간이 만든 모든 것 중 완벽한 것이 없듯이 컴퓨터 프로그래밍도 마찬가지이다. 따라서 리치 클라이언트와 신 클라이언트는 서로 역할을 명확히 구분하여 상호 보완해야 할 것이다.


-리치 클라이언트 개발을 위한 이클립스 SWT 로 부터 -

'Java > SWT/JFACE' 카테고리의 다른 글

윈도우 스타일 설정과 관련된 SWT 상수  (0) 2009.05.01
이클립스 SWT의 주요 클래스  (0) 2009.05.01
Hello SWT  (0) 2009.04.28
SWT, JFace의 정의  (1) 2009.04.26
리치 클라이언트의 귀환  (0) 2009.04.26
Eclipse 에서 SWT/JFace 설정 및 테스트  (0) 2009.04.18
Posted by 써치마왕
2009년 5월 2일은 황금 연휴라고 쉬자고 해서 쉬겠습니다.

금일 미션 :
                 영민, 경원 - SWT FILE OPEN CLASS 만들기
                 덕형         - read(), write() 함수를 이용한 !EZLOAD 인식

다다음주 미션 :
                 영민, 경원 -
                 덕형         - EZAT7에 module 라이트하기
                                   이클립스에서 svn 사용법 문서화

'FSP21 > SWT/JFACE를 이용한 EZFLASH' 카테고리의 다른 글

2009_05_09 JEZZFLASH 작업 파일  (0) 2009.05.09
2009년 4월 25일 진행사항  (0) 2009.04.25
2009년 4월 18일 진행사항  (0) 2009.04.25
2009년 4월 11일 진행사항  (0) 2009.04.14
고쳐야 할점  (0) 2009.04.13
Posted by 써치마왕