QML

QML (Qt Meta Language або Qt Modeling Language[2]) — декларативна мова програмування, заснована на JavaScript і призначена для розробки застосунків, які роблять основний наголос на користувацький інтерфейс[3]. Є частиною Qt Quick, середовища розробки користувацьких інтерфейсів, поширюваного разом з Qt. В основному використовується для створення застосунків, орієнтованих на мобільні пристрої з сенсорним управлінням.

QML
Парадигма мульти-парадигмова: декларативна, реактивна, скриптова
Дата появи 2009
Розробник Qt Project
Останній реліз 5.1.0[1] (3 липня 2013 (2013-07-03))
Система типізації динамічна, строга
Під впливом від JavaScript, Qt
Вплинула на Qt
Звичайні розширення файлів .qml
Вебсайт For Developers

QML-документ являє собою дерево елементів. QML елемент[4], так само, як і елемент Qt, являє собою сукупність блоків: графічних (таких, як rectangle, image) і поведінкових (таких, як state, transition, animation). Ці елементи можуть бути об'єднані, щоб побудувати комплексні компоненти, починаючи від простих кнопок і повзунків і закінчуючи повноцінними застосунками, що працюють з інтернетом.

QML елементи можуть бути доповнені стандартними JavaScript-вставками шляхом вбудовування .js файлів. Також вони можуть бути розширені C++ компонентами через Qt framework.

Синтаксис, семантика

Приклад:

import QtQuick 1.0

 Rectangle {
   id: canvas
   width: 200
   height: 200
   color: "blue"

   Image {
     id: logo
     source: "pics/logo.png"
     anchors.centerIn: parent
     x: canvas.height / 5
   }
 }

Об'єкти задаються їхнім типом, зазначеним перед парою фігурних дужок. Типи об'єктів завжди починаються з великої літери. У вищезгаданому прикладі є два об'єкти: Rectangle і Image. Усередині фігурних дужок можна задати інформацію про об'єкт, наприклад, його властивості. Властивості задаються у вигляді <властивість>: <значення>. У цьому прикладі в об'єкта Image є властивість source, якій присвоєно значення «pics/logo.png». Властивість та її значення розділяються двокрапкою.

Інструменти розробки

Оскільки QML і JavaScript дуже схожі, то будь-які середовища розробки, що підтримують JavaScript, можуть бути використані для роботи з QML. Також повна підтримка підсвічування синтаксису, автозавершення коду, вбудована довідкова система доступні у крос-платформовому середовищі розробки Qt Creator 2.1.

Виноски

  1. Digia Releases Qt 5.1. 3 липня 2013. Архів оригіналу за серпень 6, 2013. Процитовано вересень 11, 2013.
  2. Henrik Hartz (Product Manager for Qt Software at Nokia) comment on the name. 24 серпня 2009. Архів оригіналу за 23 липня 2011. Процитовано 14 червня 2011.
  3. [http://developer.qt.nokia.com/wiki/GettingStartedQMLRussian GettingStartedQMLRussian | Qt Wiki | Qt Developer Network
  4. Qt 4.7: QML Elements. Doc.qt.nokia.com. Архів оригіналу за 11 серпня 2012. Процитовано 22 вересня 2010.

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.