SlideShare a Scribd company logo
XII международная конференция
CEE-SECR / РАЗРАБОТКА ПО
28 - 29 октября, Москва
Дмитрий Солдатенков, Епифанов Александр
Настоящее и будущее
решений для разработки кросс-платформенных
мобильных гибридных приложений
в корпоративной сфере
2О нас
Солдатенков Дмитрий
Сооснователь,
Технический директор
Еще в школе понял, что программирование это
то, чем я хочу заниматься.
Работал в одной из первых в России фирм по
разработке компьютерных игр. Затем работа в
большой команде над крупным проектом для
разработчиков. Постепенно сфера интересов
сместилась на мобильные платформы, и вот
уже более 12 лет я занимаюсь именно этим.
Работал в компаниях
AMI, TogetherSoft, Borland, LG Electronics, TWP,
Rhomobile, Motorola Solutions, Zebra
Technologies.
Подробнее :
https://www.linkedin.com/in/dsoldatenkov
E-Mail: dsoldatenkov@tau-technologies.com
Епифанов Александр
Сооснователь,
ВП по технологиям
Эксперт по мобильным и встроенным
системам, с более чем десятилетним опытом
управления и разработки.
Работал в компаниях
TWP, Motorola Solutions, Zebra Technologies.
Подробнее :
https://www.linkedin.com/in/aepifanov
E-Mail: aepifanov@tau-technologies.com
2008 2009 2010 2011 2012 2013 2014 20162015
5.5
2017
Подробнее смотрите : http://tau-technologies.com/
3О Tau Technologies
2008 Основан успешный стартап Rhomobile
2011 был куплен фирмой Motorola Solutions
2014 как часть Motorola Solutions’ Enterprise вошел в Zebra Technologies
2015 несколько членов команды Rhomobile основали TAU Technologies
2016 Zebra Technologies объявила о переводе решения Rhomobile полностью в open source и о том
что TAU Technologies продолжит разработку и поддержку.
Подробнее: Zebra: RhoMobile Open Source FAQ
Последняя версия решения - 5.5 выпущена TAU Technologies в сентябре 2016.
4Что мы делаем
RHOMOBILE SUITE
RHODES
RHO STUDIO
TAU EXTENSIONS
RHO CONNECT
RHO BROWSER
Полностью open-source, полностью бесплатное решение для разработки кросс-платформенных
гибридных и смешанных гибридных приложений
Включает в себя платформу, IDE, решение для синхронизации данных и специализированный
браузер.
Поддерживается iOS, Android, WinCE/WM, WP
5Где используется Rhomobile
6План доклада
1. Особенности разработки в корпоративной сфере
2. Повсеместное доминирование Web технологий
3. Кросс-платформенная разработка. Существующие типы
решений.
4. Обзор решений на рынке
5. Воссоздание серверного окружения - знакомое окружение для
серверных программистов
6. Недостатки гибридных технологий и их решение
7. Альтернативный тип решения - улучшенный browser
8. Что нас ждет ?
9. Какое решение выбрать сегодня - мнение TAU Technologies
7Парк Устройств в корпоративном секторе
Потребительские устройства Специализированные устройства
● Благодаря программе BYOD (принеси свое
устройство) сотрудники корпораций могут
использовать свои смартфоны и планшеты
для доступа в корпоративную сеть и запуска
корпоративного ПО
● Также обычные потребительские устройства
закупаются для работы сотрудников.
● Полное доминирование iOS и Android, с
перевесом iOS. Доля Windows Phone (и прочих
версий) менее 10%.
● Консервативный рынок - до сих пор
значительная доля продаваемых устройств
базируется на Windows Mobile/CE!
● В настоящее время заметна миграция на
Android - можно с уверенностью сказать, что
Android будет доминировать на этом рынке в
ближайшие годы.
● Большое количество разработанного ПО под
Windows Mobile/CE
8Особенности разработки приложений в корпоративном секторе
Прежде всего это особенности парка устройств :
1. Смесь разных платформ как по операционным системам
(iOS, Android, WinCE/WM), так и по аппаратным
возможностям(слабые WinCE/WM).
2. Наличие специфических аппаратных расширений (сканеры и
т.п.)
3. Наличие внешних устройств: RFID сканеров, Barcode
сканеров, сканеров карт, портативных принтеров и т.п.
Кроме того:
1. Разработка приложения нужна не всегда ! Иногда
достаточно WEB решения.
2. Доступ к аппаратным возможностям (сканеры, принтеры и т.
п.)
3. Синхронизация данных (обычно с уже имеющимся бэк-
эндом)
4. Мобильное приложение как правило это лишь часть
большого интегрированного решения.
9Место мобильного приложения в комплексном корпоративном решении
Это не просто приложение на мобильном устройстве, а часть большого
комплекса ПО, включающего в себя различные части на разных платформах.
мобильные устройства ПК Серверная часть
БД
Server
WEB
Синхро
низация
БД
ПК контент
МУ контент
Браузер
Браузер
Приложение
Приложение
10Web технологии доминируют
11Тенденции на рынке корпоративной мобильной разработки
● В настоящее время по отчету Gartner в
корпоративной среде 90% приложений это веб
приложения или гибридные
● JavaScript - один из самых популярных языков
программирования
● Apache Cordova - самое популярное решение для
построения гибридных кросс-платформенных
платформ
● Стандарт де-факто для браузера и JavaScript VM
- WebKit
12Типы кросс-платформенных решений
Platform API
Framework WebView
UI + Logic
HTML/CSS/JS
code
Framework
Platform API
Framework WebView
UI
HTML/CSS/JS code
Framework
Logic
cross-platform code
Platform Browser
UI + Logic
HTML/CSS/JS
code
Web
cross-platform Application
Platform API
UI + Logic
Native code
SImple not cross-platform
Native Application
Hybrid
cross-platform Application
Mixed Hybrid
cross-platform Application
Cordova/PhoneGap Rhomobile
+ a lot of
HTML/CSS/JS frameworks
Rhomobile (Ruby)
+ a lot of
HTML/CSS/JS frameworks
Platform API
UI
platform dependent
or
cross-platform
code
Framework
Native
cross-platform Application
Xamarin (C#)
Appcelerator (JS)
React Native (JS)
NativeScript (JS)
QT (C++, QML)
RubyMotion (Ruby)
CodenameOne (Java)
Corona (Lua)
Logic
cross-platform code
a lot of
HTML/CSS/JS frameworks
iOS: ObjC, Swift, C++
Android: Java, C++
WinCE/WM: C#, C++
13Что дает использование кросс-платформенных решений ?
● дешевле (меньше кода)
● быстрее разработка (не
нужно согласовывать на
разных платформах)
● не нужно заботиться о
поддержке новых ОС и
новых версий ОС
● меньше разработчиков
● можно использовать
имеющихся разработчиков
и решения (для гибридных)
● хуже производительность
(не всегда)
● менее привлекательный
интерфейс и функционал
(без использования самых
свежих возможностей
платформ)
● зависимость от
поставщика решения
(особенно для не
open-source)
Идеально подходит для разработки
в корпоративном секторе !
14Нативные кросс-платформенные решения
● Кросс-платформенные решения типа Appcelerator или Xamarin
позволяют снизить стоимость разработки в два и более раз !
Проблемы негибридных решений :
● Программисты вынуждены осваивать новую
специфичную платформу - это проблема
● Продукт привязан к используемой платформе
15Гибридные кросс-платформенные решения
● Гибридные кросс-платформенные решения типа
Cordova/PhoneGap или Rhomobile позволяют снизить
стоимость разработки в три и более раз !
● Можно привлекать уже имеющихся разработчиков веб
порталов и веб приложений
● Можно использовать код веб порталов
● можно легко переносить код между разными
решениями - нет жесткой привязки к решению
16Гибридные кросс-платформенные приложения - оптимальный выбор !
Мы рассмотрели наиболее распространенные решения, но также есть большое
количество других продуктов. Такие решения, как правило, аналогичны
рассмотренным, но уступают по ряду параметров.
Гибридные приложения наиболее рациональный выбор для корпоративной разработки.
● возможность использовать имеющихся HTML/CSS/JavaScript специалистов без
дополнительного обучения
● можно использовать единый код и компоненты для мобильных приложений и веб-
приложений
● нет “жесткой” привязки к используемому решению - например можно легко
перенести основной массив HTML/CSS/JavaScript кода между Rhomobile и
Cordova/PhoneGap вообще без изменений.
● проблема производительности, особенно UI, теряет актуальность из-за роста
производительности аппаратной части и оптимизации WebView.
● в распоряжении разработчика - огромное количество разнообразных JavaScript
фреймворков, модулей, готовых решений на любой вкус !
17Кросс-платформенная разработка это КОМПРОМИСС !
=
+ +
+ +
+ +
18Рассмотрим решения на рынке
RubyMotion
19QT
название QT
разработчик QT Company
сайт https://www.qt.io/
тип нативный
исходный код full
доступность
Платформы
● Платформа предлагает писать кросс-платформенный код
на C++/QML.
● Предлагает собственный кросс-платформенный UI.
● типичные достоинства/недостатки нативного решения:
○ высокая производительность
○ необходимость изучения специфичного API
○ “жесткая привязка” к решению
20Cordova / PhoneGap
название PhoneGap
разработчик Adobe
сайт http://phonegap.com/
тип гибридный
исходный код full
доступность
Платформы
● PhoneGap это решение “на базе” Apache Cordova -
https://cordova.apache.org/. Cordova это решение для
осуществления вызовов нативного функционала из
JavaScript в локальном WebView приложения. Таким
образом приложение может иметь один универсальный код
на JavaScript и реализованный на разных платформах
единый API для доступа к нативному функционалу.
Подробнее о взаимоотношении PhoneGap и Cordova:
https://habrahabr.ru/post/272873/ .
● Также на базе Cordova решения предлагают ведущие
игроки на рынке : IBM, Intel, Oracle и другие.
● Платформа хорошо поддерживаемая, развивающаяся и
одна из наиболее популярных на рынке.
21Appcelerator
название Appcelerator Titanium
разработчик Appcelerator
сайт http://www.appcelerator.com/
тип нативный
исходный код
доступность
Платформы
● Платформа позволяет писать кроссплатформенный код на
JavaScript. Однако в отличие от PhoneGap не используется
локальный WebView - по сути предлагается просто
возможность писать обычный код на JavaScript и
использовать предоставляемый единый, а также
специфичный для всех платформ API для прочего
функционала. Может потребовать разработки отдельного
UI кода для каждой платформы.
● Приложение имеет лучшую производительность по
сравнению с гибридными приложениями, так как по сути
является нативным и не несет ограничений и потерь из-за
использования WebView. Особенно это касается UI.
● кросс-платформенный UI фремворк Alloy
● Недостатком является то, что код полностью привязан к
платформе и специфичному API - разработчик становится
сильно “привязан” к решению.
● Несмотря на использование языка JavaScript, разработчик
не сможет быстро привлечь имеющихся программистов
JavaScript, так как для работы с решением необходимо
изучение специфичных API решения.
22Xamarin
название Xamarin
разработчик Microsoft
сайт https://www.xamarin.com/
тип нативный
исходный код full
доступность
Платформы
● Платформа предлагает писать кросс-платформенный код
на C#. Проект представляет собой развитие проекта Mono
(открытая реализация .NET для не-Windows платформ)
● Высокое быстродействие за счет компиляции
● Предлагается как специфичные для платформ API, так и
единые для всех платформ.
● Предлагает как платформенно-зависимый UI, так и
собственный кросс-платформенный UI - Xamarin.Forms.
● Все сказанное про достоинства и недостатки Appcelerator,
применимо и к Xamarin - решения очень похожи, за
исключением используемых языков программирования
(JavaScript у Appcelerator и C# у Xamarin):
○ высокая производительность
○ необходимость изучения специфичного API
○ “жесткая привязка” к решению
23NativeScript
название NativeScript
разработчик Progress Software Corporation
сайт https://www.nativescript.org/
тип нативный
исходный код full
доступность
Платформы
● Платформа предлагает писать кросс-платформенный код
на JavaScript.
● Предлагает платформенно-зависимый UI - JavaScript
врапперы на платформенное API
● Также предлагает JavaScript врапперы на все
платформенное API.
● Тесная интеграция с Angular
● необходимость изучения платформенного/специфичного
API
● “жесткая привязка” к решению
24Telerik
название Telerik Platform
разработчик Progress Software Corporation
сайт http://www.telerik.com/platform
тип гибридный / нативный
исходный код
доступность
Платформы
● Комплексное решение.
● Облачные компоненты.
● Разработка как на NativeScript так и на Cordova
● Облачные сервисы по хранению данных, аналитике и т.п.
● WP только для Cordova варианта
25React Native
название React Native
разработчик Facebook
сайт https://facebook.github.io/react-native/
тип нативный
исходный код full
доступность
Платформы
● Платформа предлагает писать кросс-платформенный код
на JavaScript.
● Предлагает платформенно-зависимый UI - JavaScript
врапперы на платформенное API
● В основе React.js
● необходимость изучения платформенного/специфичного
API
● “жесткая привязка” к решению
26CodenameOne
название Codename One
разработчик Codename One LTD
сайт https://www.codenameone.com/
тип нативный
исходный код частично
доступность
Платформы
● Платформа предлагает писать кросс-платформенный код
на Java.
● Предлагается кросс-платформенный UI.
● Облачная сборка
● Бесплатная версия ограничена
● необходимость изучения специфичного API
● “жесткая привязка” к решению
27Corona
название Corona SDK
разработчик Corona Labs
сайт https://coronalabs.com/
тип нативный
исходный код
доступность
Платформы
● Платформа предлагает писать кросс-платформенный код
на Lua.
● Предлагается кросс-платформенный UI.
● Облачная сборка
● Бесплатная версия для разработки 2D игр, сильно
ограничена
● необходимость изучения специфичного API
● “жесткая привязка” к решению
28RubyMotion
RubyMotion
название RubyMotion
разработчик HipByte
сайт http://www.rubymotion.com/
тип нативный
исходный код
доступность
Платформы
● Платформа предлагает писать кросс-платформенный код
на Ruby.
● Предлагается как специфичные для платформ API, так и
единые для всех платформ.
● Предлагает использовать платформенно-зависимый UI.
● Все сказанное про достоинства и недостатки Appcelerator,
применимо и к RubyMotion - решения очень похожи, за
исключением используемых языков программирования
(JavaScript у Appcelerator и Ruby у RubyMotion):
○ высокая производительность
○ необходимость изучения специфичного API
○ “жесткая привязка” к решению
29Kony
название Kony Mobility Platform
разработчик Kony
сайт http://www.kony.com/
тип гибридный / нативный
исходный код
доступность
Платформы
● Комплексное решение.
● Облачные компоненты.
● Разработка как Web приложений так и нативных или на
Cordova
● Облачные сервисы по хранению данных, аналитике и т.п.
● Синхронизация данных
● Среда разработки, создания UI, другие Tools
30Rhomobile
название Rhomobile
разработчик TAU Technologies
сайт http://tau-technologies.com/
тип гибридный смешанный
исходный код full
доступность
Платформы
● Rhomobile гибридное решение но не на базе Cordova -
используется собственное решение для связи WebView с
нативным API
● На устройстве воспроизводится окружение похожее на
Ruby on Rails - UI в WebView, а данные, логика
реализуются в Ruby контроллерах на локальном HTTP
сервере.
● Возможно использовать решение как чисто гибридное без
Ruby - в этом случае архитектурно получаем полный
аналог Cordova/PhoneGap
● Готовое решение для синхронизации данных с удаленным
сервером (поддерживаются основные BD)
● Комплексное решение ориентированное на корпоративный
сектор, включая промышленные устройства на WM/WinCE
и Android
Platform Browser
HTML/CSS/JS
app code
+
JS frameworks
Remote server
31Воссоздание серверного окружения
На сервере имеется большое количество решений и наработано много кода.
А можно перенести все это на мобильное устройство и получить самодостаточный продукт
- серверная часть + UI в WebView (или даже в простом browser) ?
32От Ruby on Rails
Web server
routing
controller
model
view
Platform API DB
public
Platform Browser
HTML/CSS/JS
app code
+
JS frameworks
Remote server
Как это выглядит на примере переноса
Ruby on Rails функционала
33К Rhodes
Web server
routing
controller
model
view
Rhomobile API DB
public
Rhomobile WebView
HTML/CSS/JS app code + JS frameworks
Rhomobile API RHODES
Гибридная
архитектура.
UI реализуется
HTML/CSS/JS
контентом в
WebView
Разработчик
приложения
может
использовать
любой JavaScript
UI framework по
желанию
На устройстве мы
имеем локальный
HTTP сервер с
полноценной
Ruby VM. Ruby
код контроллеров
выполняется
прямо на
устройстве.
34NW.js и Electron - Node.js десктопные решения
название NW.js
разработчик NW.js community
тип гибридный
исходный код full
доступность
сайт http://nwjs.io/
Платформа Linux, Mac OS X, Windows
название Electron
разработчик Electron community
тип гибридный
исходный код full
доступность
сайт http://electron.atom.io/
Платформа Linux, Mac OS X, Windows
Вы умеете программировать под Node.js и знаете HTML/CSS/JS ?
Вы хотите создавать полноценные кросс-платформенные приложения ?
Есть решение и не одно !
WebView с доступом к Node.js API ! Добавьте свой HTML/CSS/JS контент и
получите полноценное автономное приложение !
35JXCore и Thali - Node.js на мобильных устройствах !
название JXCore
разработчик Nubisa (прекращено)
тип Node.js порт
исходный код full
доступность
сайт https://github.com/jxcore/jxcore
Платформа
название Thali
разработчик Thali (спонсирует Microsoft)
тип гибридный (Cordova +JXCore)
исходный код full
доступность
сайт http://thaliproject.org/
Платформа
JXCore - ныне закрытый проект по портированию Node.js на мобильные платформы.
В настоящее время существует ответвление - Thali Project
JXCore FAQ: http://www.goland.org/jxcore/
Доля нативных модулей Node.js - около 10%, доля скачивания - около 2%.
Анализ доли нативных пакетов Node.js: http://www.goland.org/node-gyp-and-node-js-on-mobile-platforms/
Есть JXCore Cordova plugin: https://github.com/jxcore/jxcore-cordova
36Недостатки гибридных решений - интерфейс
UI на HTML/CSS/JS уступает нативному UI как по
визуальному уровню, так и по быстродействию.
Это основная причина популярности Javascript
решений с нативным UI - Appcelerator, React Native,
NativeScript и др.
Но не все так плохо !
Во-первых корпоративный сектор имеет
невысокие требования по части “красоты”.
Во-вторых современные JavaScript фреймворки
предлагают уровень UI мало отличимый от
нативного, как по “красотам” там и по
быстродействию (особенно на современных
устройствах)
37Недостатки гибридных решений - разные версии browser в системном WebView
1. Различное поведение WebView на разных
платформах
2. Различное поведение WebView в разных
версиях платформы - особенно актуально при
поддержке старых версий Android
3. Тотальная отсталость WebView основанного на
IE на WM/WinCE платформе.
Что делать :
1. Использовать готовые JavaScript UI фреймворки,
которые решают проблему
2. Использовать собственный WebView а не системный.
Например Crosswalk (https://crosswalk-project.org/).
3. Использовать порт WebKit под WM/WinCE как в
решении Rhomobile.
38Недостатки гибридных решений - перегруженность WebView
Проблемы гибридных решений аналогичны проблемам
больших web сайтов/порталов.
Если у вас много контента, много данных, то все это
“висит” в WebView и производительность падает.
При этом мы вынуждены держать все в WebView - и
данные и логику и UI.
WebView однопоточный, можно выносить код в
отдельные потоки, но есть много ограничений.
Решение однозначное - выносить часть приложения из WebView !
JXCore или Rhomobile предлагают такое решение путем воссоздания
серверного окружения на локальном устройстве - чтобы разработчикам
было привычнее и проще. При этом WebView становится легковесной
так как содержит только UI, а данные, логика находятся вне WebView и в
отдельных потоках.
39Альтернативный тип решения - улучшенный browser
Всегда ли нужно именно приложение ?
У вас постоянный доступ в сеть ?
Вам достаточно web портала, но вам надо получить доступ к
функционалу платформы (Barcode, RFID, Bluetooth) ?
Можно обойтись без написания приложения !
Сделаем свой браузер, добавим в него Cordova - мы получаем доступ
ко всему платформенному API прямо из JavaScript кода нашего
портала или из локального HTML/JS контента с файловой системы !
Некоторые поставщики оборудования уже предлагают такое решение,
например Zebra Technologies имеет такой продукт - Enterprise Browser
(основан не на Cordova, а на Rhomobile, поэтому дополнительно
поддерживает WM/WinCE):
https://www.zebra.com/us/en/products/software/mobile-computers/mobile-a
pp-utilities/enterprise-browser.html
Также такой продукт имеет и Honeywell:
http://www.intermec.com/products/ib/index.aspx
40RhoBrowser
● RhoBrowser - это приложение под все основные мобильные
платформы, которое позволяет открывать HTML/CSS/JS контент
как находящийся на устройстве так и с удаленного сервера,
почти как в обычном браузер.
● Из кода на Javascript доступен полный перечень API для доступа
к возможностям платформы, например - Barcode scanner, RFID
scanner, NFC, contacts, file system и т.д.
● Используется собственный порт Webkit на WinCE/WM
платформе - забудьте о проблемах и ограничениях с Internet
Explorer !
● Решение может быть кастомизировано для нужд заказчика,
например, возможны контроль списка/запуск веб приложений,
установка на локальную файловую систему с удаленного
сервера и т.п.
Platform API
Rhodes WebView
UI + Logic
HTML/CSS/JS
code
local (open from filesystem)
or
remote (open from remote server)
Rhodes Framework
Peripherals API
RhoBrowser
41Что нас ждет впереди ?
42Что дальше - Быстрее! Выше! Сильнее!
Доля гибридных кросс-платформенных (и не только!) приложений будет увеличиваться
Cordova уже стала (и это будет закрепляться) стандартом для разработки гибридных
приложений.
Решения вида “улучшенный browser” будут становиться все популярнее.
Лидеры будут наращивать “мускулы”, особенно это касается компонентов для
синхронизации данных с удаленным сервером.
Лидеры предлагают и это будет усиливаться комплексные решения, которые включают в
себя средства для разработки, отладки, облачной сборки, облачной дистрибуции,
аналитики и т.п. а также облачные сервисы для размещения данных.
Доминировать будут open-source решения.
43Что дальше - что будет доминировать
Web технологии ! Гибридные решения
на Cordova !
44Что дальше - каков идеал ?
Идеальное решение : Cordova + WebKit на борту + локальный Node.js и конечно - open source !
45Что дальше - Над чем работает TAU Technologies ?
Мы работаем над интеграцией JXCore для того чтобы была возможность писать контроллеры не
только на Ruby (в Ruby on Rails похожей среде), но и на JavaScript (в среде Node.js)
В настоящее время мы имеем расширение с Crosswalk browser для Android - планируем
реализовать это и для iOS.
Также планируем развивать RhoBrowser - решение типа “улучшенный browser”
46Какое решение выбрать сегодня - мнение TAU Technologies, преамбула
Для начала обозначим четкие границы:
● Мы рассматриваем только корпоративную сферу со своими специфическими требованиями
и окружением
● Мы вводим условное деление приложений на “легкие” и “тяжелые” - четкую границу тут
провести трудно, но понятно что “легкие” это приложения с набором до десятка окон -
простых форм, с небольшим количеством данных, значительная часть которых не хранится
локально вообще. Ну а “тяжелые” это все что круче - много UI, много данных, особенно
локальных, сложная их обработка и т.п.
● Также мы делим условно необходимые платформы на “обычные” - iOS и Android и “с
поддержкой WinCE/WM” - iOS, Android, WinCE/WM в любых комбинациях с обязательной
поддержкой WinCE/WM
● Мы говорим о том на какой платформе реализована серверная часть, подразумевая что этих
разработчиков можно привлечь и для разработки мобильного приложения - это позволяет
снизить расходы и минимизировать набор специальностей в команде - можно легко
переводить людей с одной задачи на другую. То есть, например, если у вас много
разработчиков на .NET то очевидно что им будет проще освоить Xamarin нежели иные
платформы.
47Какое решение выбрать сегодня - мнение TAU Technologies, “амбула” - “квадрант TAU”
Платформа
тип
приложения
серверная часть на
.NET Java Ruby Javascript
iOS,
Android
легкое Cordova/PhoneGap* Cordova/PhoneGap*
Cordova/PhoneGap*,
Rhodes
Cordova/PhoneGap*
тяжелое Xamarin
Xamarin,
Codename One
Rhodes
Appcelerator,
Native Script/Telerik,
React Native,
Kony
WinCE,
WM
и возможно
iOS,
Android
можно
обойтись
улучшенным
браузером
Rhodes Browser
Zebra Enterprise
Browser (только для устройств
Zebra)
Rhodes Browser
Zebra Enterprise
Browser (только для
устройств Zebra)
Rhodes Browser
Zebra Enterprise
Browser (только для
устройств Zebra)
Rhodes Browser
Zebra Enterprise
Browser (только для
устройств Zebra)
легкое и
тяжелое
Rhodes Rhodes Rhodes Rhodes
* С ростом производительности устройств граница между “легким” и “тяжелым” смещается - при помощи Cordova можно создавать все более
“тяжелые” приложения без проблем. Также можно довольно легко создать свой улучшенный браузер на основе Cordova/PhoneGap и
использовать его если устройство online
48Вопросы ? Контакты
http://tau-technologies.com

More Related Content

What's hot

Как не стать заложником одной платформы (MBLTdev)
Как не стать заложником одной платформы (MBLTdev)Как не стать заложником одной платформы (MBLTdev)
Как не стать заложником одной платформы (MBLTdev)Алексей Панфилов
 
Microsoft. Александр Худяков "Windows 10 - защита от современных угроз безопа...
Microsoft. Александр Худяков "Windows 10 - защита от современных угроз безопа...Microsoft. Александр Худяков "Windows 10 - защита от современных угроз безопа...
Microsoft. Александр Худяков "Windows 10 - защита от современных угроз безопа...Expolink
 
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектахКак совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектахDanil Dintsis, Ph. D., PgMP
 
Использование Fiddler для эмуляции различных сетевых условий в автотестах
Использование Fiddler для эмуляции различных сетевых условий в автотестахИспользование Fiddler для эмуляции различных сетевых условий в автотестах
Использование Fiddler для эмуляции различных сетевых условий в автотестахSQALab
 
Android Platform - новые мобильные рынки
Android Platform - новые мобильные рынкиAndroid Platform - новые мобильные рынки
Android Platform - новые мобильные рынкиBlogcamp Organization Committee
 
Rad studio 10 seatlle обзор продукта
Rad studio 10 seatlle обзор продуктаRad studio 10 seatlle обзор продукта
Rad studio 10 seatlle обзор продуктаazamat isaev
 
Ломать и строить. PHDays 2015
Ломать и строить. PHDays 2015Ломать и строить. PHDays 2015
Ломать и строить. PHDays 2015Alexey Kachalin
 
Мобильные видеоконференции: преимущества и угрозы BYOD. Дмитрий Одинцов, True...
Мобильные видеоконференции: преимущества и угрозы BYOD. Дмитрий Одинцов, True...Мобильные видеоконференции: преимущества и угрозы BYOD. Дмитрий Одинцов, True...
Мобильные видеоконференции: преимущества и угрозы BYOD. Дмитрий Одинцов, True...TrueConf
 
CodeFest 2012. Травин Д. — Bada OS: океан возможностей или тихий омут разочар...
CodeFest 2012. Травин Д. — Bada OS: океан возможностей или тихий омут разочар...CodeFest 2012. Травин Д. — Bada OS: океан возможностей или тихий омут разочар...
CodeFest 2012. Травин Д. — Bada OS: океан возможностей или тихий омут разочар...CodeFest
 
Промышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятияПромышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятияMikhail Payson
 
Ubiq Mobile: Skolkovo
Ubiq Mobile: SkolkovoUbiq Mobile: Skolkovo
Ubiq Mobile: SkolkovoYuri Gubanov
 
истории успеха. ноябрь 2013
истории успеха. ноябрь 2013истории успеха. ноябрь 2013
истории успеха. ноябрь 2013The Skolkovo Foundation
 
Национальная программная платформа выступление Д.Комиссарова на пресс-конфе...
Национальная программная платформа   выступление Д.Комиссарова на пресс-конфе...Национальная программная платформа   выступление Д.Комиссарова на пресс-конфе...
Национальная программная платформа выступление Д.Комиссарова на пресс-конфе...PingWin Software
 
Жизненный цикл безопасной разработки платежных приложений
Жизненный цикл безопасной разработки платежных приложенийЖизненный цикл безопасной разработки платежных приложений
Жизненный цикл безопасной разработки платежных приложенийRISClubSPb
 
Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01Dima Dzuba
 
универсальные коммуникации в облаке. т.савлаев.
универсальные коммуникации в облаке. т.савлаев.универсальные коммуникации в облаке. т.савлаев.
универсальные коммуникации в облаке. т.савлаев.Clouds NN
 

What's hot (16)

Как не стать заложником одной платформы (MBLTdev)
Как не стать заложником одной платформы (MBLTdev)Как не стать заложником одной платформы (MBLTdev)
Как не стать заложником одной платформы (MBLTdev)
 
Microsoft. Александр Худяков "Windows 10 - защита от современных угроз безопа...
Microsoft. Александр Худяков "Windows 10 - защита от современных угроз безопа...Microsoft. Александр Худяков "Windows 10 - защита от современных угроз безопа...
Microsoft. Александр Худяков "Windows 10 - защита от современных угроз безопа...
 
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектахКак совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
 
Использование Fiddler для эмуляции различных сетевых условий в автотестах
Использование Fiddler для эмуляции различных сетевых условий в автотестахИспользование Fiddler для эмуляции различных сетевых условий в автотестах
Использование Fiddler для эмуляции различных сетевых условий в автотестах
 
Android Platform - новые мобильные рынки
Android Platform - новые мобильные рынкиAndroid Platform - новые мобильные рынки
Android Platform - новые мобильные рынки
 
Rad studio 10 seatlle обзор продукта
Rad studio 10 seatlle обзор продуктаRad studio 10 seatlle обзор продукта
Rad studio 10 seatlle обзор продукта
 
Ломать и строить. PHDays 2015
Ломать и строить. PHDays 2015Ломать и строить. PHDays 2015
Ломать и строить. PHDays 2015
 
Мобильные видеоконференции: преимущества и угрозы BYOD. Дмитрий Одинцов, True...
Мобильные видеоконференции: преимущества и угрозы BYOD. Дмитрий Одинцов, True...Мобильные видеоконференции: преимущества и угрозы BYOD. Дмитрий Одинцов, True...
Мобильные видеоконференции: преимущества и угрозы BYOD. Дмитрий Одинцов, True...
 
CodeFest 2012. Травин Д. — Bada OS: океан возможностей или тихий омут разочар...
CodeFest 2012. Травин Д. — Bada OS: океан возможностей или тихий омут разочар...CodeFest 2012. Травин Д. — Bada OS: океан возможностей или тихий омут разочар...
CodeFest 2012. Травин Д. — Bada OS: океан возможностей или тихий омут разочар...
 
Промышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятияПромышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятия
 
Ubiq Mobile: Skolkovo
Ubiq Mobile: SkolkovoUbiq Mobile: Skolkovo
Ubiq Mobile: Skolkovo
 
истории успеха. ноябрь 2013
истории успеха. ноябрь 2013истории успеха. ноябрь 2013
истории успеха. ноябрь 2013
 
Национальная программная платформа выступление Д.Комиссарова на пресс-конфе...
Национальная программная платформа   выступление Д.Комиссарова на пресс-конфе...Национальная программная платформа   выступление Д.Комиссарова на пресс-конфе...
Национальная программная платформа выступление Д.Комиссарова на пресс-конфе...
 
Жизненный цикл безопасной разработки платежных приложений
Жизненный цикл безопасной разработки платежных приложенийЖизненный цикл безопасной разработки платежных приложений
Жизненный цикл безопасной разработки платежных приложений
 
Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01
 
универсальные коммуникации в облаке. т.савлаев.
универсальные коммуникации в облаке. т.савлаев.универсальные коммуникации в облаке. т.савлаев.
универсальные коммуникации в облаке. т.савлаев.
 

Viewers also liked

Помоги ближнему, или Как потоки помогают друг другу
Помоги ближнему, или Как потоки помогают друг другуПомоги ближнему, или Как потоки помогают друг другу
Помоги ближнему, или Как потоки помогают друг другуCEE-SEC(R)
 
Apache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализацииApache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализацииCEE-SEC(R)
 
Быстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedIn
Быстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedInБыстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedIn
Быстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedInCEE-SEC(R)
 
Потоковая обработка больших данных
Потоковая обработка больших данныхПотоковая обработка больших данных
Потоковая обработка больших данныхCEE-SEC(R)
 
Next-Gen уже здесь
Next-Gen уже здесьNext-Gen уже здесь
Next-Gen уже здесьCEE-SEC(R)
 
Как показать 90 млн картинок и сохранить жизнь диску
Как показать 90 млн картинок и сохранить жизнь дискуКак показать 90 млн картинок и сохранить жизнь диску
Как показать 90 млн картинок и сохранить жизнь дискуCEE-SEC(R)
 
Потоковая фильтрация событий
Потоковая фильтрация событийПотоковая фильтрация событий
Потоковая фильтрация событийCEE-SEC(R)
 
YoctoDB в Яндекс.Вертикалях
YoctoDB в Яндекс.ВертикаляхYoctoDB в Яндекс.Вертикалях
YoctoDB в Яндекс.ВертикаляхCEE-SEC(R)
 
Елена Жукова "Native JavaScript на мобильных устройствах"
Елена Жукова "Native JavaScript на мобильных устройствах"Елена Жукова "Native JavaScript на мобильных устройствах"
Елена Жукова "Native JavaScript на мобильных устройствах"Fwdays
 

Viewers also liked (9)

Помоги ближнему, или Как потоки помогают друг другу
Помоги ближнему, или Как потоки помогают друг другуПомоги ближнему, или Как потоки помогают друг другу
Помоги ближнему, или Как потоки помогают друг другу
 
Apache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализацииApache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализации
 
Быстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedIn
Быстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedInБыстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedIn
Быстрый онлайн-доступ к огромному количеству оффлайн-данных в LinkedIn
 
Потоковая обработка больших данных
Потоковая обработка больших данныхПотоковая обработка больших данных
Потоковая обработка больших данных
 
Next-Gen уже здесь
Next-Gen уже здесьNext-Gen уже здесь
Next-Gen уже здесь
 
Как показать 90 млн картинок и сохранить жизнь диску
Как показать 90 млн картинок и сохранить жизнь дискуКак показать 90 млн картинок и сохранить жизнь диску
Как показать 90 млн картинок и сохранить жизнь диску
 
Потоковая фильтрация событий
Потоковая фильтрация событийПотоковая фильтрация событий
Потоковая фильтрация событий
 
YoctoDB в Яндекс.Вертикалях
YoctoDB в Яндекс.ВертикаляхYoctoDB в Яндекс.Вертикалях
YoctoDB в Яндекс.Вертикалях
 
Елена Жукова "Native JavaScript на мобильных устройствах"
Елена Жукова "Native JavaScript на мобильных устройствах"Елена Жукова "Native JavaScript на мобильных устройствах"
Елена Жукова "Native JavaScript на мобильных устройствах"
 

Similar to Настоящее и будущее решений для разработки кросс-платформенных мобильных гибридных приложений в корпоративной сфере

Api Bitrix Ryzhikov
Api Bitrix RyzhikovApi Bitrix Ryzhikov
Api Bitrix RyzhikovAlex Ilyin
 
Sergey Khlopenov tools for_development_cross_platform_mobile_ap
Sergey Khlopenov tools for_development_cross_platform_mobile_apSergey Khlopenov tools for_development_cross_platform_mobile_ap
Sergey Khlopenov tools for_development_cross_platform_mobile_apDneprCiklumEvents
 
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...Diana Dymolazova
 
#MBLTdev: Как не стать заложником одной платформы (Parallels)
#MBLTdev: Как не стать заложником одной платформы (Parallels)#MBLTdev: Как не стать заложником одной платформы (Parallels)
#MBLTdev: Как не стать заложником одной платформы (Parallels)e-Legion
 
Кроссплатформенная разработка
Кроссплатформенная разработкаКроссплатформенная разработка
Кроссплатформенная разработкаValery
 
Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5DevDay
 
2015-12-12 | AzovDevMeetup 2015 | Мобильная разработка: Native, Hybrid, Cross...
2015-12-12 | AzovDevMeetup 2015 | Мобильная разработка: Native, Hybrid, Cross...2015-12-12 | AzovDevMeetup 2015 | Мобильная разработка: Native, Hybrid, Cross...
2015-12-12 | AzovDevMeetup 2015 | Мобильная разработка: Native, Hybrid, Cross...JSC “Arcadia Inc”
 
мобильное расширение возможностей вашего бизнеса
мобильное расширение возможностей вашего бизнесамобильное расширение возможностей вашего бизнеса
мобильное расширение возможностей вашего бизнесаAnastasia Novoseltseva
 
Android: Как создать свое первое приложение?
Android: Как создать свое первое приложение?Android: Как создать свое первое приложение?
Android: Как создать свое первое приложение?Kuban Dzhakipov
 
Разработка в Vs2015
Разработка в Vs2015Разработка в Vs2015
Разработка в Vs2015Tatiana Smetanina
 
презентация резидента сколково Freemium 300711
презентация резидента сколково Freemium 300711презентация резидента сколково Freemium 300711
презентация резидента сколково Freemium 300711ggennix
 
Secr15 разработка кросс платформенных десктоп приложений nw.js
Secr15 разработка кросс платформенных десктоп приложений nw.jsSecr15 разработка кросс платформенных десктоп приложений nw.js
Secr15 разработка кросс платформенных десктоп приложений nw.jsKirill Danilov
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5Provectus
 
HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...
HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...
HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...Cisco Russia
 
Новый взгляд TrueConf
Новый взгляд TrueConfНовый взгляд TrueConf
Новый взгляд TrueConfAndrew Vlaskin
 
{HSE Inc} Разработка под Android
{HSE Inc} Разработка под Android{HSE Inc} Разработка под Android
{HSE Inc} Разработка под AndroidPavel Krivoruchko
 

Similar to Настоящее и будущее решений для разработки кросс-платформенных мобильных гибридных приложений в корпоративной сфере (20)

Api Bitrix Ryzhikov
Api Bitrix RyzhikovApi Bitrix Ryzhikov
Api Bitrix Ryzhikov
 
[Add 4] crossplatform .net
[Add 4] crossplatform .net[Add 4] crossplatform .net
[Add 4] crossplatform .net
 
Sergey Khlopenov tools for_development_cross_platform_mobile_ap
Sergey Khlopenov tools for_development_cross_platform_mobile_apSergey Khlopenov tools for_development_cross_platform_mobile_ap
Sergey Khlopenov tools for_development_cross_platform_mobile_ap
 
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...
 
#MBLTdev: Как не стать заложником одной платформы (Parallels)
#MBLTdev: Как не стать заложником одной платформы (Parallels)#MBLTdev: Как не стать заложником одной платформы (Parallels)
#MBLTdev: Как не стать заложником одной платформы (Parallels)
 
Кроссплатформенная разработка
Кроссплатформенная разработкаКроссплатформенная разработка
Кроссплатформенная разработка
 
Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5
 
2015-12-12 | AzovDevMeetup 2015 | Мобильная разработка: Native, Hybrid, Cross...
2015-12-12 | AzovDevMeetup 2015 | Мобильная разработка: Native, Hybrid, Cross...2015-12-12 | AzovDevMeetup 2015 | Мобильная разработка: Native, Hybrid, Cross...
2015-12-12 | AzovDevMeetup 2015 | Мобильная разработка: Native, Hybrid, Cross...
 
мобильное расширение возможностей вашего бизнеса
мобильное расширение возможностей вашего бизнесамобильное расширение возможностей вашего бизнеса
мобильное расширение возможностей вашего бизнеса
 
Mobile credentials
Mobile credentialsMobile credentials
Mobile credentials
 
Android: Как создать свое первое приложение?
Android: Как создать свое первое приложение?Android: Как создать свое первое приложение?
Android: Как создать свое первое приложение?
 
Разработка в Vs2015
Разработка в Vs2015Разработка в Vs2015
Разработка в Vs2015
 
презентация резидента сколково Freemium 300711
презентация резидента сколково Freemium 300711презентация резидента сколково Freemium 300711
презентация резидента сколково Freemium 300711
 
Secr15 разработка кросс платформенных десктоп приложений nw.js
Secr15 разработка кросс платформенных десктоп приложений nw.jsSecr15 разработка кросс платформенных десктоп приложений nw.js
Secr15 разработка кросс платформенных десктоп приложений nw.js
 
Promwad innovation company
Promwad innovation companyPromwad innovation company
Promwad innovation company
 
Embarcadero strategy
Embarcadero strategyEmbarcadero strategy
Embarcadero strategy
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...
HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...
HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...
 
Новый взгляд TrueConf
Новый взгляд TrueConfНовый взгляд TrueConf
Новый взгляд TrueConf
 
{HSE Inc} Разработка под Android
{HSE Inc} Разработка под Android{HSE Inc} Разработка под Android
{HSE Inc} Разработка под Android
 

More from CEE-SEC(R)

Подбор и адаптация методологий разработки ПО под различные типы производствен...
Подбор и адаптация методологий разработки ПО под различные типы производствен...Подбор и адаптация методологий разработки ПО под различные типы производствен...
Подбор и адаптация методологий разработки ПО под различные типы производствен...CEE-SEC(R)
 
Проектный офис и аналитик
Проектный офис и аналитикПроектный офис и аналитик
Проектный офис и аналитикCEE-SEC(R)
 
Онлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсамОнлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсамCEE-SEC(R)
 
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...CEE-SEC(R)
 
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...CEE-SEC(R)
 
«Знак качества» как инструмент анализа восприятия продукта клиентами
«Знак качества» как инструмент анализа восприятия продукта клиентами«Знак качества» как инструмент анализа восприятия продукта клиентами
«Знак качества» как инструмент анализа восприятия продукта клиентамиCEE-SEC(R)
 
Машинное обучение на каждый день
Машинное обучение на каждый деньМашинное обучение на каждый день
Машинное обучение на каждый деньCEE-SEC(R)
 
Process и Case Management в информационной системе:
Process и Case Management в информационной системе: Process и Case Management в информационной системе:
Process и Case Management в информационной системе: CEE-SEC(R)
 
Проблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестированияПроблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестированияCEE-SEC(R)
 
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...CEE-SEC(R)
 
Ай-трекинг в UX исследованиях
Ай-трекинг в UX исследованияхАй-трекинг в UX исследованиях
Ай-трекинг в UX исследованияхCEE-SEC(R)
 
Технологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследованияТехнологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследованияCEE-SEC(R)
 
Субъектно-ориентированные информационные системы на предприятиях
Субъектно-ориентированные информационные системы на предприятияхСубъектно-ориентированные информационные системы на предприятиях
Субъектно-ориентированные информационные системы на предприятияхCEE-SEC(R)
 
Шаблоны контейнеров в Virtuozzo
Шаблоны контейнеров в VirtuozzoШаблоны контейнеров в Virtuozzo
Шаблоны контейнеров в VirtuozzoCEE-SEC(R)
 
Семантическое ядро рунета
Семантическое ядро рунетаСемантическое ядро рунета
Семантическое ядро рунетаCEE-SEC(R)
 
Разработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательствРазработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательствCEE-SEC(R)
 
IT-Лаборатория: кузница кадров и стартапов
IT-Лаборатория: кузница кадров и стартаповIT-Лаборатория: кузница кадров и стартапов
IT-Лаборатория: кузница кадров и стартаповCEE-SEC(R)
 
Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»CEE-SEC(R)
 
Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...CEE-SEC(R)
 
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...CEE-SEC(R)
 

More from CEE-SEC(R) (20)

Подбор и адаптация методологий разработки ПО под различные типы производствен...
Подбор и адаптация методологий разработки ПО под различные типы производствен...Подбор и адаптация методологий разработки ПО под различные типы производствен...
Подбор и адаптация методологий разработки ПО под различные типы производствен...
 
Проектный офис и аналитик
Проектный офис и аналитикПроектный офис и аналитик
Проектный офис и аналитик
 
Онлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсамОнлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсам
 
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
 
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
 
«Знак качества» как инструмент анализа восприятия продукта клиентами
«Знак качества» как инструмент анализа восприятия продукта клиентами«Знак качества» как инструмент анализа восприятия продукта клиентами
«Знак качества» как инструмент анализа восприятия продукта клиентами
 
Машинное обучение на каждый день
Машинное обучение на каждый деньМашинное обучение на каждый день
Машинное обучение на каждый день
 
Process и Case Management в информационной системе:
Process и Case Management в информационной системе: Process и Case Management в информационной системе:
Process и Case Management в информационной системе:
 
Проблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестированияПроблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестирования
 
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
 
Ай-трекинг в UX исследованиях
Ай-трекинг в UX исследованияхАй-трекинг в UX исследованиях
Ай-трекинг в UX исследованиях
 
Технологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследованияТехнологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследования
 
Субъектно-ориентированные информационные системы на предприятиях
Субъектно-ориентированные информационные системы на предприятияхСубъектно-ориентированные информационные системы на предприятиях
Субъектно-ориентированные информационные системы на предприятиях
 
Шаблоны контейнеров в Virtuozzo
Шаблоны контейнеров в VirtuozzoШаблоны контейнеров в Virtuozzo
Шаблоны контейнеров в Virtuozzo
 
Семантическое ядро рунета
Семантическое ядро рунетаСемантическое ядро рунета
Семантическое ядро рунета
 
Разработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательствРазработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательств
 
IT-Лаборатория: кузница кадров и стартапов
IT-Лаборатория: кузница кадров и стартаповIT-Лаборатория: кузница кадров и стартапов
IT-Лаборатория: кузница кадров и стартапов
 
Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»
 
Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...
 
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
 

Настоящее и будущее решений для разработки кросс-платформенных мобильных гибридных приложений в корпоративной сфере

  • 1. XII международная конференция CEE-SECR / РАЗРАБОТКА ПО 28 - 29 октября, Москва Дмитрий Солдатенков, Епифанов Александр Настоящее и будущее решений для разработки кросс-платформенных мобильных гибридных приложений в корпоративной сфере
  • 2. 2О нас Солдатенков Дмитрий Сооснователь, Технический директор Еще в школе понял, что программирование это то, чем я хочу заниматься. Работал в одной из первых в России фирм по разработке компьютерных игр. Затем работа в большой команде над крупным проектом для разработчиков. Постепенно сфера интересов сместилась на мобильные платформы, и вот уже более 12 лет я занимаюсь именно этим. Работал в компаниях AMI, TogetherSoft, Borland, LG Electronics, TWP, Rhomobile, Motorola Solutions, Zebra Technologies. Подробнее : https://www.linkedin.com/in/dsoldatenkov E-Mail: dsoldatenkov@tau-technologies.com Епифанов Александр Сооснователь, ВП по технологиям Эксперт по мобильным и встроенным системам, с более чем десятилетним опытом управления и разработки. Работал в компаниях TWP, Motorola Solutions, Zebra Technologies. Подробнее : https://www.linkedin.com/in/aepifanov E-Mail: aepifanov@tau-technologies.com
  • 3. 2008 2009 2010 2011 2012 2013 2014 20162015 5.5 2017 Подробнее смотрите : http://tau-technologies.com/ 3О Tau Technologies 2008 Основан успешный стартап Rhomobile 2011 был куплен фирмой Motorola Solutions 2014 как часть Motorola Solutions’ Enterprise вошел в Zebra Technologies 2015 несколько членов команды Rhomobile основали TAU Technologies 2016 Zebra Technologies объявила о переводе решения Rhomobile полностью в open source и о том что TAU Technologies продолжит разработку и поддержку. Подробнее: Zebra: RhoMobile Open Source FAQ Последняя версия решения - 5.5 выпущена TAU Technologies в сентябре 2016.
  • 4. 4Что мы делаем RHOMOBILE SUITE RHODES RHO STUDIO TAU EXTENSIONS RHO CONNECT RHO BROWSER Полностью open-source, полностью бесплатное решение для разработки кросс-платформенных гибридных и смешанных гибридных приложений Включает в себя платформу, IDE, решение для синхронизации данных и специализированный браузер. Поддерживается iOS, Android, WinCE/WM, WP
  • 6. 6План доклада 1. Особенности разработки в корпоративной сфере 2. Повсеместное доминирование Web технологий 3. Кросс-платформенная разработка. Существующие типы решений. 4. Обзор решений на рынке 5. Воссоздание серверного окружения - знакомое окружение для серверных программистов 6. Недостатки гибридных технологий и их решение 7. Альтернативный тип решения - улучшенный browser 8. Что нас ждет ? 9. Какое решение выбрать сегодня - мнение TAU Technologies
  • 7. 7Парк Устройств в корпоративном секторе Потребительские устройства Специализированные устройства ● Благодаря программе BYOD (принеси свое устройство) сотрудники корпораций могут использовать свои смартфоны и планшеты для доступа в корпоративную сеть и запуска корпоративного ПО ● Также обычные потребительские устройства закупаются для работы сотрудников. ● Полное доминирование iOS и Android, с перевесом iOS. Доля Windows Phone (и прочих версий) менее 10%. ● Консервативный рынок - до сих пор значительная доля продаваемых устройств базируется на Windows Mobile/CE! ● В настоящее время заметна миграция на Android - можно с уверенностью сказать, что Android будет доминировать на этом рынке в ближайшие годы. ● Большое количество разработанного ПО под Windows Mobile/CE
  • 8. 8Особенности разработки приложений в корпоративном секторе Прежде всего это особенности парка устройств : 1. Смесь разных платформ как по операционным системам (iOS, Android, WinCE/WM), так и по аппаратным возможностям(слабые WinCE/WM). 2. Наличие специфических аппаратных расширений (сканеры и т.п.) 3. Наличие внешних устройств: RFID сканеров, Barcode сканеров, сканеров карт, портативных принтеров и т.п. Кроме того: 1. Разработка приложения нужна не всегда ! Иногда достаточно WEB решения. 2. Доступ к аппаратным возможностям (сканеры, принтеры и т. п.) 3. Синхронизация данных (обычно с уже имеющимся бэк- эндом) 4. Мобильное приложение как правило это лишь часть большого интегрированного решения.
  • 9. 9Место мобильного приложения в комплексном корпоративном решении Это не просто приложение на мобильном устройстве, а часть большого комплекса ПО, включающего в себя различные части на разных платформах. мобильные устройства ПК Серверная часть БД Server WEB Синхро низация БД ПК контент МУ контент Браузер Браузер Приложение Приложение
  • 11. 11Тенденции на рынке корпоративной мобильной разработки ● В настоящее время по отчету Gartner в корпоративной среде 90% приложений это веб приложения или гибридные ● JavaScript - один из самых популярных языков программирования ● Apache Cordova - самое популярное решение для построения гибридных кросс-платформенных платформ ● Стандарт де-факто для браузера и JavaScript VM - WebKit
  • 12. 12Типы кросс-платформенных решений Platform API Framework WebView UI + Logic HTML/CSS/JS code Framework Platform API Framework WebView UI HTML/CSS/JS code Framework Logic cross-platform code Platform Browser UI + Logic HTML/CSS/JS code Web cross-platform Application Platform API UI + Logic Native code SImple not cross-platform Native Application Hybrid cross-platform Application Mixed Hybrid cross-platform Application Cordova/PhoneGap Rhomobile + a lot of HTML/CSS/JS frameworks Rhomobile (Ruby) + a lot of HTML/CSS/JS frameworks Platform API UI platform dependent or cross-platform code Framework Native cross-platform Application Xamarin (C#) Appcelerator (JS) React Native (JS) NativeScript (JS) QT (C++, QML) RubyMotion (Ruby) CodenameOne (Java) Corona (Lua) Logic cross-platform code a lot of HTML/CSS/JS frameworks iOS: ObjC, Swift, C++ Android: Java, C++ WinCE/WM: C#, C++
  • 13. 13Что дает использование кросс-платформенных решений ? ● дешевле (меньше кода) ● быстрее разработка (не нужно согласовывать на разных платформах) ● не нужно заботиться о поддержке новых ОС и новых версий ОС ● меньше разработчиков ● можно использовать имеющихся разработчиков и решения (для гибридных) ● хуже производительность (не всегда) ● менее привлекательный интерфейс и функционал (без использования самых свежих возможностей платформ) ● зависимость от поставщика решения (особенно для не open-source) Идеально подходит для разработки в корпоративном секторе !
  • 14. 14Нативные кросс-платформенные решения ● Кросс-платформенные решения типа Appcelerator или Xamarin позволяют снизить стоимость разработки в два и более раз ! Проблемы негибридных решений : ● Программисты вынуждены осваивать новую специфичную платформу - это проблема ● Продукт привязан к используемой платформе
  • 15. 15Гибридные кросс-платформенные решения ● Гибридные кросс-платформенные решения типа Cordova/PhoneGap или Rhomobile позволяют снизить стоимость разработки в три и более раз ! ● Можно привлекать уже имеющихся разработчиков веб порталов и веб приложений ● Можно использовать код веб порталов ● можно легко переносить код между разными решениями - нет жесткой привязки к решению
  • 16. 16Гибридные кросс-платформенные приложения - оптимальный выбор ! Мы рассмотрели наиболее распространенные решения, но также есть большое количество других продуктов. Такие решения, как правило, аналогичны рассмотренным, но уступают по ряду параметров. Гибридные приложения наиболее рациональный выбор для корпоративной разработки. ● возможность использовать имеющихся HTML/CSS/JavaScript специалистов без дополнительного обучения ● можно использовать единый код и компоненты для мобильных приложений и веб- приложений ● нет “жесткой” привязки к используемому решению - например можно легко перенести основной массив HTML/CSS/JavaScript кода между Rhomobile и Cordova/PhoneGap вообще без изменений. ● проблема производительности, особенно UI, теряет актуальность из-за роста производительности аппаратной части и оптимизации WebView. ● в распоряжении разработчика - огромное количество разнообразных JavaScript фреймворков, модулей, готовых решений на любой вкус !
  • 19. 19QT название QT разработчик QT Company сайт https://www.qt.io/ тип нативный исходный код full доступность Платформы ● Платформа предлагает писать кросс-платформенный код на C++/QML. ● Предлагает собственный кросс-платформенный UI. ● типичные достоинства/недостатки нативного решения: ○ высокая производительность ○ необходимость изучения специфичного API ○ “жесткая привязка” к решению
  • 20. 20Cordova / PhoneGap название PhoneGap разработчик Adobe сайт http://phonegap.com/ тип гибридный исходный код full доступность Платформы ● PhoneGap это решение “на базе” Apache Cordova - https://cordova.apache.org/. Cordova это решение для осуществления вызовов нативного функционала из JavaScript в локальном WebView приложения. Таким образом приложение может иметь один универсальный код на JavaScript и реализованный на разных платформах единый API для доступа к нативному функционалу. Подробнее о взаимоотношении PhoneGap и Cordova: https://habrahabr.ru/post/272873/ . ● Также на базе Cordova решения предлагают ведущие игроки на рынке : IBM, Intel, Oracle и другие. ● Платформа хорошо поддерживаемая, развивающаяся и одна из наиболее популярных на рынке.
  • 21. 21Appcelerator название Appcelerator Titanium разработчик Appcelerator сайт http://www.appcelerator.com/ тип нативный исходный код доступность Платформы ● Платформа позволяет писать кроссплатформенный код на JavaScript. Однако в отличие от PhoneGap не используется локальный WebView - по сути предлагается просто возможность писать обычный код на JavaScript и использовать предоставляемый единый, а также специфичный для всех платформ API для прочего функционала. Может потребовать разработки отдельного UI кода для каждой платформы. ● Приложение имеет лучшую производительность по сравнению с гибридными приложениями, так как по сути является нативным и не несет ограничений и потерь из-за использования WebView. Особенно это касается UI. ● кросс-платформенный UI фремворк Alloy ● Недостатком является то, что код полностью привязан к платформе и специфичному API - разработчик становится сильно “привязан” к решению. ● Несмотря на использование языка JavaScript, разработчик не сможет быстро привлечь имеющихся программистов JavaScript, так как для работы с решением необходимо изучение специфичных API решения.
  • 22. 22Xamarin название Xamarin разработчик Microsoft сайт https://www.xamarin.com/ тип нативный исходный код full доступность Платформы ● Платформа предлагает писать кросс-платформенный код на C#. Проект представляет собой развитие проекта Mono (открытая реализация .NET для не-Windows платформ) ● Высокое быстродействие за счет компиляции ● Предлагается как специфичные для платформ API, так и единые для всех платформ. ● Предлагает как платформенно-зависимый UI, так и собственный кросс-платформенный UI - Xamarin.Forms. ● Все сказанное про достоинства и недостатки Appcelerator, применимо и к Xamarin - решения очень похожи, за исключением используемых языков программирования (JavaScript у Appcelerator и C# у Xamarin): ○ высокая производительность ○ необходимость изучения специфичного API ○ “жесткая привязка” к решению
  • 23. 23NativeScript название NativeScript разработчик Progress Software Corporation сайт https://www.nativescript.org/ тип нативный исходный код full доступность Платформы ● Платформа предлагает писать кросс-платформенный код на JavaScript. ● Предлагает платформенно-зависимый UI - JavaScript врапперы на платформенное API ● Также предлагает JavaScript врапперы на все платформенное API. ● Тесная интеграция с Angular ● необходимость изучения платформенного/специфичного API ● “жесткая привязка” к решению
  • 24. 24Telerik название Telerik Platform разработчик Progress Software Corporation сайт http://www.telerik.com/platform тип гибридный / нативный исходный код доступность Платформы ● Комплексное решение. ● Облачные компоненты. ● Разработка как на NativeScript так и на Cordova ● Облачные сервисы по хранению данных, аналитике и т.п. ● WP только для Cordova варианта
  • 25. 25React Native название React Native разработчик Facebook сайт https://facebook.github.io/react-native/ тип нативный исходный код full доступность Платформы ● Платформа предлагает писать кросс-платформенный код на JavaScript. ● Предлагает платформенно-зависимый UI - JavaScript врапперы на платформенное API ● В основе React.js ● необходимость изучения платформенного/специфичного API ● “жесткая привязка” к решению
  • 26. 26CodenameOne название Codename One разработчик Codename One LTD сайт https://www.codenameone.com/ тип нативный исходный код частично доступность Платформы ● Платформа предлагает писать кросс-платформенный код на Java. ● Предлагается кросс-платформенный UI. ● Облачная сборка ● Бесплатная версия ограничена ● необходимость изучения специфичного API ● “жесткая привязка” к решению
  • 27. 27Corona название Corona SDK разработчик Corona Labs сайт https://coronalabs.com/ тип нативный исходный код доступность Платформы ● Платформа предлагает писать кросс-платформенный код на Lua. ● Предлагается кросс-платформенный UI. ● Облачная сборка ● Бесплатная версия для разработки 2D игр, сильно ограничена ● необходимость изучения специфичного API ● “жесткая привязка” к решению
  • 28. 28RubyMotion RubyMotion название RubyMotion разработчик HipByte сайт http://www.rubymotion.com/ тип нативный исходный код доступность Платформы ● Платформа предлагает писать кросс-платформенный код на Ruby. ● Предлагается как специфичные для платформ API, так и единые для всех платформ. ● Предлагает использовать платформенно-зависимый UI. ● Все сказанное про достоинства и недостатки Appcelerator, применимо и к RubyMotion - решения очень похожи, за исключением используемых языков программирования (JavaScript у Appcelerator и Ruby у RubyMotion): ○ высокая производительность ○ необходимость изучения специфичного API ○ “жесткая привязка” к решению
  • 29. 29Kony название Kony Mobility Platform разработчик Kony сайт http://www.kony.com/ тип гибридный / нативный исходный код доступность Платформы ● Комплексное решение. ● Облачные компоненты. ● Разработка как Web приложений так и нативных или на Cordova ● Облачные сервисы по хранению данных, аналитике и т.п. ● Синхронизация данных ● Среда разработки, создания UI, другие Tools
  • 30. 30Rhomobile название Rhomobile разработчик TAU Technologies сайт http://tau-technologies.com/ тип гибридный смешанный исходный код full доступность Платформы ● Rhomobile гибридное решение но не на базе Cordova - используется собственное решение для связи WebView с нативным API ● На устройстве воспроизводится окружение похожее на Ruby on Rails - UI в WebView, а данные, логика реализуются в Ruby контроллерах на локальном HTTP сервере. ● Возможно использовать решение как чисто гибридное без Ruby - в этом случае архитектурно получаем полный аналог Cordova/PhoneGap ● Готовое решение для синхронизации данных с удаленным сервером (поддерживаются основные BD) ● Комплексное решение ориентированное на корпоративный сектор, включая промышленные устройства на WM/WinCE и Android
  • 31. Platform Browser HTML/CSS/JS app code + JS frameworks Remote server 31Воссоздание серверного окружения На сервере имеется большое количество решений и наработано много кода. А можно перенести все это на мобильное устройство и получить самодостаточный продукт - серверная часть + UI в WebView (или даже в простом browser) ?
  • 32. 32От Ruby on Rails Web server routing controller model view Platform API DB public Platform Browser HTML/CSS/JS app code + JS frameworks Remote server Как это выглядит на примере переноса Ruby on Rails функционала
  • 33. 33К Rhodes Web server routing controller model view Rhomobile API DB public Rhomobile WebView HTML/CSS/JS app code + JS frameworks Rhomobile API RHODES Гибридная архитектура. UI реализуется HTML/CSS/JS контентом в WebView Разработчик приложения может использовать любой JavaScript UI framework по желанию На устройстве мы имеем локальный HTTP сервер с полноценной Ruby VM. Ruby код контроллеров выполняется прямо на устройстве.
  • 34. 34NW.js и Electron - Node.js десктопные решения название NW.js разработчик NW.js community тип гибридный исходный код full доступность сайт http://nwjs.io/ Платформа Linux, Mac OS X, Windows название Electron разработчик Electron community тип гибридный исходный код full доступность сайт http://electron.atom.io/ Платформа Linux, Mac OS X, Windows Вы умеете программировать под Node.js и знаете HTML/CSS/JS ? Вы хотите создавать полноценные кросс-платформенные приложения ? Есть решение и не одно ! WebView с доступом к Node.js API ! Добавьте свой HTML/CSS/JS контент и получите полноценное автономное приложение !
  • 35. 35JXCore и Thali - Node.js на мобильных устройствах ! название JXCore разработчик Nubisa (прекращено) тип Node.js порт исходный код full доступность сайт https://github.com/jxcore/jxcore Платформа название Thali разработчик Thali (спонсирует Microsoft) тип гибридный (Cordova +JXCore) исходный код full доступность сайт http://thaliproject.org/ Платформа JXCore - ныне закрытый проект по портированию Node.js на мобильные платформы. В настоящее время существует ответвление - Thali Project JXCore FAQ: http://www.goland.org/jxcore/ Доля нативных модулей Node.js - около 10%, доля скачивания - около 2%. Анализ доли нативных пакетов Node.js: http://www.goland.org/node-gyp-and-node-js-on-mobile-platforms/ Есть JXCore Cordova plugin: https://github.com/jxcore/jxcore-cordova
  • 36. 36Недостатки гибридных решений - интерфейс UI на HTML/CSS/JS уступает нативному UI как по визуальному уровню, так и по быстродействию. Это основная причина популярности Javascript решений с нативным UI - Appcelerator, React Native, NativeScript и др. Но не все так плохо ! Во-первых корпоративный сектор имеет невысокие требования по части “красоты”. Во-вторых современные JavaScript фреймворки предлагают уровень UI мало отличимый от нативного, как по “красотам” там и по быстродействию (особенно на современных устройствах)
  • 37. 37Недостатки гибридных решений - разные версии browser в системном WebView 1. Различное поведение WebView на разных платформах 2. Различное поведение WebView в разных версиях платформы - особенно актуально при поддержке старых версий Android 3. Тотальная отсталость WebView основанного на IE на WM/WinCE платформе. Что делать : 1. Использовать готовые JavaScript UI фреймворки, которые решают проблему 2. Использовать собственный WebView а не системный. Например Crosswalk (https://crosswalk-project.org/). 3. Использовать порт WebKit под WM/WinCE как в решении Rhomobile.
  • 38. 38Недостатки гибридных решений - перегруженность WebView Проблемы гибридных решений аналогичны проблемам больших web сайтов/порталов. Если у вас много контента, много данных, то все это “висит” в WebView и производительность падает. При этом мы вынуждены держать все в WebView - и данные и логику и UI. WebView однопоточный, можно выносить код в отдельные потоки, но есть много ограничений. Решение однозначное - выносить часть приложения из WebView ! JXCore или Rhomobile предлагают такое решение путем воссоздания серверного окружения на локальном устройстве - чтобы разработчикам было привычнее и проще. При этом WebView становится легковесной так как содержит только UI, а данные, логика находятся вне WebView и в отдельных потоках.
  • 39. 39Альтернативный тип решения - улучшенный browser Всегда ли нужно именно приложение ? У вас постоянный доступ в сеть ? Вам достаточно web портала, но вам надо получить доступ к функционалу платформы (Barcode, RFID, Bluetooth) ? Можно обойтись без написания приложения ! Сделаем свой браузер, добавим в него Cordova - мы получаем доступ ко всему платформенному API прямо из JavaScript кода нашего портала или из локального HTML/JS контента с файловой системы ! Некоторые поставщики оборудования уже предлагают такое решение, например Zebra Technologies имеет такой продукт - Enterprise Browser (основан не на Cordova, а на Rhomobile, поэтому дополнительно поддерживает WM/WinCE): https://www.zebra.com/us/en/products/software/mobile-computers/mobile-a pp-utilities/enterprise-browser.html Также такой продукт имеет и Honeywell: http://www.intermec.com/products/ib/index.aspx
  • 40. 40RhoBrowser ● RhoBrowser - это приложение под все основные мобильные платформы, которое позволяет открывать HTML/CSS/JS контент как находящийся на устройстве так и с удаленного сервера, почти как в обычном браузер. ● Из кода на Javascript доступен полный перечень API для доступа к возможностям платформы, например - Barcode scanner, RFID scanner, NFC, contacts, file system и т.д. ● Используется собственный порт Webkit на WinCE/WM платформе - забудьте о проблемах и ограничениях с Internet Explorer ! ● Решение может быть кастомизировано для нужд заказчика, например, возможны контроль списка/запуск веб приложений, установка на локальную файловую систему с удаленного сервера и т.п. Platform API Rhodes WebView UI + Logic HTML/CSS/JS code local (open from filesystem) or remote (open from remote server) Rhodes Framework Peripherals API RhoBrowser
  • 41. 41Что нас ждет впереди ?
  • 42. 42Что дальше - Быстрее! Выше! Сильнее! Доля гибридных кросс-платформенных (и не только!) приложений будет увеличиваться Cordova уже стала (и это будет закрепляться) стандартом для разработки гибридных приложений. Решения вида “улучшенный browser” будут становиться все популярнее. Лидеры будут наращивать “мускулы”, особенно это касается компонентов для синхронизации данных с удаленным сервером. Лидеры предлагают и это будет усиливаться комплексные решения, которые включают в себя средства для разработки, отладки, облачной сборки, облачной дистрибуции, аналитики и т.п. а также облачные сервисы для размещения данных. Доминировать будут open-source решения.
  • 43. 43Что дальше - что будет доминировать Web технологии ! Гибридные решения на Cordova !
  • 44. 44Что дальше - каков идеал ? Идеальное решение : Cordova + WebKit на борту + локальный Node.js и конечно - open source !
  • 45. 45Что дальше - Над чем работает TAU Technologies ? Мы работаем над интеграцией JXCore для того чтобы была возможность писать контроллеры не только на Ruby (в Ruby on Rails похожей среде), но и на JavaScript (в среде Node.js) В настоящее время мы имеем расширение с Crosswalk browser для Android - планируем реализовать это и для iOS. Также планируем развивать RhoBrowser - решение типа “улучшенный browser”
  • 46. 46Какое решение выбрать сегодня - мнение TAU Technologies, преамбула Для начала обозначим четкие границы: ● Мы рассматриваем только корпоративную сферу со своими специфическими требованиями и окружением ● Мы вводим условное деление приложений на “легкие” и “тяжелые” - четкую границу тут провести трудно, но понятно что “легкие” это приложения с набором до десятка окон - простых форм, с небольшим количеством данных, значительная часть которых не хранится локально вообще. Ну а “тяжелые” это все что круче - много UI, много данных, особенно локальных, сложная их обработка и т.п. ● Также мы делим условно необходимые платформы на “обычные” - iOS и Android и “с поддержкой WinCE/WM” - iOS, Android, WinCE/WM в любых комбинациях с обязательной поддержкой WinCE/WM ● Мы говорим о том на какой платформе реализована серверная часть, подразумевая что этих разработчиков можно привлечь и для разработки мобильного приложения - это позволяет снизить расходы и минимизировать набор специальностей в команде - можно легко переводить людей с одной задачи на другую. То есть, например, если у вас много разработчиков на .NET то очевидно что им будет проще освоить Xamarin нежели иные платформы.
  • 47. 47Какое решение выбрать сегодня - мнение TAU Technologies, “амбула” - “квадрант TAU” Платформа тип приложения серверная часть на .NET Java Ruby Javascript iOS, Android легкое Cordova/PhoneGap* Cordova/PhoneGap* Cordova/PhoneGap*, Rhodes Cordova/PhoneGap* тяжелое Xamarin Xamarin, Codename One Rhodes Appcelerator, Native Script/Telerik, React Native, Kony WinCE, WM и возможно iOS, Android можно обойтись улучшенным браузером Rhodes Browser Zebra Enterprise Browser (только для устройств Zebra) Rhodes Browser Zebra Enterprise Browser (только для устройств Zebra) Rhodes Browser Zebra Enterprise Browser (только для устройств Zebra) Rhodes Browser Zebra Enterprise Browser (только для устройств Zebra) легкое и тяжелое Rhodes Rhodes Rhodes Rhodes * С ростом производительности устройств граница между “легким” и “тяжелым” смещается - при помощи Cordova можно создавать все более “тяжелые” приложения без проблем. Также можно довольно легко создать свой улучшенный браузер на основе Cordova/PhoneGap и использовать его если устройство online