SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
Qt Quick
                                               возможности
                               для дизайнера и разработчика



Александр Труфанов
Senior Technical Consultant
Forum Nokia

alexander.trufanov@nokia.com                            декабрь, 2010
© 2010 Nokia




Что такое Qt?
• Qt (”кьют”) кроссплатформенный C++ фреймворк для разработки
  приложений
   –   Набор кроссплатформенных API и кроссплатформенный GUI фреймворк
   –   Библиотека C++ классов
   –   Средства разработки
• Qt изначально проэктировался как эффективное средство разработки
  GUI приложений для десктопных платформ
• Разработан норвежской компанией Trolltech, ставшей частью Nokia в
  2008
• Последняя версия 4.7
© 2010 Nokia




Архитектура Qt
•   Qt имитирует родной стиль при отрисовке UI
     –   Элементы UI передают оригинальный
         look & feel
     –   Может быть адоптирован разработчиком
•   Построе на низкоуровневых API платформы
     –   Не runtime!
•   Кроссплатформенный
     –   Один код для всех платформ
     –   Требуется лишь перекомпиляция
© 2010 Nokia




Qt 4.7
         • Qt 4.7: уже доступен!
             – Включает в себя Qt Quick
             – Интегрирует части Qt Mobility
             – Сфокусирован на производительности
         • http://qt.nokia.com/developer/qt-roadmap
© 2010 Nokia




Qt Quick (Qt User Interface Creation Kit)
• Создавайте UI как дизайнер
   – Без знания C++
   – Исользуя язык QML
     (расширение над JavaScript)
   – При помощи визуальных
     инструментов
   – Модуль: Declarative UI
   – Поддержка SVG, XHR, HTML5
     Web DB
© 2010 Nokia




QML
• UI описывается структурой элементов
   – Значения свойств пересчитываются динамически
   – Связь посредством
                                         Rectangle{
     сигналов и слотов                   width: 200
   – Взаимодействие с C++ кодом возможно height: 200
                                         color: "white"
   – Aнимирование свойст при помощи      Image {
                                         source: "pics/logo.png"
     состояний и переходов               anchors.centerIn: parent
                                           }
                                         }
© 2010 Nokia




QML – мета-объектный язык Qt
© 2010 Nokia




Использование Qt Declarative и QML
• Запуск qml при помощи qmlviewer


• Либо встраивание в Qt приложение:
© 2010 Nokia




Интеграция с существующим UI
• UI на основе QWidget




• UI на основе QGraphicsView:
© 2010 Nokia




Интеграция с С++ кодом
•   Возможность создания C++ плагинов для qml
•   Взаимодействие при помощи контекстных свойств и объектов:




•   Сигналы при изменении свойств контекстных объектов.
•   Вызов public слотов и Q_INVOKABLE методов объектов из QML.
•   Прямой вызов javascript функций
© 2010 Nokia




Qt Quick Components




 http://gitorious.org/qt-components

Más contenido relacionado

Más de Elena Kotina

Android: Как написать приложение, которое не тормозит
Android: Как  написать приложение, которое не тормозитAndroid: Как  написать приложение, которое не тормозит
Android: Как написать приложение, которое не тормозитElena Kotina
 
PJSIP – VOIP движок, как база проекта
PJSIP – VOIP движок, как база проектаPJSIP – VOIP движок, как база проекта
PJSIP – VOIP движок, как база проектаElena Kotina
 
Мобильные платформы и изменение пользовательского опыта
Мобильные платформы и изменение пользовательского опытаМобильные платформы и изменение пользовательского опыта
Мобильные платформы и изменение пользовательского опытаElena Kotina
 
Pay-Mobile API: платежи банковскими картами в мобильном
Pay-Mobile API: платежи банковскими картами в мобильномPay-Mobile API: платежи банковскими картами в мобильном
Pay-Mobile API: платежи банковскими картами в мобильномElena Kotina
 
Платформа "Агент+ 2.0" - возможности для быстрой разработки мобильных бизнес...
Платформа  "Агент+ 2.0" - возможности для быстрой разработки мобильных бизнес...Платформа  "Агент+ 2.0" - возможности для быстрой разработки мобильных бизнес...
Платформа "Агент+ 2.0" - возможности для быстрой разработки мобильных бизнес...Elena Kotina
 
Продвижение мобильных приложений в мобильном интернете
Продвижение мобильных приложений в мобильном интернетеПродвижение мобильных приложений в мобильном интернете
Продвижение мобильных приложений в мобильном интернетеElena Kotina
 
Рынок мобильных приложений: альтернативные методы монетизации
Рынок мобильных приложений: альтернативные методы монетизацииРынок мобильных приложений: альтернативные методы монетизации
Рынок мобильных приложений: альтернативные методы монетизацииElena Kotina
 
Мобильный интернет – кто здесь?!
Мобильный интернет – кто здесь?!Мобильный интернет – кто здесь?!
Мобильный интернет – кто здесь?!Elena Kotina
 
Практический кейс: "Назначение нового менеджера в команду"
Практический кейс: "Назначение нового менеджера в команду"Практический кейс: "Назначение нового менеджера в команду"
Практический кейс: "Назначение нового менеджера в команду"Elena Kotina
 
Nokia для разработчиков
Nokia для разработчиковNokia для разработчиков
Nokia для разработчиковElena Kotina
 
MeeGo, AppUp & Atom – планы и перспективы
MeeGo, AppUp & Atom – планы и перспективыMeeGo, AppUp & Atom – планы и перспективы
MeeGo, AppUp & Atom – планы и перспективыElena Kotina
 
А теперь мы идем к вам! Реклама в мобильных приложениях
А теперь мы идем к вам! Реклама в мобильных приложенияхА теперь мы идем к вам! Реклама в мобильных приложениях
А теперь мы идем к вам! Реклама в мобильных приложенияхElena Kotina
 
mail.ru: Технологические инновации и лучшие люди
mail.ru: Технологические инновации и лучшие людиmail.ru: Технологические инновации и лучшие люди
mail.ru: Технологические инновации и лучшие людиElena Kotina
 
Разработка кроссплатформенного приложения с использованием Airplay SDK
Разработка кроссплатформенного приложения с использованием Airplay SDKРазработка кроссплатформенного приложения с использованием Airplay SDK
Разработка кроссплатформенного приложения с использованием Airplay SDKElena Kotina
 
Пробки DorogaTV для мобильных приложений. Как встроить пробки в Ваше мобильно...
Пробки DorogaTV для мобильных приложений. Как встроить пробки в Ваше мобильно...Пробки DorogaTV для мобильных приложений. Как встроить пробки в Ваше мобильно...
Пробки DorogaTV для мобильных приложений. Как встроить пробки в Ваше мобильно...Elena Kotina
 
Мобильный маркетинг и реклама как интегратор медиамикса
Мобильный маркетинг и реклама как интегратор медиамиксаМобильный маркетинг и реклама как интегратор медиамикса
Мобильный маркетинг и реклама как интегратор медиамиксаElena Kotina
 
Мобильные приложения и корпоративные сайты. Технологии взаимодействия
Мобильные приложения и корпоративные сайты. Технологии взаимодействияМобильные приложения и корпоративные сайты. Технологии взаимодействия
Мобильные приложения и корпоративные сайты. Технологии взаимодействияElena Kotina
 
Использование геосерсисов для монетизации мобильных приложений
Использование геосерсисов для монетизации мобильных приложенийИспользование геосерсисов для монетизации мобильных приложений
Использование геосерсисов для монетизации мобильных приложенийElena Kotina
 
Новые возможности информационных агентств и СМИ на примере iPhone, iPad и дру...
Новые возможности информационных агентств и СМИ на примере iPhone, iPad и дру...Новые возможности информационных агентств и СМИ на примере iPhone, iPad и дру...
Новые возможности информационных агентств и СМИ на примере iPhone, iPad и дру...Elena Kotina
 

Más de Elena Kotina (20)

Android: Как написать приложение, которое не тормозит
Android: Как  написать приложение, которое не тормозитAndroid: Как  написать приложение, которое не тормозит
Android: Как написать приложение, которое не тормозит
 
PJSIP – VOIP движок, как база проекта
PJSIP – VOIP движок, как база проектаPJSIP – VOIP движок, как база проекта
PJSIP – VOIP движок, как база проекта
 
Мобильные платформы и изменение пользовательского опыта
Мобильные платформы и изменение пользовательского опытаМобильные платформы и изменение пользовательского опыта
Мобильные платформы и изменение пользовательского опыта
 
Pay-Mobile API: платежи банковскими картами в мобильном
Pay-Mobile API: платежи банковскими картами в мобильномPay-Mobile API: платежи банковскими картами в мобильном
Pay-Mobile API: платежи банковскими картами в мобильном
 
Платформа "Агент+ 2.0" - возможности для быстрой разработки мобильных бизнес...
Платформа  "Агент+ 2.0" - возможности для быстрой разработки мобильных бизнес...Платформа  "Агент+ 2.0" - возможности для быстрой разработки мобильных бизнес...
Платформа "Агент+ 2.0" - возможности для быстрой разработки мобильных бизнес...
 
Продвижение мобильных приложений в мобильном интернете
Продвижение мобильных приложений в мобильном интернетеПродвижение мобильных приложений в мобильном интернете
Продвижение мобильных приложений в мобильном интернете
 
Рынок мобильных приложений: альтернативные методы монетизации
Рынок мобильных приложений: альтернативные методы монетизацииРынок мобильных приложений: альтернативные методы монетизации
Рынок мобильных приложений: альтернативные методы монетизации
 
Мобильный интернет – кто здесь?!
Мобильный интернет – кто здесь?!Мобильный интернет – кто здесь?!
Мобильный интернет – кто здесь?!
 
Практический кейс: "Назначение нового менеджера в команду"
Практический кейс: "Назначение нового менеджера в команду"Практический кейс: "Назначение нового менеджера в команду"
Практический кейс: "Назначение нового менеджера в команду"
 
Nokia для разработчиков
Nokia для разработчиковNokia для разработчиков
Nokia для разработчиков
 
MeeGo, AppUp & Atom – планы и перспективы
MeeGo, AppUp & Atom – планы и перспективыMeeGo, AppUp & Atom – планы и перспективы
MeeGo, AppUp & Atom – планы и перспективы
 
А теперь мы идем к вам! Реклама в мобильных приложениях
А теперь мы идем к вам! Реклама в мобильных приложенияхА теперь мы идем к вам! Реклама в мобильных приложениях
А теперь мы идем к вам! Реклама в мобильных приложениях
 
mail.ru: Технологические инновации и лучшие люди
mail.ru: Технологические инновации и лучшие людиmail.ru: Технологические инновации и лучшие люди
mail.ru: Технологические инновации и лучшие люди
 
Разработка кроссплатформенного приложения с использованием Airplay SDK
Разработка кроссплатформенного приложения с использованием Airplay SDKРазработка кроссплатформенного приложения с использованием Airplay SDK
Разработка кроссплатформенного приложения с использованием Airplay SDK
 
Пробки DorogaTV для мобильных приложений. Как встроить пробки в Ваше мобильно...
Пробки DorogaTV для мобильных приложений. Как встроить пробки в Ваше мобильно...Пробки DorogaTV для мобильных приложений. Как встроить пробки в Ваше мобильно...
Пробки DorogaTV для мобильных приложений. Как встроить пробки в Ваше мобильно...
 
Мобильный маркетинг и реклама как интегратор медиамикса
Мобильный маркетинг и реклама как интегратор медиамиксаМобильный маркетинг и реклама как интегратор медиамикса
Мобильный маркетинг и реклама как интегратор медиамикса
 
Мобильные приложения и корпоративные сайты. Технологии взаимодействия
Мобильные приложения и корпоративные сайты. Технологии взаимодействияМобильные приложения и корпоративные сайты. Технологии взаимодействия
Мобильные приложения и корпоративные сайты. Технологии взаимодействия
 
Использование геосерсисов для монетизации мобильных приложений
Использование геосерсисов для монетизации мобильных приложенийИспользование геосерсисов для монетизации мобильных приложений
Использование геосерсисов для монетизации мобильных приложений
 
Новые возможности информационных агентств и СМИ на примере iPhone, iPad и дру...
Новые возможности информационных агентств и СМИ на примере iPhone, iPad и дру...Новые возможности информационных агентств и СМИ на примере iPhone, iPad и дру...
Новые возможности информационных агентств и СМИ на примере iPhone, iPad и дру...
 
аллока
аллокааллока
аллока
 

Qt Quick - новые возможности для дизайнера и разработчика

  • 1. Qt Quick возможности для дизайнера и разработчика Александр Труфанов Senior Technical Consultant Forum Nokia alexander.trufanov@nokia.com декабрь, 2010
  • 2. © 2010 Nokia Что такое Qt? • Qt (”кьют”) кроссплатформенный C++ фреймворк для разработки приложений – Набор кроссплатформенных API и кроссплатформенный GUI фреймворк – Библиотека C++ классов – Средства разработки • Qt изначально проэктировался как эффективное средство разработки GUI приложений для десктопных платформ • Разработан норвежской компанией Trolltech, ставшей частью Nokia в 2008 • Последняя версия 4.7
  • 3. © 2010 Nokia Архитектура Qt • Qt имитирует родной стиль при отрисовке UI – Элементы UI передают оригинальный look & feel – Может быть адоптирован разработчиком • Построе на низкоуровневых API платформы – Не runtime! • Кроссплатформенный – Один код для всех платформ – Требуется лишь перекомпиляция
  • 4. © 2010 Nokia Qt 4.7 • Qt 4.7: уже доступен! – Включает в себя Qt Quick – Интегрирует части Qt Mobility – Сфокусирован на производительности • http://qt.nokia.com/developer/qt-roadmap
  • 5. © 2010 Nokia Qt Quick (Qt User Interface Creation Kit) • Создавайте UI как дизайнер – Без знания C++ – Исользуя язык QML (расширение над JavaScript) – При помощи визуальных инструментов – Модуль: Declarative UI – Поддержка SVG, XHR, HTML5 Web DB
  • 6. © 2010 Nokia QML • UI описывается структурой элементов – Значения свойств пересчитываются динамически – Связь посредством Rectangle{ сигналов и слотов width: 200 – Взаимодействие с C++ кодом возможно height: 200 color: "white" – Aнимирование свойст при помощи Image { source: "pics/logo.png" состояний и переходов anchors.centerIn: parent } }
  • 7. © 2010 Nokia QML – мета-объектный язык Qt
  • 8. © 2010 Nokia Использование Qt Declarative и QML • Запуск qml при помощи qmlviewer • Либо встраивание в Qt приложение:
  • 9. © 2010 Nokia Интеграция с существующим UI • UI на основе QWidget • UI на основе QGraphicsView:
  • 10. © 2010 Nokia Интеграция с С++ кодом • Возможность создания C++ плагинов для qml • Взаимодействие при помощи контекстных свойств и объектов: • Сигналы при изменении свойств контекстных объектов. • Вызов public слотов и Q_INVOKABLE методов объектов из QML. • Прямой вызов javascript функций
  • 11. © 2010 Nokia Qt Quick Components http://gitorious.org/qt-components