QML

Декларативна мова програмування

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

QML
Парадигма мульти-парадигмова: декларативна, реактивна, скриптова
Дата появи 2009
Розробник Qt Project
Останній реліз 5.1.0[1] (3 липня 2013; 10 років тому (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. [[https://web.archive.org/web/20110301113457/http://developer.qt.nokia.com/wiki/GettingStartedQMLRussian Архівовано 1 березня 2011 у Wayback Machine.] GettingStartedQMLRussian | Qt Wiki | Qt Developer Network
  4. Qt 4.7: QML Elements. Doc.qt.nokia.com. Архів оригіналу за 11 серпня 2012. Процитовано 22 вересня 2010.

Посилання ред.