- PVSM.RU - https://www.pvsm.ru -

QML Creator: разработка на QML под Android

QML Creator: разработка на QML под Android Представляю вниманию сообщества свой маленький проект QML Creator. Данная программа для Android была написана за две недели (вечерами после работы) и представляет собой Qt Quick 2.1 приложение, основанное на ApplicationWindow [1], с небольшими вкраплениями C++, которое позволяет разрабатывать компоненты QML прямо на мобильном телефоне или планшете (инновация, не имеет аналогов в мире, мной уже заинтересовались ведущие американские компании, скачать бесплатно без смс нескучные обои, а главное — я не беру за неё ни копейки).

На самом деле, эта штука не предназначена для серьёзной разработки. Это фановый проект и предназначен скорее для таких же почитателей Qt, как я сам. Часто бывает так, что хочется показать преимущества QML перед виджетами (да-да, я серьёзно) какому-нибудь знакомому, которых ещё не успел познать прелестей декларативного программирования, а компьютера под рукой нет. Или если вдруг вам нечем заняться в автобусе по дороге домой. Теперь делать это (ну, писать на QML) можно в любом месте!

Я давно вынашивал идею написать нечто такое, тем более, что это не должно было занять много времени (минимальная реализация представляет собой всего лишь вызов Qt.createQmlObject [2]). Вы наверное уже поняли, что никаких .apk оно не собирает. Всего лишь создаёт и исполняет компоненты, которые вы в нём напишете. Но это не умаляет её возможностей! Специально для наиболее скептично настроенных я разработал несколько эффектных демок, которые можно открыть из раздела Examples. Анимации, работа с сетью, [3] Controls [4], Canvas [5], шейдеры [6] — всё это без доступно без ограничений!
Для хранения «проектов» (каждый проект — это один компонент) я приспособил LocalStorage [7]. Написанные проекты можно импортировать на pastebin [8] и использовать в дальнейшем уже на десктопе.

QML Creator: разработка на QML под Android QML Creator: разработка на QML под Android
QML Creator: разработка на QML под Android QML Creator: разработка на QML под Android

Ещё несколько скриншотов

QML Creator: разработка на QML под Android
QML Creator: разработка на QML под Android
QML Creator: разработка на QML под Android QML Creator: разработка на QML под Android

Первый релиз содержит в себе 5 примеров и все возможности Qt Quick 2.1. В ближайшее время я собираюсь доделать подсветку кода (сейчас она, вообще говоря, никакая) и встроить скины для редактора. Конечно, появятся ещё и новые примеры. И обновление на Qt 5.2 :)

Насчёт вкраплений C++ — это подсветка синтаксиса (QSyntaxHighlighter [9]) и обработка ошибок (ErrorHandler в виде модуля, который перенаправляет сигналы &QQmlApplicationEngine::warnings в QML).

Тестировалось приложение исключительно на Nexus 4 (CyanogenMod 10.1.3), других устройств с Android под рукой нет. По идее, оно должно работать на любой версии, начиная с 2.3.3 (API v10), но я, почему-то, не уверен. Хотя попробуйте, вдруг это на самом деле так (а то вдруг окажется, что кроме нексусов оно ни на чём не работает — кто знает :)

play.google.com/store/apps/details?id=com.wearyinside.qmlcreator [10]

Жду отзывов, надеюсь, вам понравится.

Автор: epicfailguy93

Источник [11]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/android/47396

Ссылки в тексте:

[1] ApplicationWindow: http://qt-project.org/doc/qt-5.1/qtquickcontrols/qml-qtquick-controls1-applicationwindow.html

[2] Qt.createQmlObject: http://qt-project.org/wiki/QML-Dynamic-Objects

[3] работа с сетью,: http://habrahabr.ru/post/176665/

[4] Controls: http://qt-project.org/doc/qt-5.1/qtquickcontrols/qmlmodule-qtquick-controls1-qtquick-controls-1-0.html

[5] Canvas: http://habrahabr.ru/post/178151/

[6] шейдеры: http://habrahabr.ru/post/166813/

[7] LocalStorage: http://qt-project.org/doc/qt-5.1/qtquick/qmlmodule-qtquick-localstorage2-qtquick-localstorage-2.html

[8] pastebin: http://pastebin.com/

[9] QSyntaxHighlighter: http://qt-project.org/doc/qt-5.1/qtgui/qsyntaxhighlighter.html

[10] play.google.com/store/apps/details?id=com.wearyinside.qmlcreator: https://play.google.com/store/apps/details?id=com.wearyinside.qmlcreator

[11] Источник: http://habrahabr.ru/post/172635/