- PVSM.RU - https://www.pvsm.ru -
Представляю вниманию сообщества свой маленький проект 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] и использовать в дальнейшем уже на десктопе.
Первый релиз содержит в себе 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/
Нажмите здесь для печати.