Как не стать заложником одной платформы (MBLTdev)
description
Transcript of Как не стать заложником одной платформы (MBLTdev)
1
#{MBLT}DEV
Панфилов АлексейМенеджер продукта
Parallels AccessКак не стать заложником одной платформы
3
PARALLELS ACCESSПозволяет использовать приложения с удаленного компьютера на
планшетах и смартфонах под iOS и Android, как будто они были разработаны под эти устройства
7
История возникновения Parallels Access
• Реакция на выход iPhone
• Базовая функциональность управления
виртуальными машинами
2008 – Первая версия Parallels Mobile
• Удаленное управление виртуальными
машинами
• Поддержка iPhone и iPad
2010 – Большой апгрейд Parallels Mobile
• Удаленное управление хостом (Mac-only)
2011 – Обновление Parallels Mobile
8
История возникновения Parallels Access
2012 – Начата разработка новой версии Parallels Mobile с учетoм:
• Новых идей
• Текущих проблем рынка
• Пожеланий пользователей
• Потребностей рынка
• Позиций конкурентов
9
2013 - Релиз Parallels Access 1.0 - iOS
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
“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 sacrificingfunctionality.” – Walt Mossberg, The Wall Street Journal (US)
1000+ статей о Parallels Access 2.0500М+ потенциальных просмотров89% позитивная реакция (10% нейтральная)
12
2014 - Релиз Parallels Access 2.0 - iOS + Android
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 по вкусу
19
Компилируешь под свою платформу
Большое кличество компиляторов: 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 и т.д.
Результатом будет класс, который содержит простейшие методы доступа ко всем полям типа get/set, а также методы для сериализации и десериализации вашей структуры данных в/из массива байтов.
http://ru.wikipedia.org/wiki/Protocol_Buffers
Protocol Buffers — язык описания данных. Google
20
• Простота использования
• Хорошая документация
• Поддержка большого количества языков
• Обратная совместимость
Protocol Buffers — язык описания данных. Google
http://ru.wikipedia.org/wiki/Protocol_Buffers
21
ZeroMQ обеспечивает взаимодействие между потоками выполнения. Это взаимодействие максимально унифицировано для нитей, процессов, локальных и глобальных сетей.
Ключевой метод — передача информации с помощью сообщений, вместо обеспечения прямого доступа в ней. Для этого внутри библиотеки ZeroMQ используются неблокирующие алгоритмы и структуры данных en.wikipedia.org/wiki/Non-blocking_algorithm, а прикладной программист всего лишь использует ее элегантный API.
ZeroMQ — библиотека обмена сообщениями. iMatix
http://zguide.zeromq.org
22
• Проста в использовании
• Хорошо написана
• Отлично документирована
• Великолепная производительность
• Поддержка большого количества языков
• Отзывчивое комьюнити
ZeroMQ — библиотека обмена сообщениями. iMatix
http://zguide.zeromq.org
23
• Бизнес-логика отделена от платформенного кода
• Простота тестирования этой логики
• Скорость и простота реализации
Результат
24
Единая логика приложения
25
Мы близнецы, но мы не похожи.
App Launcher
26
Нативные интерфейсы каждой платформы
Remote view
27
iOS Android
EarHandlerKeyboardButtonPressed EarHandlerKeyboardButtonPressed
EarHandlerLaunchpadButtonPressed EarHandlerLaunchpadButtonPressed
EarHandlerMoved EarHandlerMoved
EarHandlerTaskbarButtonPressed EarHandlerTaskbarButtonPressed
EarHandlerToolbarButtonPressed EarHandlerToolbarButtonPressed
Единая аналитика
События
28
Единая аналитика
Передвижение тулбара в приложении
Android
iOS
29
Единая аналитика
ОС пользователей
iOS
Android
30
Плюсы• Много пользователей
• Удобно работать со статистикой и платежами
• Интеграция в среду разработки
• Единственный вариант для iOS
Минусы• Жесткие ограничения
• Длительная проверка перед релизом
• Нет возможности оплаты In-App, кроме как через AppStore
Магазины
App Store
31
Плюсы• Много пользователей
• Удобно работать со статистикой и платежами
• Интеграция в среду разработки
• Присутствует в большинстве Android-смартфонов
• Быстрая проверка перед релизом
Минусы• Низкий доход
• Нет возможности отложенного релиза
Магазины
Google Play
32
Плюсы• Доступ в Galaxy Gifts
• Предустановлен на телефонах Samsung
• Возможна оплата In-App через любые шлюзы
Минусы• Длительная и доскональная проверка перед релизом
• Доступен только на смартфонах Samsung
• Мало пользователей
• Слабая аналитика
• Изменение описания и скриншотов требует ревью
Магазины
Samsung Galaxy Apps
33
Плюсы• Привычная инфраструктура для пользователей Amazon
• Быстрая проверка
• Возможна оплата In-App через любые шлюзы
Минусы• Аудитория ограничена странами, где присутствует Amazon
• Предустановлен на небольшое количество устройств
Магазины
Amazon apps
34
Китайские магазины приложений
35
Q&A