Qt는 GUI 프로그램 개발에 널리 쓰이는 크로스 플랫폼 프레임워크다.
Embedded Linux, Mac OS X, Windows, Linux, Android, QNX, MeeGo, WebOS, Symbian 등 다양한 플랫폼을 지원한다. 플랫폼에 종속적인 부분만 제외하면 소스코드 변경 없이 그대로 사용 할 수 있다.
서버용 콘솔과 명령 줄 도구와 같은 비 GUI 프로그램 개발에도 사용된다. 그래픽 사용자 인터페이스를 사용하는 경우에는 Qt를 위젯 툴킷으로 분류한다. Qt를 "cute"로 발음하고 있으며 비공식적으로는 "큐티"로 발음한다. Qt는 KDE, Qtopia, OPIE에 이용되고 있다,
Qt는 C++를 주로 사용하지만, 파이썬, 루비, C, 펄, 파스칼과도 연동된다. 수많은 플랫폼에서 동작하며, 상당히 좋은 국제화를 지원한다. SQL 데이터베이스 접근, XML 처리, 스레드 관리, 단일 크로스 플랫폼 파일 관리 API를 제공한다.
QML은 2010년 말에 출시된 QT4.7에 포함된 QtQuick에서 새롭게 소개되었다.
QtQuick은 'Qt Quick User Interface Creation Kit’ 의 약자로 Qt가 새롭게 소개하는 고급 UI 기술 프레임워크다.
이전에는 UI가 정적이고 정형화되어있었지만 요즘에는 큰화면과 터치스크린을 지원하는 디바이스들이 늘면서 UI에 대한 사용자들의 눈높이가 높아졌다. 이런 요구들을 만족시키기 위해 QtQuick 프레임워크가 태어난 것이다.
QtQuick은 에디터, 컴파일, 디버깅 툴인 Qt CreatorIDE, 동적인 사용자 정의형 UI를 생성할 수 있는 엔진과 C++을 사용하여 QML 어플리케이션을 확장할 수 있는 QtDeclarative 모듈, QML (Qt Meta-Object / ㅡMarkup Language) 로 구성되어 있다.
QtQuick을 사용하면 modern-looking한 UI를 전보다 쉽고 빠르게 설계 및 개발이 가능하다.
QML은 declarative 언어이며 인터프리터 언어로 JavaScrip가 확장된 스타일의 문법 구조를 가지고 있고 JavaScript와 같은 절차 언어를 해석하는 Declaative 모듈이 있다.
Declarative 모듈은 QML로 작성한 코드를 실행할 수 있는 어플리케이션으로 변환하는 작업을 한다. QML 내에서 C++ API를 사용할 수 있다;
QML은 마치 Class 처럼 객체를 나타내는 QML Object Type과 객체의 동작을 기술하는 Jaascript function, 속성인 property로 이루어 져있다.
QML은 HTML과 비슷한 마크업 언어이다.
UI를 프론트 엔드라고 하면 core 부분을 백엔드라 한다. 이를 통해 응용 프로그램의 UI 작업과 로직부부분을 분리할 수 있다.
QT 플랫폼을 사용하여 프로젝트를 진행한다면 프론트 엔드는 QML/JavaScript로 개발하여 시스템과 인터페이스 하고 백엔드 코드는 C++을 사용하여 개발할 수 있다.
'karma( 업 ) > QT&QML 시작하기' 카테고리의 다른 글
QT QML 시작하기 6 - Hello World (1) | 2016.12.05 |
---|---|
QT QML 시작하기 5- QML의 장점 (2) | 2016.12.05 |
QT QML 시작하기 4 - 무엇에 쓰는 물건인고? Cluster? IVI? (0) | 2016.12.05 |
QT QML 시작하기 3 - 왜 갑자기 QT QML인가? (0) | 2016.12.05 |
QT QML 시작하기 1 - 니 아부지 뭐하시노? (0) | 2016.10.23 |