Кроссплатформенная
разработка мобильных
приложений для бизнеса
Александр Епифанов
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
Промышленные устройства
Это не просто приложение на мобильном устройстве, а целый комплекс
ПО, включающий в себя различные части на разных платформах.
мобильные устройства ПК Серверная часть
БД
Server
WEB
Синхро
низация
БД
ПК контент
МУ контент
Браузер
Браузер
Приложение
Приложение
Корпоративное приложение
Доступ к 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
Почему мы за веб-
технологии в
гибридных системах?
+
0 200000 400000 600000 800000 1000000 1200000
JavaScript
Java
C#
PHP
Python
C++
ObjectiveC
C
Количество тэгов на Stackoverflow
Огромная популярность
JavaScript
Простота
• Меньше штат
• Проще код
• Менее дорогостоящие
разработчики
• Быстрее обучение
• HTML
• JavaScript
• CSS
Переносимость, особенно при
использовании единого движка
Современные JS/CSS технологии позволяют добиться почти нативного UX
Мощный интерфейс
Облачные сервисы
• Сборка
• Синхронизация данных
• Распространение приложений
• Тестирование
• Аналитика
Полный доступ к функциям
устройства
• Камера
• GPS
• Акселерометр
• Календарь и контакты
• NFC
• Сканер штрихкодов
• Медиаплеер, диктофон
• Распознавание жестов
• Карты
• Нативные UI компоненты
• Сеть
• Push-уведомления
• You name it…
• Меньше кода
• Можно использовать своих веб-
разработчиков
• Работает везде
• Полноценная функциональность
• Можно расширить существующие
веб приложения
• Снижение рисков
• PROFIT!
Дешевле!
Вопросы?
Пишите на адрес aepifanov@tau-technologies.com
Наш сайт: http://tau-technologies.com
GitHub: https://github.com/tauplatform
Спасибо.
Мы будем рады вам.

«Кроссплатформенная разработка мобильных приложений для бизнеса» Александр Епифанов, Тau Technologies

  • 2.
  • 3.
  • 4.
    • Всеобщая мобилизация •В бизнесе • В обычной жизни А вот в чем:
  • 5.
    • Всеобщая мобилизация •В бизнесе • В обычной жизни А вот в чем: • Много устройств • 340 миллионов смартфонов продано за год по данным IDC на 2-й квартал 2015 • Рост на 13%
  • 6.
    • Всеобщая мобилизация • Вбизнесе • В обычной жизни А вот в чем: • Много устройств • 340 миллионов смартфонов продано во 2-м квартале 2015 года • Рост на 13% по сравнению с предыдущим кварталом • Много платформ, и появляются новые
  • 7.
  • 8.
  • 9.
    Разработка для нескольких платформодновременно это: • Сложно • Свой тулчейн для каждой платформы • Продвинутые языки
  • 10.
    • Сложно • Свойтулчейн для каждой платформы • Продвинутые языки Разработка для нескольких платформ одновременно это: • Долго • Дизайн • Кодирование • Отладка • Тестирование
  • 11.
    Разработка для нескольких платформодновременно это: • Сложно • Свой тулчейн для каждой платформы • Продвинутые языки • Долго • Дизайн • Кодирование • Отладка • Тестирование • Дорого • Потому что сложно и долго
  • 12.
    Где найти специалистов? •C • C++ • Java • C# • ObjectiveC • JNI • .NET • …...
  • 13.
  • 14.
    1 2 3 Бизнесиспользует По данным Mobility Index Report
  • 15.
    Промышленные устройства • Значительнуюдоля до сих пор принадлежит legacy устройствам на Windows Mobile/CE. • Учитывая успехи Android, в среднесрочной перспективе эта система займет лидерство в данном секторе.
  • 16.
    • Расширенная инестандартная функциональность • Зачастую устаревшие версии ОС ( WinCE6, Android 2.x.x ) • Большое количество legacy кода под Windows Mobile/CE Промышленные устройства
  • 17.
    Это не простоприложение на мобильном устройстве, а целый комплекс ПО, включающий в себя различные части на разных платформах. мобильные устройства ПК Серверная часть БД Server WEB Синхро низация БД ПК контент МУ контент Браузер Браузер Приложение Приложение Корпоративное приложение
  • 18.
  • 19.
    • Можно пользоватьсясвоим устройством на работе • Но необходимо обеспечивать безопасность корпоративных ресурсов BYOD* и MDM** *Bring your own device ** Mobile device management
  • 20.
  • 21.
    Типы корпоративных приложений • Складскойучет • Управление оборудованием • Ритейл • CRM • ERP • Корпоративная почта • Корпоративные файлы • Мобильное рабочее место руководителя • Secure IM
  • 22.
    • Плохо: • Нестандартныеустройства и платформы • Требования к безопасности • Сложности взаимодействия с backend Что хорошо и что плохо (для разработчика) • Хорошо: • Нет строгих требований к UX • Нет необходимости размещать приложение в магазине
  • 23.
    • Интеграторы испытываюттрудности при внедрении новых устройств • У них нет возможности выбора аппаратной платформы • Кто-то должен взять поддержку устройств на себя Куда податься интегратору?
  • 24.
    Тренды • Мобильность приходитна смену облакам. Потенциал рынка – 100млрд долларов • Компании увеличивают бюджеты на мобильную разработку • Мобильные рабочие места • HTML5 побеждает • Internet of Things
  • 25.
    К концу 2017года потребность рынка в мобильных приложениях будет расти в 5 раз быстрее способности внутренней разработки IT компаний. (Gartner)
  • 26.
  • 27.
  • 28.
    Нативные приложения Вебприложения Гибридные приложения Существующие решения. Плюсы и минусы.
  • 29.
    Web приложения • Ужеесть сайт и нужно дополнить доступ к сервисам с помощью мобильного приложения • Приложение работает в штатном веб-браузере системы и написано на HTML/JavaScript • Функциональность приложения аналогична функциональности сайта
  • 30.
    Web приложения  Простотаразработки  Переносимость — работает везде  Можно использовать код сайта ( частично )  Приложение может создать веб-специалист  Привычно для пользователей веб-сайта  Ограниченная функциональность. Нет доступа к аппаратным возможностям устройства  Не нативный UX  Всегда нужно сетевое подключение  Страдает производительность  Проблемы на разных браузерах
  • 31.
    Нативные приложения • Одинязык для всех платформ • Оригинальный тулчейн • Оригинальный API
  • 32.
    Нативные приложения Доступ косновным возможностям устройства Нативный UX/Look&feel Максимальная производительность Своя экосистема При необходимости сложно перейти на другое решение
  • 33.
    Гибридные приложения • Совмещаетплюсы нативного и веб подхода • Интерфейс работает в браузере, API реализован нативно • Может использоваться как штатный, браузер так и встроенный веб движок • Могут использоваться нативные UI компоненты • Доступ к функциям устройства определяется конкретным используемым гибридным решением
  • 34.
    Гибридные приложения Широкоиспользуемые технологии Полноценнаяфункциональность Нативные расширения только там, где они нужны Вендор обеспечивает совместимость между платформами, браузерами, устройствами Низкий порог вхождения в разработку Можно выбирать различные решения  Не нативный UX  Проблемы с производительностью в чисто браузерных решениях
  • 35.
  • 36.
    Xamarin • Привычно для.NET разработчиков • Можно разработать UI для каждой платформы отдельно • Тестирование в облаке • Гибкая лицензионая политика Native
  • 37.
    Appcelerator • Один изпионеров современной кроссплатформенной мобильной разработки • Обширное комьюнити • Компилируемый JavaScript • Облачные сервисы Native
  • 38.
    PhoneGap • Стандарт де-фактодля гибридной разработки • Большое количество плагинов • Обширное комьюнити • Обычные для гибридных решений проблемы с производительностью • Нет ориентации на enterprise Hybrid
  • 39.
    • Фокус наenterprise • Облачные сервисы • Экосистема, предоставляющая полный цикл разработки • Один из лидеров Gartner Magic Quadrant for Mobile Application Development Platforms • Относительно дорогостояще решение Kony Hybrid
  • 40.
    RhoMobile • Основной фокус– enterprise • Из промышленных поддерживаются только устройства Zebra • Оригинальная MVC архитектура, аналогичная Ruby on Rails, что решает проблемы с производительностью • Облачные сервисы • Data-driven apps со встроенным ORM и backend синхронизацией • Не полностью OpenSource • Обширный API с доступом к большинству возможностей устройства Hybrid
  • 41.
    Tau Platform • ФоркRhoMobile • Отечественный продукт • OpenSource поддержка всех legacy устройств на WinMobile/CE • Ведется разработка JS контроллеров и интеграция Webkit • Поддержка последних версий iOS и Android Hybrid
  • 42.
    Почему мы завеб- технологии в гибридных системах? +
  • 43.
    0 200000 400000600000 800000 1000000 1200000 JavaScript Java C# PHP Python C++ ObjectiveC C Количество тэгов на Stackoverflow Огромная популярность JavaScript
  • 44.
    Простота • Меньше штат •Проще код • Менее дорогостоящие разработчики • Быстрее обучение • HTML • JavaScript • CSS
  • 45.
  • 46.
    Современные JS/CSS технологиипозволяют добиться почти нативного UX Мощный интерфейс
  • 47.
    Облачные сервисы • Сборка •Синхронизация данных • Распространение приложений • Тестирование • Аналитика
  • 48.
    Полный доступ кфункциям устройства • Камера • GPS • Акселерометр • Календарь и контакты • NFC • Сканер штрихкодов • Медиаплеер, диктофон • Распознавание жестов • Карты • Нативные UI компоненты • Сеть • Push-уведомления • You name it…
  • 49.
    • Меньше кода •Можно использовать своих веб- разработчиков • Работает везде • Полноценная функциональность • Можно расширить существующие веб приложения • Снижение рисков • PROFIT! Дешевле!
  • 50.
    Вопросы? Пишите на адресaepifanov@tau-technologies.com Наш сайт: http://tau-technologies.com GitHub: https://github.com/tauplatform
  • 51.