Знакомство с Tizen
-
Upload
- -
Category
Technology
-
view
224 -
download
0
description
Transcript of Знакомство с Tizen
#mdmeetup
Знакомство с Tizen
Юрий Агеев, Applifto
Ростов-на-Дону 21 декабря 2013
#mdmeetup���2
#mdmeetup���3
Запутанная история
#mdmeetup���4
Архитектура Tizen
#mdmeetup
WEB
• Web IDE
• UI Builder
• Command Line Interface
• Web Simulator
• Emulator
���5
#mdmeetup
Native
• Native IDE
• UI Builder
• UI Effect Builder
• Command Line Interface
• Dynamic Analyzer
• Emulator
���6
#mdmeetup���7
Native IDE
#mdmeetup���8
Emulator
#mdmeetup
SDK
• Ubuntu 32/64 bits
• Windows 7 32/64 bits
• Mac OS X (Intel)
• Windows 8* 32/64 bits
���9
#mdmeetup
Going Native
���10
#mdmeetup
Ключевые моменты
• Работа с исключениями • Создание объектов • Ownership policy
• Многопоточность
���11
#mdmeetup
Работа с исключениями
• Внутри фреймфорка не используются стандартные исключения C++.
• Вместо исключений используются коды возврата.
• Можно использовать исключения в своем коде.
���12
#mdmeetup
Создание объектов
• Создание объектов двухфазное (вначале конструктор, а затем явный вызов метода Construct() для объекта).
���13
#mdmeetup���14
Пример
#mdmeetup
Ownership policy
• Право на владение объектом эксклюзивно и не может быть разделено (но может быть передано)
• Разработчик ответственен за самостоятельное удаление создаваемых им объектов
• Разработчик ответственен за удаление объектов возвращаемых методами с постфиксом «N»
���15
#mdmeetup���16
Создал - удали!
#mdmeetup
Многопоточность
• UI Thread
• Отдельных потоки для исполнения тяжелых операций
• Синхронизация обращения к данным: mutex, semaphore, monitor
• Синхронизация с UI
���17
#mdmeetup���18
Уведомляем UI
#mdmeetup
Бонусы нативности
• Libxml2
• STL
• OpenGL
• OpenAL
• OpenMP
• GCD*
���19
#mdmeetup
Что не так?
• Громоздкость кода • Отсутствие удобных фреймворков • Медленный IDE (OS X 10.9)
• Dynamic Analyzer не работает (OS X 10.9)
• Медленный эмулятор (OS X 10.9)
• Небольшое сообщество
���20
#mdmeetup
Что «так»?
• Большая часть проблем - временные
• Мощь C++
���21