Кроссплатформенная разработка мобильных приложений для бизнеса
Александр ЕпифановTau Technologies
В чем проблема?
• Всеобщая мобилизация• В бизнесе• В обычной жизни
А вот в чем:
• Всеобщая мобилизация• В бизнесе• В обычной жизни
А вот в чем:
• Много устройств• 340 миллионов смартфонов
продано за год по данным IDC на 2-й квартал 2015
• Рост на 13%
• Всеобщая мобилизация
• В бизнесе• В обычной жизни
А вот в чем:
• Много устройств• 340 миллионов
смартфонов продано во 2-м квартале 2015 года
• Рост на 13% по сравнению с предыдущим кварталом
• Много платформ, и появляются новые
Потребители используют
Android
iOS
WinPhone
Прочие
По данным IDC Quarterly Report
Другие игроки
Разработка для нескольких платформ одновременно это:
• Сложно• Свой тулчейн для каждой
платформы• Продвинутые языки
• Сложно• Свой тулчейн для каждой
платформы• Продвинутые языки
Разработка для нескольких платформ одновременно это:
• Долго• Дизайн• Кодирование• Отладка• Тестирование
Разработка для нескольких платформ одновременно это:
• Сложно• Свой тулчейн
для каждой платформы
• Продвинутые языки
• Долго• Дизайн• Кодирование• Отладка• Тестирование
• Дорого• Потому что
сложно и долго
Где найти специалистов?
• C• C++• Java• C#• ObjectiveC• JNI• .NET• …...
Специфика требований бизнеса к разработке мобильного ПО
1 2 3
Бизнес использует
По данным Mobility Index Report
Промышленные устройства
• Значительную доля до сих пор принадлежит legacy устройствам на Windows Mobile/CE.
• Учитывая успехи Android, в среднесрочной перспективе эта система займет лидерство в данном секторе.
• Расширенная и нестандартная функциональность
• Зачастую устаревшие версии ОС ( WinCE6, Android 2.x.x )
• Большое количество legacy кода под Windows Mobile/CE
Промышленные устройства
Это не просто приложение на мобильном устройстве, а целый комплекс ПО, включающий в себя различные части на разных платформах.мобильные устройства ПК Серверная часть
БД
ServerWEB
Синхронизация
БД
ПК контент
МУ контент
Браузер
Браузер
Приложение
Приложение
Корпоративное приложение
Доступ к backend
• Можно пользоваться своим устройством на работе
• Но необходимо обеспечивать безопасность корпоративных ресурсов
BYOD* и MDM**
*Bring your own device** Mobile device management
Менее строгие требования к дизайну
Типы корпоративных приложений
• Складской учет• Управление оборудованием• Ритейл• CRM• ERP• Корпоративная почта• Корпоративные файлы• Мобильное рабочее место руководителя• Secure IM
• Плохо:• Нестандартные устройства и
платформы• Требования к безопасности• Сложности взаимодействия с
backend
Что хорошо и что плохо (для разработчика)
• Хорошо:• Нет строгих требований к UX• Нет необходимости
размещать приложение в магазине
• Интеграторы испытывают трудности при внедрении новых устройств
• У них нет возможности выбора аппаратной платформы• Кто-то должен взять поддержку устройств на себя
Куда податься интегратору?
Тренды
• Мобильность приходит на смену облакам. Потенциал рынка – 100млрд долларов
• Компании увеличивают бюджеты на мобильную разработку
• Мобильные рабочие места• HTML5 побеждает• Internet of Things
К концу 2017 года потребность рынка в мобильных приложениях будет расти в 5 раз быстрее
способности внутренней разработки IT компаний.(Gartner)
Существующие подходы и решения для кроссплатформенной разработки.
Чисто нативная разработка
ТехнологииХ
СпециалистыХ
Много платформХ
Фрагментация
=
ОЧЕНЬ ДОРОГО
Нативные приложения
Веб приложения
Гибридные приложения
Существующие решения. Плюсы и минусы.
Web приложения
• Уже есть сайт и нужно дополнить доступ к сервисам с помощью мобильного приложения
• Приложение работает в штатном веб-браузере системы и написано на HTML/JavaScript
• Функциональность приложения аналогична функциональности сайта
Web приложения
Простота разработки Переносимость — работает везде Можно использовать код сайта ( частично ) Приложение может создать веб-специалист Привычно для пользователей веб-сайта
Ограниченная функциональность. Нет доступа к аппаратным возможностям устройства
Не нативный UX Всегда нужно сетевое подключение Страдает производительность Проблемы на разных браузерах
Нативные приложения
• Один язык для всех платформ
• Оригинальный тулчейн• Оригинальный API
Нативные приложения
Доступ к основным возможностям устройства
Нативный UX/Look&feelМаксимальная производительность
Своя экосистемаПри необходимости сложно перейти на другое решение
Гибридные приложения
• Совмещает плюсы нативного и веб подхода
• Интерфейс работает в браузере, API реализован нативно
• Может использоваться как штатный, браузер так и встроенный веб движок
• Могут использоваться нативные UI компоненты
• Доступ к функциям устройства определяется конкретным используемым гибридным решением
Гибридные приложения
Широкоиспользуемые технологииПолноценная функциональностьНативные расширения только там, где
они нужныВендор обеспечивает совместимость
между платформами, браузерами, устройствами
Низкий порог вхождения в разработкуМожно выбирать различные решения
Не нативный UX Проблемы с производительностью в чисто
браузерных решениях
Некоторые гибридные и нативные решения
Xamarin
• Привычно для .NET разработчиков
• Можно разработать UI для каждой платформы отдельно
• Тестирование в облаке• Гибкая лицензионая
политика
Native
Appcelerator
• Один из пионеров современной кроссплатформенной мобильной разработки
• Обширное комьюнити• Компилируемый JavaScript• Облачные сервисы
Native
PhoneGap
• Стандарт де-факто для гибридной разработки
• Большое количество плагинов
• Обширное комьюнити• Обычные для гибридных
решений проблемы с производительностью
• Нет ориентации на enterprise
Hybrid
• Фокус на enterprise• Облачные сервисы• Экосистема,
предоставляющая полный цикл разработки
• Один из лидеров Gartner Magic Quadrant for Mobile Application Development Platforms
• Относительно дорогостояще решение
Kony
Hybrid
RhoMobile
• Основной фокус – enterprise• Из промышленных поддерживаются
только устройства Zebra• Оригинальная MVC архитектура,
аналогичная Ruby on Rails, что решает проблемы с производительностью
• Облачные сервисы• Data-driven apps со встроенным ORM и
backend синхронизацией• Не полностью OpenSource• Обширный API с доступом к
большинству возможностей устройства
Hybrid
Tau Platform
• Форк RhoMobile• Отечественный продукт• OpenSource поддержка
всех legacy устройств на WinMobile/CE
• Ведется разработка JS контроллеров и интеграция Webkit
• Поддержка последних версий iOS и Android
Hybrid
Почему мы за веб-технологии в гибридных системах?
+
JavaScriptJavaC#
PHPPython
C++ObjectiveC
C
0 200000 400000 600000 800000 1000000 1200000
Количество тэгов на Stackoverflow
Огромная популярность JavaScript
Простота
• Меньше штат• Проще код• Менее дорогостоящие
разработчики• Быстрее обучение
• HTML• JavaScript• CSS
Переносимость, особенно при использовании единого движка
Современные JS/CSS технологии позволяют добиться почти нативного UX
Мощный интерфейс
Облачные сервисы
• Сборка• Синхронизация данных• Распространение
приложений• Тестирование• Аналитика
Полный доступ к функциям устройства
• Камера• GPS• Акселерометр• Календарь и контакты• NFC• Сканер штрихкодов• Медиаплеер, диктофон• Распознавание жестов• Карты• Нативные UI компоненты• Сеть• Push-уведомления• You name it…
• Меньше кода• Можно использовать своих веб-
разработчиков• Работает везде• Полноценная функциональность• Можно расширить
существующие веб приложения• Снижение рисков
• PROFIT!
Дешевле!
Вопросы?Пишите на адрес [email protected]
Наш сайт: http://tau-technologies.comGitHub: https://github.com/tauplatform
Спасибо. Мы будем рады вам.