SlideShare a Scribd company logo
Qt для разработки кроссплатформенных мобильных приложений.  Порт Qt на Android Сергей Галин, 2ГИС
Android 2.x Symbian S60 / ^3 Windows  Mobile 5 / 6 2ГИС
1. Что такое Qt 2. Операционные системы 3. Порт на Android 4. Выводы План
Что такое Qt? "Write once, compile and run anywhere" , или "Code less, create more and deploy everywhere"  Trolltech (c 1991), Nokia (c 2008)
C++ фреймворк Переносимость языка Производительность Существующий код
Qt - лучше, чем C++! Свой препроцессор (Meta Object Compiler) Сигналы и слоты Свойства (properties) Рефлексия
Стандартная библиотека Строки Контейнеры Многопоточность Локализация Умные указатели: shared, weak, intrusive shared, guarded, scoped; "delete later"
"Почти всеобъемлющий" QtMobility Third-party модули
Не-кроссплатформенное? Уникальные особенности платформ. Различия стандартов поведения. Используем условную компиляцию:   #ifdef Q_OS_ANDROID...
Средства разработки qmake SOURCES = main.cpp mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.ui android {   CONFIG += dll   TARGET = ../libs/armeabi/qtandroidkeyboarddemo }
Средства разработки (2) Qt Creator Eclipse Visual Studio GUI Builder Linguist
Открытый код Твики сборки Фиксы Портирование
 
Операционные системы Все десктопные Windows, Mac OS X, Linux, BSD и др. *nix Встраиваемые Embedded Linux, PDA, INTEGRITY Мобильные Windows CE/Mobile, Symbian S60 & ^3, Maemo/MeeGo Внешние порты:  OpenSolaris, Haiku, OS/2, Amiga OS4, Amazon Kindle DX
QPA (Lighthouse) "A Qt for Embedded Linux without QWS"
Новые платформы Android iOS webOS
Windows Phone 7
 
Покрытие аудитории и защита инвестиций ОС: Уходящие Маргинальные Ведущие Будущие
Порт Qt на Android Под Андроидом: Разработка на Java API в Java Ограничения NDK и Bionic
Android Lighthouse (Licentia)
Grym Android Lighthouse
Вывод на экран
Отличия нашего порта Приоритет на выпуск Самостоятельность Стабильность Временные решения Клавиатура QtAndroidCore NDK4 и NDK5 Keepalive service http://qt.gitorious.org/+grym/qt/grym-android-lighthouse
Necessitas.  Интеграция с QtCreator
Ministro Установщик общих ран-таймов Qt для Android
Ministro (2)
Недостатки Ministro Юзабилити. Market и интернет на устройстве. Не даёт выгоду по объёму.  Не кастомизированный Qt. Не переносится на SD. Почти бесполезен для 2.3+. Нет организации.
Что не реализовано Многооконность Редактирование текстов OpenGL Phonon QtMobility Стиль UI
Направления развития Интеграция с Necessitas Многооконность QtMobility OpenGL Phonon
Хотите приступать? Linux ADK NDK QtCreator Реальные устройства
Отладка GDB - Android 2.3 + NDK5 Кросс-компиляция Журнал Инструментальные функции GCC http://gitorious.org/android-instrument-function-debug
Выводы
Две ложки дёгтя 1. Размер кода 2. Не-нативность UI
"Против" Qt Приложения, специфичные для платформы Маленькие приложения
"За" Qt Лёгкость разработки Охват большого количества платформ Оправдан большой размер приложения База C++ кода Кастомный UI
 
Вопросы? Сергей Галин, 2ГИС E-mail, Jabber: sergey.galin@gmail.com Skype: sergey.galin http://sergeygalin.moikrug.ru

More Related Content

PPT
Илья Ковалевский "Что такое Qt и что с ним можно сделать"
PDF
Разработка декстопных приложений для linux (Владимир Яковлев)
PDF
Елена Жукова "Native JavaScript на мобильных устройствах"
ODP
История развития сред разработки в ОС семейства Linux
PDF
Школы и сады москвы
PPTX
Разработка в Vs2015
PPTX
Применение кроссплатформенных инструментов Qt для десктопных, мобильных и вст...
PDF
crossplatform report generation via Qt and openoffice
Илья Ковалевский "Что такое Qt и что с ним можно сделать"
Разработка декстопных приложений для linux (Владимир Яковлев)
Елена Жукова "Native JavaScript на мобильных устройствах"
История развития сред разработки в ОС семейства Linux
Школы и сады москвы
Разработка в Vs2015
Применение кроссплатформенных инструментов Qt для десктопных, мобильных и вст...
crossplatform report generation via Qt and openoffice

Similar to CodeFest 2011. Галин С. — Qt для разработки кроссплатформенных мобильных приложений. Порт Qt на Android (8)

PDF
01 - Android 6. Android
PPTX
Gradle. Новый уровень автоматизации для Android
PPTX
Gradle. Новый уровень автоматизации для Android
PDF
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
PDF
Сергей Комлач "Итоги Google I/O: что нас ждет"
PPT
Внесок HTC в Розвиток Android
PPTX
Presentation_1369673408946
PPTX
Presentation_1369673299240
01 - Android 6. Android
Gradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для Android
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Сергей Комлач "Итоги Google I/O: что нас ждет"
Внесок HTC в Розвиток Android
Presentation_1369673408946
Presentation_1369673299240
Ad

More from CodeFest (20)

PDF
Alexander Graebe
PDF
Никита Прокопов
PPTX
Денис Баталов
PDF
Елена Гальцина
PDF
Александр Калашников
PDF
Ирина Иванова
PDF
Marko Berković
PDF
Денис Кортунов
PDF
Александр Зимин
PDF
Сергей Крапивенский
PDF
Сергей Игнатов
PDF
Николай Крапивный
PDF
Alexander Graebe
PDF
Вадим Смирнов
PDF
Константин Осипов
PDF
Raffaele Rialdi
PDF
Максим Пугачев
PDF
Rene Groeschke
PDF
Иван Бондаренко
PDF
Mete Atamel
Alexander Graebe
Никита Прокопов
Денис Баталов
Елена Гальцина
Александр Калашников
Ирина Иванова
Marko Berković
Денис Кортунов
Александр Зимин
Сергей Крапивенский
Сергей Игнатов
Николай Крапивный
Alexander Graebe
Вадим Смирнов
Константин Осипов
Raffaele Rialdi
Максим Пугачев
Rene Groeschke
Иван Бондаренко
Mete Atamel
Ad

CodeFest 2011. Галин С. — Qt для разработки кроссплатформенных мобильных приложений. Порт Qt на Android

Editor's Notes

  • #13: Разработка на Gitorious.org. http://qt.gitorious.org/qt http://qt.gitorious.org/+qt-developers/qt/lighthouse http://qt.gitorious.org/~taipan/qt/android-lighthouse http://qt.gitorious.org/+grym/qt/grym-android-lighthouse http://gitorious.org/+grym/qt/grym-qt (Windows Mobile)
  • #14: Разработка на Gitorious.org. http://qt.gitorious.org/qt http://qt.gitorious.org/+qt-developers/qt/lighthouse http://qt.gitorious.org/~taipan/qt/android-lighthouse http://qt.gitorious.org/+grym/qt/grym-android-lighthouse http://gitorious.org/+grym/qt/grym-qt (Windows Mobile)
  • #17: По iOS: http://habrahabr.ru/blogs/qt_software/115341/ src/plugins/platforms/uikit в Lighthouse Ветка iOS в grym-android-lighthouse
  • #19: Разработка на Gitorious.org. http://qt.gitorious.org/qt http://qt.gitorious.org/+qt-developers/qt/lighthouse http://qt.gitorious.org/~taipan/qt/android-lighthouse http://qt.gitorious.org/+grym/qt/grym-android-lighthouse http://gitorious.org/+grym/qt/grym-qt (Windows Mobile)
  • #22: http://qt.gitorious.org/~taipan/qt/android-lighthouse http://sourceforge.net/p/necessitas/home/
  • #23: http://qt.gitorious.org/+grym/qt/grym-android-lighthouse
  • #32: Вопросы? Пишите мне или в рассылку: http://groups.google.com/group/android-qt