Qt 란 무엇인가?
Qt 는 Cross-Platform Toolkit 으로 단순한 Graphical UI Toolkit 기능부터 Network/Database/Webkit등 Programmer 가 다양한 기능을 다양한 OS에서 쉽게 개발 할 수 있도록 다양한 Component를 제공하는 C++ Toolkit 이다.
Tip: Qt (큐티) 라고 쓰고, 큐트(트는 거의 들리지 않게) 라고 읽습니다.
Prerequirements of Qt
- C++ Programming 능력
- Design Pattern을 이해하고 사용할 수 있는 능력
지원되는 OS
- Unix 계열 OS
Linux, Android, Macintosh 용 OS들, BSD 계열등등 대부분의 Unix OS가 지원됩니다. - Windows 계열 OS
Windows Vista, Windows XP, WinCE등등 대부분의 Windows 계열 OS가 지원됩니다.
- Qt
가장 일반적인 Qt Component (Class)들로 구성되어 있습니다.
다양한 OS에서 사용할 수 있도록 추상화가 많이 되어 있어, 이식성은 좋으나 Hardware related 가 되어야 하는 부분, 예를 들자면 Multimedia playback이나 Graphic 가속기등의 사용을 위해서는 특정 Hardware용 Plugin개발이 중요합니다.
장점
다양한 기능과 다양한 OS를 위해 기능들을 갖추고 있습니다. 누구나 쉽게 Qt Class등을 통하여 안정적으로 빠른 코드를 개발 할 수 있습니다.
많은 Application 개발 Tool 로 사용되고 있습니다.
잘 알려진 Chip에서의 Embedded용 Application 개발이 용이합니다. (예: x86, arm, mips)
단점
Performance 향상을 위해서 Hardware dependent 한 코드를 추가해야 할 경우가 생기면 해당 Hardware에 Optimized된 Plugin을 추가 개발 해줘야 합니다.
Plugin 개발은 응당 Hardware optimization을 위해 당연한 것이긴 하지만 아래의 Nokia Qt나 Qtopia의 경우는 특정 칩 계열이나 특정 상품 계열을 위해서 Optimized 된 device driver등이 제공되는 것과 비교해 보면 Plugin Optimization을 위해 Resource 투자를 해야 한다는 것이 아쉬울 수 있습니다.
Version (2010년 7월 현재)
현재 stable version은 Qt 4.6.3 이고 develop version은 Qt 4.7 입니다.
Tip : Qt의 추상화 영역을 간소화 하고, Hardware 가속기를 사용하실 것을 추천합니다.
최근에는 OpenVG나 OpenGL/ ES 2.0 혹은 DirectFB등을 많이 사용합니다.
아래 그림에서 OpenVG 윗단에 Optimized된 Plugin을 추가하여 Qt 2D API들이 최상의 성능을 낼 수 있도록 합니다.
Image출처: http://www.khronos.org/openvg/ - Nokia Qt SDK
위의 Qt의 경우에는 Trolltech에서 처음 만들었고 많은 Open Source 개발자 특히 KDE 개발자들의 노력으로 만들어진 집단 지성의 결정체 입니다.
그런 만큼 다양한 분야의 여러 목적을 위해 각 Component가 Generic하게 개발되어 왔습니다. 그런데 Nokia에서 Qt를 Mobile Application 목적으로 개발한 필요가 생겼고, 이를 위해 개발되어진 것이 Nokia Qt 입니다.
Mobile 장비를 위한 Component들이 강화된 것이 특징입니다.
Meego, Maemo, Symbian등의 OS에 많이 Test되어 있고, Optimize 되어 있습니다.
장점
위의 Qt Application이 능숙하신 분이라면, 쉽게 Meego나 Maemo, Symbian같은 Mobile 장비 Application을 개발 할 수 있습니다.
단점
위의 Generic Qt Component와 100% 완벽하게 동일하지는 않습니다.
Version (2010년 7월 현재)
Stable Version은 1.0이고 Develop Version은 1.1이 출시되어 있습니다. - Qtopia ( Qt extended, qpe )
한때 Qt extended 라고 불렸던 Qtopia는 이름과 다르게 전혀 extended 하지 않습니다.
현재로서는 Nokia에서 Qtopia에 대한 지원은 공식적으로 전혀 하지 않습니다.
( 몇몇 기존에 지원계약을 맺은 아주 큰 모회사등에서는 현재 까지도 지원을 받고 있습니다.)
성능이 낮은 Chip 이거나 일반적이지 않은 비 Standard interface를 가진 Chip에서 Embedded 용 Toolkit으로 사용되고 있습니다.
Version : Qt Extended 4.4 가 마지막 버전인데, 추천드리지 않습니다.
댓글 없음:
댓글 쓰기