Мы с Vass записали и выложили четвертую серию подкаста «Заметки о Qt».
Сам подкаст на rpod.ru — qt-notes.rpod.ru/275603.html
Читать полностью »
Метка «QML» - 4
Подкаст «Заметки о Qt» s01e04
2012-05-15 в 11:01, admin, рубрики: c++, KDAB, nokia, phonon, QML, qt, qt components, qt quick, Qt Software, qt webkit, qt5, QtCreator, Raspberry Pi, подкасты, Программирование, метки: c++, KDAB, nokia, phonon, QML, Qt, qt components, qt quick, qt webkit, qt5, qtcreator, Raspberry PiПримерно год назад я всерьез задумался над недавно пошумевшими на хабре темами про ненависть к html. Действительно, html — это просто средство разметки текста, его нельзя применять для построения UI, который на 90% состоит из layout'ов. Вернее можно, но получается ад. Кроме всего прочего, случай с html — это когда данные смешиваются с представлением. Не получится скачать отдельно html, а отдельно данные. Возникает идея парсеров.
И даже если в тысяче и одном шаблонизаторе это разделение явно, то оно перестает таковым быть на выходе. Кто-нибудь задумывался, а почему сервер занимается генерацией представления, которое нужно юзеру, но не нужно серверу? Вдобавок появляется проблема проверки данных, отображаемых для всех юзеров: эти xss и прочее. Не закрыл теги — убил сайт, который еще и упал на юзеров.
На мой взгляд, единственная задача html — это отображать br,strong,a, ну и так далее. Нет никакой необходимости пытаться верстать блочно, потому что блочная верстка — это попытка средставми html сделать layout. И вся эта идея иерархичности блочного контента рассыпается в пыль, когда child вылезает за пределы parent'a. Кому в голову вообще пришла такая издевательская над инкапусяцией идея, почему это вообще ВОЗМОЖНО? WYSIWYG с точки зрения кода какой-то странный получается — видишь один код, а отображаться он может как и где угодно. Зачем нужна эта двусмысленность?
И не получится сделать сложный блочный ui без костылей вида -999px и т.д. Кстати, почему до сих пор нет нативной поддержки layout'ов? Уже на языке низкого уровня быстрее описать интерфейс, чем на вебе. И заметьте: каждый дизайнер изголяется над созданием/стайлингом/размещением контролов, которые уже ДАВНО есть в ЛЮБОЙ ОС. Так зачем столько телодвижений для создания такого же, но другого? Чтобы что? Кстати, а для чего каждый сайт должен иметь уникальный дизайн? Разве это чем-то вынуждено? Почему desktop ui с одинаковыми контролами не приедается, а шибко пестрые-нестандартные интерфейсы на десктопе считаются моветоном? Ну да, можно написать еще штук 20 шаблонизаторов, позволяющих абстрагироваться от печальных реалий. А дизайнеры пускай сами своими -99999px гвоздями прибивают ui к html.
В комментариях предлагали запилить QML в браузеры. Это, имхо, очень интересный подход. Кстати, никто ведь не мешает генерить qml теми же методами, что и html.
QML Live Preview — мечта UI-дизайнеров
2012-05-04 в 8:57, admin, рубрики: Harmattan, nokia, QML, qt, Qt Software, метки: Harmattan, nokia, QML, Qt Немногие знают, что в последних версиях QtCreator'а есть поддержка QML Live Preview — возможности править код и сразу же видеть изменения на уже запущенной программе, причем как на десктопе/эмуляторе, так и на реальном устройстве.
Дико удобная вещь, позволяет экономить тонну времени на этапе разработки/правки UI.
Всё это, вместе с другими плюшками для дебаггинга QML работает из коробки на версиях QtCreator > 2.3. Для Qt версии 4.8 отладка QML включена по-умолчанию, для 4.7 необходимы легкие телодвижения в виде нажатия на одну кнопочку.
Небольшая демонстрация того, как это работает на примере Nokia N950:
Под катом ещё одно симпатичное видео.
Читать полностью »
Вебинары по QML и QtQuick: Списки. Модели и представления
2012-05-04 в 7:19, admin, рубрики: nokia, QML, qml_training, qt, qt quick, Qt Software, Блог компании Nokia, метки: nokia, QML, qml_training, Qt, qt quickТема сегодняшнего эпизода серии вебинаров по QML и Qt Quick — «Списки. Модели и представления».
На этот раз автор вебинара Кирилл Кринкин рассказывает про концепцию Model-View-Controller и посвящает практически весь вебинар работе с моделями и представлениями. Посмотрев видео, вы узнаете, для чего используются статические и динамические модели и как они устроены в Qt Quick, как использовать делегаты, чтобы отображать элементы модели данных в элементах списка или других визуальных контейнерах.
Подкаст «Заметки о Qt» s01e03
2012-05-01 в 12:18, admin, рубрики: c++, Digia, KDAB, playbook, QML, QNX, qt, qt components, qt quick, Qt Software, qt5, QtCreator, подкасты, Программирование, метки: c++, Digia, KDAB, playbook, QML, QNX, Qt, qt components, qt quick, qt5, qtcreator Мы с Vass записали и выложили третью серию подкаста «Заметки о Qt».
На этот раз у нас в гостях Gorthauer87
Сам подкаст на rpod.ru — qt-notes.rpod.ru/274520.html
Читать полностью »
Вебинары по QML и QtQuick: взаимодействие с пользователем
2012-04-28 в 7:27, admin, рубрики: nokia, QML, qml_training, qt, qt quick, Qt Software, Блог компании Nokia, метки: nokia, QML, qml_training, Qt, qt quickОчередной эпизод серии вебинаров по QML и QtQuick посвящен обработке событий мыши и клавиатуры.
Первая часть вебинара отводится рассказу про невизуальный элемент MouseArea, определяющий участки экрана, в которых события мыши приводят к вызову обработчиков. Ведущий Кирилл Кринкин показывает два способа обработки событий мыши — с помощью связывания свойств (property binding) и с помощью обработчиков сигналов (signal handlers), а также объясняет разницу между этими способами.
Во второй части видео рассказывается про два типа ввода с клавиатуры: текстовый (когда часть специальных клавиш обрабатываются в runtime и события которых до обработчиков не доходят) и «сырой» (когда все клавиши вызывают обработчики). После вводной следует объёмная практическая часть.
Подкаст «Заметки о Qt» s01e02
2012-04-21 в 21:21, admin, рубрики: c++, cordova, QML, qt, qt components, qt quick, Qt Software, qt5, Raspberry Pi, подкасты, Программирование, статистика, метки: c++, cordova, QML, Qt, qt components, qt quick, qt5, Raspberry Pi, подкасты, статистика Мы с Vass записали и выложили вторую серию подкаста «Заметки о Qt».
Сам подкаст на rpod.ru — qt-notes.rpod.ru/273862.html
Читать полностью »
Вебинары по QML и QtQuick: создание интерфейса пользователя
2012-04-20 в 7:07, admin, рубрики: nokia, QML, qt, Qt Software, QtQuick, Блог компании Nokia, метки: nokia, QML, Qt, QtQuickДанный эпизод серии вебинаров по QML и QtQuick посвящен базовым средствам по созданию пользовательских интерфейсов.
Кирилл Кринкин, руководитель лаборатории FRUCT Open Source & Linux Lab, расскажет про основные типы графических элементов. Посмотрев видео, вы узнаете, как с помощью QML можно работать с цветами, градиентами, графическими файлами и текстовыми элементами — возможности каждого элемента сперва описываются короткой теоретической частью, после чего демонстрируются на практике.
В вебинаре речь также пойдёт об организации элементов на форме. На приведенных примерах будет продемонстрирована работа с якорями (anchors) и отступами (margins) для позиционирования и выравнивания элементов. В теоретической части будут описаны возможности и правила (ограничения) при использовании якорей и отступов.
Вебинары по QML и QtQuick: часть первая, вступительная
2012-04-06 в 9:23, admin, рубрики: nokia, QML, qt creator, qt quick, Qt Software, QtQuick, Блог компании Nokia, метки: nokia, QML, qt creator, qt quick, QtQuickПривет!
Мы представляем новую серию обучающих постов о QML и QtQuick. На сей раз мы покажем скрикасты с очередных Qt-семинаров Кирилла Кринкина, посвящённых разработке на QtQuick.
Из вступительного вебинара вы узнаете про набор технологий QtQuick. Разумеется, в ролике попутно будет рассказано, что из себя представляет декларативный язык разметки QML, какие у него назначения и особенности, каков его синтаксис.
После всего этого будет описана архитектура приложений на QML и разобрано как написание простейшего «Hello, World!», так и более сложных примеров, иллюстрирующих:
- как создавать проекты в Qt Creator;
- что такое связывание свойств и зачем оно используется в языке (кстати, про связывание свойств у нас есть отдельная статья);
- как использовать мышь.
Началось тестирование Qt 5 Alpha
2012-04-05 в 7:44, admin, рубрики: nokia, QML, qt, Qt 5, Qt Project, qt quick, Qt Software, qt5, Блог компании Nokia, метки: nokia, QML, Qt, Qt 5, Qt Project, qt quick, qt5Мы рады сообщить о выпуске альфа-версии Qt 5 — первого значительного релиза Qt с момента запуска сообщества Qt Project. Команда разработчиков Nokia благодарит всех энтузиастов этого комьюнити, принимающих непосредственное участие в создании Qt 5 Alpha, ведь многие возможности Qt 5 стали доступны именно благодаря их сплоченной работе. Нам очень приятно, что Qt Project стал местом, где люди объединяются, чтобы совместными усилиями развивать любимый фреймворк.
Основной целью альфа-версии Qt 5 является получение фидбека от разработчиков, который поможет улучшить все последующие релизы. В альфа-релизе Qt 5 акцент ставился на предоставлении основных модулей Qt Essentials, формирующих базовый функционал Qt 5. Это кросс-платформенные модули, достаточные для создания большинства приложений.
В виде бинарного пакета Qt 5 Alpha распространяться не будет, но для самостоятельной компиляции доступны исходные файлы. Разумеется, доступна и инструкция по компиляции.
Разработка Qt 5 началась примерно 9 месяцев назад, преследуя несколько основных целей, описанных в мае прошлого года директором по развитию Qt в Nokia Ларсом Ноллом. Ниже будет список этих целей и того, что уже было достигнуто.
Читать полностью »