2010년 2월 1일 월요일

QT:Cross-platform application and UI framework

"Code less. Create more. Deploy everywhere."


QT is a Cross-platform application and UI framework.

Using Qt, you can write web-enabled applications once and deploy them across desktop, mobile and embedded operating systems without rewriting the source code.


1. What is QT?

   - QT는 push button, menu, dialog와 같은 graphic object와

     이것들을 구현하기 위해 필요한 함수들의 Library이다.

   - graphic 객체들은 Widget이라고도 불리며 이 widget에 대응하는 함수들을 합한 것을 Toolkit이라 함.

   - "Code less. Create more. Deploy everywhere."

   - 노르웨이의 Trolltech에서 1996년 발표했음.

   - 현재는 Nokia가 인수하여 운영중(http://qt.nokia.com)    

   - 완전한 객체지향을 구현하였음.(확장이 용이하고 real component programming이 가능함).

   - Linux desktop의 기본 Library로 구성되어 있음(KDE의 기본 Library)

   - 풍부한 양의 위젯 및 사용하기 쉽고 화려한 인터페이스를 제공함.

   - 'Qt allows you to write advanced applications and UIs once,

              and deploy them across desktop and embedded operating systems

                       without rewriting the source code - saving time and development cost.'

 

2. Available platform

   - 다양한 platform을 지원

   - 포팅이 자유로움.

     단순히 해당 platform에서 재컴파일 하는 것으로 Unix/Mac/Win 환경에서 실행가능.

     ("Write Once, Compile Anywhere")

   - Embedded Linux, Mac OS X, Windows, Linux/X11, Windows CE/Mobile, Symbian, Maemo를 지원.

 

3. MFC vs QT

   - MFC는 윈도우 운영체제의 그래픽 툴킷(Graphical Toolkit)이다.

   - Win32API는 C와 C++을 혼합해서 쓰고 있는 조금 약한 의미의 객체지향(Object oriented)이다.

   - 반면 QT는 완전 객체 지향적이다.

 

4. Tool

   - QT v4.6 이 현재 최신 버전임.(http://qt.nokia.com)

   - LGPL version: window visual studio는 지원하지 않음.

   - Commercial version: 30일 평가판.


5. Comment

   - Linux용 GUI programming tool이라고 막연히 알고 있었으나, multi-platform용 개발툴임.

   - 한마디로 일종의 MFC같은 것인데, 훨씬 잘 짜여진(보다 객체지향적인),

     multi-platform용 개발툴이라고 이해됨.

   - QT 홈페이지에서 표방하고 있는 문구는 확실히 개발자들에게 매력적으로 어필할 것 같다.

     (Write code once to target multiple platform)

   - 한번 작성한 코드가 윈도우, 리눅스, 윈모바일등 platform을 가리지 않고 적용 가능하며,

     MFC보다 훨씬 모듈화 구성이 잘 되게 할 수 있으므로 팀내에서 응용할 수 있는

     적절한 target을 찾아 적용한다면 다시말해, 세가지 part에 공통 분모로 작용할만한 툴이

     무엇이 있을지 고민하고 이를 개발한다면 꽤 의미 있는 작업이 될 것 같다.

 

 

아래는 참고 site  


-Programming School,

  http://php.chol.com/~valentis/Suhdang/QT_Programming/Lecture_1.html

-MFC vs. QT in detail

  http://phil.freehackers.org/kde/qt-vs-mfc.html

-QT/S60 베타로 프로그램 짜보기

  http://blog.peremen.name/?page=9#entry266Comment

 


[footnote]deploy: 효율적으로 사용하다.[/footnote]


댓글 없음:

댓글 쓰기