Download - Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

Transcript
Page 1: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

YaC, Москва, 19 сентября 2011 года

Старший разработчикЖестилевский Дмитрий

Кросс-платформенная разработка под мобильные устройства

Page 2: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

Панорамы

2

Page 3: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

Platform Abstraction Layer (PAL)

3

Page 4: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

PAL

HTML/JavaScriptVirtual MachineNative C/C++

4

Page 5: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

PAL – почему свой?

РасширяемостьСовместимость

5

Page 6: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

Core

Windowing

Threading

Events

Networking

IO

+ Extensions6

Page 7: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

Application Part

STLC++

POSIXExt API

3rd party High Level API

Android iOS Symbian etc…

App 1 App 2 App 3

7

Page 8: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

Варианты общих компонентов

8

Page 9: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

kdFopen(“/res/file.bin”)

Варианты общих компонентов

9

Page 10: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

Варианты общих компонентов

sync sync

10

Page 11: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

Варианты общих компонентов

Common View

InputRedraw

ActivityUIViewControllerQWidgetCAknView

11

Page 12: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

12

Page 13: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

Loop-in-application vs callbacks

13

Page 14: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

Http Networking

OpenKODE specOpenKODE extExtended API

14

Page 15: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

didFinish vs. onFinished

delegates vs. listeners

Apple vs. Android

15

Page 16: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

16

Page 17: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

Profit

Common

Android

iOS

Win32

0 100 200 300 400 500 600 700 800

700

25

23

2

Объем кода, кБ (Яндекс.Панорамы)

17

Page 18: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

Profit

18

Page 19: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

Ограничения

> 90% UI

19

Page 20: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

Попробуйте сами!

20

Page 21: Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский, Яндекс

Старший разработчик

[email protected]

Жестилевский Дмитрий