1월 062007
 

요즘에 만들고자 하는 프로그램이 있어서, 여러가지 구상을 해봤습니다.

  • 2D 그래픽이 가능해야하고, (언젠가 3D도…)
  • 가능하면 플랫폼에 독립적일 것.
  • 빠른 응답/처리 속도 (왜냐하면 계산을 많이 할 것이니..)
  • 언젠가 상용화를 위한 일관된 지원과 깔끔한 Look & Fell 필요


내가 구사할 수 있고 무료로 구할 수 있는 언어와 라이브러리조합이 대충 아래와 같이 나옵니다.

  • GCC + wxWindows
  • Python + wxWindows
  • IronPython
  • Python + PyWin32
  • Java2 SE V6
  • Java + RCP + SWT/JFace

개인적인 경험과 관점에서 보자면….



GCC + wxWindows
장점: 플랫폼 독립적, 빠른 실행속도, 잘 구현된 GUI라이브러리.
단점: 낮은 생산성, 초기 노력이 많이 투자됨, 무거운 GUI라이브러리 (11MB)

Python + wxWindows
장점: 생산성 높은 언어, 플랫폼 독립적, 잘 구현된 GUI라이브러리.
단점: 낮은 성능, 
무거운 GUI라이브러리 (11MB)

IronPython
장점: 생산성 높은 언어, 플랫폼 독립적(Mono Project), 가벼운 GUI.
단점: 낮은 성능, 사용자는 별도로 .NET을 설치해야 함.

Python + PyWin32
장점: 생산성 높은 언어, 가벼운 GUI (개인적으로 익숙한 GUI 환경)
단점: 낮은 성능, 플랫폼에 독립적이지 않음. 

Java + RCP + SWT/JFace
장점: 개인적으로 가장 익숙한 언어, 일관된 제품화를 위한 프래임워크, 플랫폼 독립적, 비교적 가벼운 GUI. 괜찮은 성능
단점: 그럭저럭한 생산성, RCP/SWT 공부를 많이 해야함.

Java2 SE V6
장점: 대폭 향상된 GUI성능 (아직 테스트 해보지 않았음). 플랫폼 독립적. 괜찮은 성능.
단점: 바닥부터 시작해야 됨. Swing에 관한 아픈 기억이 있음.

이런 저런 상황을 고려하여, 개인적으로 사용하기 익숙한 언어와 비교적 만족할 만한 성능을 보여줄 것이라 기대가 되는 Java + RCP + SWT/JFace를 사용하기로 결정하였습니다.

가장 큰 이유랄까…. RCP를 통한 일관된 제품화 공정을 사용할 수 있을 것이라 기대되기 때문입니다.

RCP: http://www.eclipse.org/home/categories/rcp.php

SWT/JFace는 Java Swing에 대비되는 GUI라이브러리입니다. 자바개발자들이 흔히 사용하는 Eclipse IDE를 제작하는 데, 사용된 라이브러리이기도 하죠. 물론 이클립스 없이도 라이브러리만 따로 사용할 수 있습니다.

Swing과는 달리 SWT는 OS 고유의 GUI기능을 이용하기 때문에 성능이 좋고, 각 고유 OS의 Look&Feel을 가지고 있어 사용자는 별 거부감없이 사용할 수 있다는 장점이 있습니다.

어쨌거나 지금으로선 많이 가지고 노는 길밖에는 뾰족한 수가 없을 듯 합니다.

  2 Responses to “RCP + SWT/JFace”

  1. 잘 읽고 가효.~~

Leave a Reply to 자작쟁이 Cancel reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)