꿈꾸는 시스템 디자이너

Qt 본문

Development/Qt

Qt

독행소년 2009. 4. 16. 22:59
Qt는 현재는 Nokia사에 인수 합병된 trolltech사에서 개발된 GUI 프로그래밍 툴킷이다.
Windows 진영의 MFC와 같은 형식으로 GUI 컴포넌트들을 조립하는 형태로 GUI 프로그래밍을 할 수 있다.
현재는 기본적인 GUI 기능을 넘어 네트워크, 테스트 제어 등의 일반 프로그래밍에 필요한 대부분의 기능을 제공하고 있다.

상용 버전도 있지만 완벽한 LGPL 라이센스로 소스 코드까지 오픈되어 있는 아주 매력적인 녀석이다.

Qt의 특징을 간략하게 정의하면 다음과 같다.

1) 플랫폼으로부터 독립적이다.
Java의 bytecode가 VM을 이용하여 왠만한 OS에선 모두 동작이 가능하다는 특징은 왠만한 사람들은 모두 알고 있을 것이다. 하지만 VM을 이용하는 방식은 bytecode를 runtime시에 binary로 컴파일을 하는 과정이 필요하기 때문에 아무래도 퍼포먼스면에서 손해를 볼 수 밖에 없다. 하지만 Qt는 다양한 OS용 컴파일러가 존재하기 때문에 한번 작성한 코드를 각 타겟 OS에 맞는 컴파일러를 통해 binary로 만들 수 있기 때문에 소스 재사용성면과 퍼포먼스면에서 두마리 토끼를 모두 잡을 수 있는 장점이 있다. 탑재 가능한 플랫폼으로는 Windows, Linux, Mac과 같은 데스크탑용 OS와 embedded Linux, windows Ce와 같은 경량 OS등이 있다.

2) 방대한 레퍼런스를 제공한다.
Qt자체가 오픈소스로 제공되고 있으며, LGPL 라이센스에 의해 다수의 응용프로그램 예제를 손쉽게 구할 수 있다.

하지만 장점이 있으면 단점도 있는 면이다. 무슨 이유에서인지 국내에서는 많이 사용되고 있지 않다. 다시 말에서 주변에서 문의할만한 사람을 찾기 쉽지 않다. 그러다 보니 쓸만한 국내도서도 부족한 실정이다. 보통 인터넷 블로그나 카페등을 이용해서 도움을 구해야 한다.

앞서 설명한것처럼 Qt를 개발하던 trolltech사가 Nokia사에 인수합병되었다. 개인적으로 이점은 한번 고려해볼만한 일이라고 생각한다. Nokia는 우리가 익히 알고 있는 심비안이라는 모바일 플랫폼을 가지고 있다. 그런데 얼마전부터는 maemo라고 하는 mobile Linux도 자체 개발하고 있다. 다시 말하면 Nokia사는 휴대폰 자체도 개발하고 휴대폰에 탑재되는 심비안과 maemo라는 모바일 플랫폼도 개발하고 있으며 그 위에 올라가게 될 Qt 또한 개발하게 되었다. 휴대폰 개발에 필요한 모든 기술을 가지게 된 것이다. 최근들어 국대 재출시된 Nokia의 휴대폰이 예상외로 고전하고 있지만 그것은 한국에서만의 얘기지 세계적으로 볼때 굉장히 무선을 기술력을 보유하게 되었다는 것이다.

프로그래밍에 관심이 있는 사람이라면 Qt를 고려해볼만 하다.
Comments