Знакомство с Tizen

Post on 24-May-2015

206 views 0 download

description

Немного о ОС Tizen и разработке нативных приложений для нее.

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

#mdmeetup

Спасибо за внимание! Вопросы?

���22

@wert1goageev@applifto.com