Country not specified
Unknown website Share

Apps4all

Страна: -
Город: -
Был онлайн: -
О себе:
 
08-07-2016, 10:53
Apps4all

Александр Шитиков (AGIMA.mobile): «Гибридная разработка все чаще становится предметом обсуждений»

Александр Шитиков, руководитель отдела разработки AGIMA.mobile, съездил на Mobile Trends Conference в Польшу и рассказал о разработке гибридных приложений в России. О существующих подходах к мобильной разработке и впечатлениях от конференции Саша рассказал редакции Apps4All.

Александр, добрый день. Какие существуют основные подходы к разработке мобильных приложений и чем они отличаются?

Можно выделить три основных метода. Первый способ, классический и самый распространенный — разработка нативных приложений на основе характерного для платформы языка. Например, при разработке на Android используется Java, если же мы имеем дело с iOS, то в качестве основного языка используем Objective-С. Совсем недавно у Apple появился Swift, новый подход к разработке мобильных приложений на iOS, к которому мы уже начинаем присматриваться. Он обладает всеми преимуществами С# и Python, но на данный момент этот язык программирования не слишком популярен среди наших клиентов, они пока предпочитают использовать более классический и стабильный Objective-C.

Нативные приложения — это идеальный вариант, если вы совсем не ограничены в сроках и бюджете, ведь вы по сути создаете два независимых приложения, которые будут учитывать все особенности различных платформ. Но это и большие трудозатраты.

Второй метод — создание гибридного приложения, при разработке которого используется HTML, CSS и JavaScript. Основное преимущество гибридной модели в том, что она позволяет значительно сократить время разработки и конечную стоимость приложений для нескольких платформ, при этом основа у приложения для разных ОС будет единой. Структура гибридного метода позволяет разделить четко логику и UI, а сами приложения практически ни в чем не уступают нативным. Однако эта технология относительно новая, поэтому грамотных специалистов, умеющих работать с гибридными приложениями, пока не так много.

Также существуют HTML5-приложения – кросс-платформенные веб-приложения, которые по сути являются мобильными версиями сайта. Это отличное решение для приложений, где специфика платформ не является важным фактором. Но, поскольку это, по сути, браузер с адаптивом, тесная интеграция с системой и ее функциями в этом случае отсутствует.

От чего в первую очередь зависит выбор метода разработки приложения?

В большинстве случаев выбор зависит от цели, которую вы ставите перед приложением. Например, небольшие приложения выгодно создавать на основе нативного метода. Именно такие решения мы в основном наблюдаем в App Store и Google Play. Если необходимо создать сложное высоконагруженное приложение с непростой логикой и богатой функциональностью, отлично подойдет гибридный способ. HTML5-приложения больше применимы при создании небольших каталогов, где не требуется тесной работы с системами устройства.

Большая часть приложений, которыми мы ежедневно пользуемся — это гибридные, нативные или html5 решения?

На сегодняшний день это нативные приложения, потому что инструменты, позволяющие создавать гибридные приложения, появились относительно недавно. В силу этого многие разработчики пока что смотрят на них с недоверием и считают целесообразным идти по уже протоптанным дорожкам. Гибридов пока значительно меньше, но они всё прочнее занимают свое особое место на мобильном рынке (Связной.Тревел, CarPrice). Гибридная разработка сейчас очень сильно развивается и все чаще становится предметом использования и обсуждений.

Как ваша команда работает над приложениями? От чего зависит этот выбор подхода у вас?

В зависимости от сроков, сложности и объема приложения к каждому проекту у нас в AGIMA.mobile выбирается свой подход. Работа с гибридными приложениями заведомо предполагает высокую компетенцию в этой области. У нас накопился обширный опыт в подобной разработке, поэтому мы предпочитаем создавать приложения по гибридной модели. Приложения разрабатываются быстро и качественно, проще говоря, меньше часов – меньше бюджет. Однако без глубинных знаний гибридной разработки лучше делать все в соответствии с требованиями нативных приложений: в этом случае именно натив будет быстрее по срокам и лучше по качеству.

Чаще всего мы используем гибридную связку «Бизнес-логика» + «Пользовательский интерфейс», это обеспечивает наибольшую близость к нативным приложениям и одновременно позволяет вынести всю общую логику в единую библиотеку (так называемая «бизнес-логика»).

Существуют два основных инструмента для разработки гибридных приложений:

  • Xamarin – это отличный инструмент, который стоит применять на больших проектах, используя только один язык разработки – C#. Из минусов могу отметить высокую цену и отсутствие возможности использовать нескольких языков для разработки.
  • RoboVM – решение, очень похожее на Xamarin, тем более что недавно Xamarin купил эту технологию, и сейчас RoboVM – часть семейства Xamarin. Для нас самый главный плюс – возможность сборки общей логики (бизнес-логики), используя Java и использование этой библиотеки в паре с любым нативным языком через JNI (Java Native Interface).

Как правило, мы используем RoboVM для сборки библиотеки бизнес-логики и несколько самописных инструментов для легкой интеграции бизнес-логики и UI, включая генератор JNI вызовов. Мы не останавливаемся и планируем совершенствовать наши инструменты и методы разработки. К слову, уже к лету этого года мы планируем выпустить собственный генератор JNI кода и внедрить его в наше производство для автоматизации процессов.

Вы были на Mobile Trends Conference. Какая сейчас повестка дня на рынке мобильных разработок в Европе, что обсуждают больше всего?

День, на котором я выступал, был полностью посвящен разработке и всему, что касается данного процесса. Больше всего рассуждений было на тему тестирования, автоматизации и рисков разработки. Было очень интересно узнать о реальном опыте зарубежных коллег. Больше всего мне запомнились кейсы Paweł Dudek (Taptera) и Dario Incalza (GuardSquare), которые, в отличие от нас, практикуют Behavior driven development. Наша команда больше отдает предпочтение Test driven development.

Меня также заинтересовали доклады Антона Сахарова (MLSDev.com) о рисках при разработке HTML5-приложений и Paweł Dudek (Taptera) о безопасности и конфиденциальности пользовательских данных, которые получают мобильные приложения.

Если говорить о мобильной разработке, используемых инструментах и технологиях - Россия в роли догоняющего или наоборот впереди остальных?

Россия далеко не в роли догоняющего. Я считаю, что все IT-сообщество находится на одном уровне, различается лишь стоимость услуг. Но я обратил внимание, что, например, коллеги из Польши очень широко применяют тестирование, и было очень интересно узнать их опыт и мнение в этом вопросе. 

Александр, благодарю, интересных вам проектов!

 
разработка
приложение
Mobile Trends Conference
ИТ
мобильная разработка
инструменты
технологии
0 0 0

Чтобы оставлять комментарии вам необходимо зарегистрироваться