ݺߣ

ݺߣShare a Scribd company logo
#{MBLT}DEV 
1
Parallels Access 
Как не стать заложником одной платформы 
Панфилов Алексей 
Менеджер продукта
PARALLELS ACCESS 
Позволяет использовать приложения с удаленного компьютера на 
планшетах и смартфонах под iOS и Android, как будто они были 
разработаны под эти устройства 
3
История возникновения Parallels Access 
2008 – Первая версия Parallels Mobile 
• Реакция на выход iPhone 
• Базовая функциональность управления 
2010 – Большой апгрейд Parallels Mobile 
2011 – Обновление Parallels Mobile 
7 
виртуальными машинами 
• Удаленное управление виртуальными 
машинами 
• Поддержка iPhone и iPad 
• Удаленное управление хостом (Mac-only)
История возникновения Parallels Access 
2012 – Начата разработка новой версии Parallels Mobile 
с учетoм: 
8 
• Новых идей 
• Текущих проблем рынка 
• Пожеланий пользователей 
• Потребностей рынка 
• Позиций конкурентов
9 
2013 - Релиз Parallels Access 1.0 - iOS
“It isn't the only iPad app that can remotely control computers, but of the 
ones I've tested, it does the best job of treating the computer programs it 
accesses as if they were iPad apps, without sacrificing 
functionality.” –Walt Mossberg, The Wall Street Journal (US) 
10 
Пресса 
"In short, Access does a lot more than just blast your computer’s screen onto 
the iPad’s. It truly does “appify” your computer’s programs. It creates a 
smooth, logical hybrid of iPad and “real” computer, in away that the VNC apps 
do not. It works amazingly well." – David Pogue, New York Times (US) 
90 Seconds With Pogue: Parallels Access 
The Pogue Review: Parallels Access 2.0 
1000+ статей о Parallels Access 2.0 
500М+ потенциальных просмотров 
89% позитивная реакция (10% нейтральная)
2014 - Релиз Parallels Access 2.0 - iOS + Android 
12
13 
Samsung Galaxy Gifts
14 
Parallels Access сейчас 
• 500К скачиваний в 
• 45K скачиваний в 
• Средняя оценка - 4 из 5 
• 1000+ статей 
• 500М+ потенциальных просмотров 
• 89% позитивная реакция (10% нейтральная)
Все начинается с идеи и 
осознания проблемы... 
15
16 
Три основные проблемы 
• Технологии 
• Логика работы 
• Магазины приложений
Что же мы имеем в начале разработки 
17 
• Клиент только под iOS 
• Разработчик клиента – аутсорсинговая 
компания 
• Server + SDK(C++) – разработчик 
Parallels
18 
Волевое решение 
• Выделяем бизнес-логику – 
RemoteClientCore 
• RemoteClientCore пишем на С++ 
• Добавляем SDK по вкусу
Protocol Buffers — язык описания данных. Google 
Компилируешь под свою платформу 
Результатом будет класс, который содержит простейшие методы 
доступа ко всем полям типа get/set, а также методы для сериализации и 
десериализации вашей структуры данных в/из массива байтов. 
Большое кличество компиляторов: C++, Java, Python, С#, Action Script, 
Clojure, Common Lisp, D, Erlang, Go, Haskell, JavaScript, Lua, Matlab, 
Mercury, Objective-C, OCaml, Perl, PHP, Python, Ruby, Scala, Visual Basic, 
Delphi и т.д. 
19 
http://ru.wikipedia.org/wiki/Protocol_Buffers
Protocol Buffers — язык описания данных. Google 
• Простота использования 
• Хорошая документация 
• Поддержка большого количества языков 
• Обратная совместимость 
20 
http://ru.wikipedia.org/wiki/Protocol_Buffers
ZeroMQ — библиотека обмена сообщениями. iMatix 
ZeroMQ обеспечивает взаимодействие между потоками выполнения. 
Это взаимодействие максимально унифицировано для нитей, 
процессов, локальных и глобальных сетей. 
Ключевой метод — передача информации с помощью сообщений, 
вместо обеспечения прямого доступа в ней. Для этого внутри 
библиотеки ZeroMQ используются неблокирующие алгоритмы и 
структуры данных en.wikipedia.org/wiki/Non-blocking_algorithm, а 
прикладной программист всего лишь использует ее элегантный API. 
21 
http://zguide.zeromq.org
ZeroMQ — библиотека обмена сообщениями. iMatix 
• Проста в использовании 
22 
• Хорошо написана 
• Отлично документирована 
• Великолепная производительность 
• Поддержка большого количества языков 
• Отзывчивое комьюнити 
http://zguide.zeromq.org
23 
Результат 
• Бизнес-логика отделена от 
платформенного кода 
• Простота тестирования этой логики 
• Скорость и простота реализации
Единая логика приложения 
24
25 
Мы близнецы, но мы не похожи. 
App Launcher
Нативные интерфейсы каждой платформы 
Remote view 
26
iOS Android 
EarHandlerKeyboardButtonPressed EarHandlerKeyboardButtonPressed 
EarHandlerLaunchpadButtonPressed EarHandlerLaunchpadButtonPressed 
EarHandlerMoved EarHandlerMoved 
EarHandlerTaskbarButtonPressed EarHandlerTaskbarButtonPressed 
EarHandlerToolbarButtonPressed EarHandlerToolbarButtonPressed 
27 
Единая аналитика 
События
28 
Единая аналитика 
Передвижение тулбара в приложении 
Android 
iOS
29 
Единая аналитика 
ОС пользователей 
iOS 
Android
30 
Магазины 
App Store 
Плюсы 
• Много пользователей 
• Удобно работать со статистикой и платежами 
• Интеграция в среду разработки 
• Единственный вариант для iOS 
Минусы 
• Жесткие ограничения 
• Длительная проверка перед релизом 
• Нет возможности оплаты In-App, кроме как через AppStore
Магазины 
Google Play 
Плюсы 
• Много пользователей 
• Удобно работать со статистикой и платежами 
• Интеграция в среду разработки 
• Присутствует в большинстве Android-смартфонов 
• Быстрая проверка перед релизом 
31 
Минусы 
• Низкий доход 
• Нет возможности отложенного релиза
Плюсы 
• Доступ в Galaxy Gifts 
• Предустановлен на телефонах Samsung 
• Возможна оплата In-App через любые шлюзы 
Минусы 
• Длительная и доскональная проверка перед релизом 
• Доступен только на смартфонах Samsung 
• Мало пользователей 
• Слабая аналитика 
• Изменение описания и скриншотов требует ревью 
32 
Магазины 
Samsung Galaxy Apps
Плюсы 
• Привычная инфраструктура для пользователей Amazon 
• Быстрая проверка 
• Возможна оплата In-App через любые шлюзы 
Минусы 
• Аудитория ограничена странами, где присутствует Amazon 
• Предустановлен на небольшое количество устройств 
33 
Магазины 
Amazon apps
34 
Китайские магазины приложений
35 
Q&A

More Related Content

Как не стать заложником одной платформы (MBLTdev)

  • 2. Parallels Access Как не стать заложником одной платформы Панфилов Алексей Менеджер продукта
  • 3. PARALLELS ACCESS Позволяет использовать приложения с удаленного компьютера на планшетах и смартфонах под iOS и Android, как будто они были разработаны под эти устройства 3
  • 4. История возникновения Parallels Access 2008 – Первая версия Parallels Mobile • Реакция на выход iPhone • Базовая функциональность управления 2010 – Большой апгрейд Parallels Mobile 2011 – Обновление Parallels Mobile 7 виртуальными машинами • Удаленное управление виртуальными машинами • Поддержка iPhone и iPad • Удаленное управление хостом (Mac-only)
  • 5. История возникновения Parallels Access 2012 – Начата разработка новой версии Parallels Mobile с учетoм: 8 • Новых идей • Текущих проблем рынка • Пожеланий пользователей • Потребностей рынка • Позиций конкурентов
  • 6. 9 2013 - Релиз Parallels Access 1.0 - iOS
  • 7. “It isn't the only iPad app that can remotely control computers, but of the ones I've tested, it does the best job of treating the computer programs it accesses as if they were iPad apps, without sacrificing functionality.” –Walt Mossberg, The Wall Street Journal (US) 10 Пресса "In short, Access does a lot more than just blast your computer’s screen onto the iPad’s. It truly does “appify” your computer’s programs. It creates a smooth, logical hybrid of iPad and “real” computer, in away that the VNC apps do not. It works amazingly well." – David Pogue, New York Times (US) 90 Seconds With Pogue: Parallels Access The Pogue Review: Parallels Access 2.0 1000+ статей о Parallels Access 2.0 500М+ потенциальных просмотров 89% позитивная реакция (10% нейтральная)
  • 8. 2014 - Релиз Parallels Access 2.0 - iOS + Android 12
  • 10. 14 Parallels Access сейчас • 500К скачиваний в • 45K скачиваний в • Средняя оценка - 4 из 5 • 1000+ статей • 500М+ потенциальных просмотров • 89% позитивная реакция (10% нейтральная)
  • 11. Все начинается с идеи и осознания проблемы... 15
  • 12. 16 Три основные проблемы • Технологии • Логика работы • Магазины приложений
  • 13. Что же мы имеем в начале разработки 17 • Клиент только под iOS • Разработчик клиента – аутсорсинговая компания • Server + SDK(C++) – разработчик Parallels
  • 14. 18 Волевое решение • Выделяем бизнес-логику – RemoteClientCore • RemoteClientCore пишем на С++ • Добавляем SDK по вкусу
  • 15. Protocol Buffers — язык описания данных. Google Компилируешь под свою платформу Результатом будет класс, который содержит простейшие методы доступа ко всем полям типа get/set, а также методы для сериализации и десериализации вашей структуры данных в/из массива байтов. Большое кличество компиляторов: C++, Java, Python, С#, Action Script, Clojure, Common Lisp, D, Erlang, Go, Haskell, JavaScript, Lua, Matlab, Mercury, Objective-C, OCaml, Perl, PHP, Python, Ruby, Scala, Visual Basic, Delphi и т.д. 19 http://ru.wikipedia.org/wiki/Protocol_Buffers
  • 16. Protocol Buffers — язык описания данных. Google • Простота использования • Хорошая документация • Поддержка большого количества языков • Обратная совместимость 20 http://ru.wikipedia.org/wiki/Protocol_Buffers
  • 17. ZeroMQ — библиотека обмена сообщениями. iMatix ZeroMQ обеспечивает взаимодействие между потоками выполнения. Это взаимодействие максимально унифицировано для нитей, процессов, локальных и глобальных сетей. Ключевой метод — передача информации с помощью сообщений, вместо обеспечения прямого доступа в ней. Для этого внутри библиотеки ZeroMQ используются неблокирующие алгоритмы и структуры данных en.wikipedia.org/wiki/Non-blocking_algorithm, а прикладной программист всего лишь использует ее элегантный API. 21 http://zguide.zeromq.org
  • 18. ZeroMQ — библиотека обмена сообщениями. iMatix • Проста в использовании 22 • Хорошо написана • Отлично документирована • Великолепная производительность • Поддержка большого количества языков • Отзывчивое комьюнити http://zguide.zeromq.org
  • 19. 23 Результат • Бизнес-логика отделена от платформенного кода • Простота тестирования этой логики • Скорость и простота реализации
  • 21. 25 Мы близнецы, но мы не похожи. App Launcher
  • 22. Нативные интерфейсы каждой платформы Remote view 26
  • 23. iOS Android EarHandlerKeyboardButtonPressed EarHandlerKeyboardButtonPressed EarHandlerLaunchpadButtonPressed EarHandlerLaunchpadButtonPressed EarHandlerMoved EarHandlerMoved EarHandlerTaskbarButtonPressed EarHandlerTaskbarButtonPressed EarHandlerToolbarButtonPressed EarHandlerToolbarButtonPressed 27 Единая аналитика События
  • 24. 28 Единая аналитика Передвижение тулбара в приложении Android iOS
  • 25. 29 Единая аналитика ОС пользователей iOS Android
  • 26. 30 Магазины App Store Плюсы • Много пользователей • Удобно работать со статистикой и платежами • Интеграция в среду разработки • Единственный вариант для iOS Минусы • Жесткие ограничения • Длительная проверка перед релизом • Нет возможности оплаты In-App, кроме как через AppStore
  • 27. Магазины Google Play Плюсы • Много пользователей • Удобно работать со статистикой и платежами • Интеграция в среду разработки • Присутствует в большинстве Android-смартфонов • Быстрая проверка перед релизом 31 Минусы • Низкий доход • Нет возможности отложенного релиза
  • 28. Плюсы • Доступ в Galaxy Gifts • Предустановлен на телефонах Samsung • Возможна оплата In-App через любые шлюзы Минусы • Длительная и доскональная проверка перед релизом • Доступен только на смартфонах Samsung • Мало пользователей • Слабая аналитика • Изменение описания и скриншотов требует ревью 32 Магазины Samsung Galaxy Apps
  • 29. Плюсы • Привычная инфраструктура для пользователей Amazon • Быстрая проверка • Возможна оплата In-App через любые шлюзы Минусы • Аудитория ограничена странами, где присутствует Amazon • Предустановлен на небольшое количество устройств 33 Магазины Amazon apps

Editor's Notes

  • #11: Timeline for app store approval
  • #12: Timeline for app store approval