SWT vs Swing
자바를 이용해서 데스크탑 애플리케이션을 개발하는 경우 SWT를 이용해서 구현할 것인가? Swing을 이용한 것인가?

SWT가 네이티브(native) UI를 제공하는 것이 목적이라면, Swing은 플랫폼에 독립적인(동일한) UI를 제공하기 위해서 만들어졌습니다. (UI 관점에서...)

물론 SWT 역시 플랫폼 독립적인 API를 제공합니다. SWT는 일종의 네이티브 API의 랩퍼(wrapper) 역할을 하고 있습니다. 그러므로 플래폼 별로 소스 코드가 동일하다는 것을 의미입니다. (아직 확인해보지 않았습니다)

SWT은 그 구조가 단순하기 때문에 Swing과 비교해서 상대적으로 이용 진입 장벽이 낮다고 볼 수 있습니다. 그러나 SWT에서 사용된 자원들은 garbage colleting되지 않기 때문에 명시적으로 de-allocating해야하는 번거로움이 있습니다. 그러나 이점은 오히려 전화위복이 될 수 있습니다. 자원을 빨리 반환하기 때문에 그만큼 시스템 성능이 향상되기 때문입니다. 반면 SWT이 Swing보다 유연성과 확장성이 떨어지는 것은 당연한 결과입니다.

만약 진행중인 프로젝트가 자바를 사용하지만, 특정 플랫폼에 편중되어 있는 경우 SWT가 적합합니다. 예를 들어 사용자의 대부분이 MS 윈도우를 사용하며, 나머지 일부가 Mac을 사용하는 경우입니다. 그러나 다양한 플랫폼을 지원하면서 UI 스타일의 비중이 그리 높지 않는 경우 Swing을 이용하는 것이 좋습니다.

끝으로 UI 스타일에 민감한 사용자의 관점에서는 Swing의 UI는 다소 불만족스러울 수 있습니다. 윈도우 사용자가 볼 때 Swing의 UI는 심플하지만 왠지 이질적이며, 이미 눈이 높아져버린 Mac 사용자의 입장에서 Swing은 덜 세련되어 보일 수 있습니다. 물론 Swing의 장점인 Pluggable Look and Feel을 활용할 수 있지만, 왠만한 기업에서 MS 윈도우나 Mac보다 멋진 UI를 만들기는 쉽지 않을 것 같습니다. ^^;


이 글은 Swing and SWT: A Tale of Two Java GUI Libraries를 참고했습니다.


by 키포스 | 2006/07/04 18:52 | 프로그래밍 | 트랙백 | 덧글(0)
트랙백 주소 : http://kipos.egloos.com/tb/126333
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글



< 이전페이지 다음페이지 >