Главное Свежее Вакансии Образование
2 350 6 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Xamarin vs PhoneGap: выбираем инструмент для разработки мобильного приложения

Хотите сократить время и ресурсы на разработку приложений одновременно для нескольких платформ? Сравнение двух самых популярных фреймворков для разработки и выбор опытных разработчиков под катом

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

По результатам применения различных технологий и подходов к разработке мобильных приложений в течение нескольких лет, мы можем подвести итоги и сделать некоторые выводы об использовании таких кросс-платформенных инструментов как Xamarin и PhoneGap.

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

Xamarin – это фреймворк для разработки кросс-платформенных мобильных приложений, основанный на языке C#. Использование возможностей C# и родных библиотек iOS и Android позволяет Xamarin вносить изменения в приложение и довольно быстро его совершенствовать в течение всего жизненного цикла проекта. Большая часть кода используется одновременно для нескольких платформ, следовательно, основные усилия необходимо сфокусировать на создании пользовательского интерфейса для разных операционных систем. Поскольку все родные функции поддерживаются Xamarin, на выходе мы получаем полностью нативное приложение.

Используя PhoneGap для разработки приложений можно создать HTML, CSS и JavaScript файлы в локальной директории. Это больше похоже на разработку статического веб-сайта. Достичь представления пользовательского интерфейса в браузере в том же виде, как и у нативных приложений - задача не из легких, не так ли? В наши дни на большинстве платформ и в браузерах добиться нативного представления и адаптивности пользовательского интерфейса невозможно, даже с помощью Sencha Touch. Помимо всего прочего, способность PhoneGap взаимодействовать с другими приложениями и возможностями устройств очень ограничена. Он, в любом случае, не будет являться кросс-платформенным инструментом, поскольку в нем нет стандартов HTML5, за исключением таких, как геолокация, камера и локальные базы данных.

Для наглядности мы подвели итоги всего выше сказанного в виде таблицы. В ней мы привели сравнение результатов использования PhoneGap и Xamarin, которое выполнили по наиболее важным, на наш взгляд, критериям. Приведенные данные базируются на опыте, полученном в результате применения обеих технологий. Свое предпочтение мы отдаем Xamarin. Надеемся, что наш опыт будет Вам полезен и поможет принять решение в выборе наиболее подходящего Вам инструмента!

b_565c546f609c8.jpg

-2
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Грищёв Сергей
Как бы это не звучало в хвалебных описаниях, но в реальности картина всё-таки иная.
Для себя мы сформулировали такой принцип - намного легче сделать адаптированный мобильный сайт для компании, чем производить на свет очередную поделку, написанную на каком-либо кроссплатформенном фреймворке.
Это особенно стало актуальным в мире iOS после 8 версии и выхода устройств на 64-битной архитектуре - возможности нативного приложения - Touch ID, 3D Touch, Multipeer Connectivity, Slide Over и многозадачность на iPad - все это и многое другое, не говоря уже о безопасности данных и встроенном шифровании, предоставляет нативная мобильная разработка.

Опыт подсказывает, что кроссплатформенные решения годятся только для реализации быстрого MVP, которое при трансформации в реальный продукт потом всё равно придётся переписывать с нуля на нативных технологиях.
Ответить
Еадеск
Первая CRM для поддержки клиентов из соцсетей и мессенджеров
Nikita Lyalin
Хотел написать ваш комментарий, но вы уже всё написали. Эти штуки из статьи больше чем для прототипирования или быстрой разработки чего-то простого не годятся.
Ответить
Грищёв Сергей
На самом деле, хотелось бы услышать мнение авторов в статьи в защиту их подхода. Они ведь на этом построили серьёзный бизнес, у них опыта побольше, да и думаю, что не одну собаку они на этом съели.
Ответить
Valerie Ivanova
Здравствуйте! Благодарим за Ваше мнение, оно важно для нас. Во-первых, Ваш подход действительно хорош, если дело касается небольших решений. Но когда проект весьма объемный и предполагает наличие обширного функционала, клиенты, как правило, хотят получить не адаптивный сайт, а полноценное приложение, которое будет использовать все фичи платформы и работать быстро. Для решения таких задач мы, конечно же, разрабатываем мобильное приложение.
Во-вторых, хотим подчеркнуть, что в этой статье мы не проводили сравнение нативной и кросс-платформенной разработки. Сравнение было сделано между Xamarin и Phonegap - двумя популярными КРОСС-ПЛАТФОРМЕННЫМИ фреймворками.
В-третьих, что касается “поделок” :) Xamarin давно является не “поделкой”, а полноценной платформой, которая основана на проекте Mono. На выходе вы получаете нативные .apk и .ipa файлы, которые ничем не отличаются от приложений, собранных на нативных платформах. Perfomance hit минимален, а в случае с iOS вообще отсутствует, потому что для сборки приложения используется AOT компиляция. Для Android в .apk встраивается дополнительный runtime, который ведет к небольшому увеличению .apk файла. Все это отражается на производительности, но как в худшую, так и в лучшую стороны. Если Вам будет интересно, по ссылке можно прочесть сравнение производительности http://habrahabr.ru/post/215329/. Таким образом, как видите, Вы получаете почти что нативное приложение. Ни в одном из наших проектов у нас не возникало проблем с “чистым” Xamarin, беды бывали только с фреймворками.
Что касается “родных” фич (3D Touch, Multitasking), SDK к ним выходит довольно быстро (в течении нескольких недель после официального релиза). Это же касается и пре-релизов.
Конечно, Xamarin не является универсальным решением, но он позволяет написать бизнес-логику один раз и использовать ее повторно на всех платформах. Но чем больше работы в UI части, тем меньше от этого пользы. Отдельным плюсом можно отметить возможности языка C# и платформы .Net: Linq, generic, etc.
Из всего ранее сказанного делаем вывод, что Xamarin - стабильная, динамично развивающаяся платформа, которая позволяет повторно использовать бизнес-логику между большинством мобильных платформ.
P.S. Еще один немаловажный факт. Мы ни разу не переписывали приложения с Xamarin на натив.
Если у Вас имеются еще какие-либо мысли или мнения на этот счет, обращайтесь. С радостью обсудим!
Ответить
ubercrm
уберизация и локальные справочники
Саша Noxon
насколько я знаю приложения на вебвью не очень любят в апсторах, поэтому cordov е тут явно минус
Ответить
Valerie Ivanova
чаще всего App Store отклоняет приложение по той причине, что разработчики, использующие PhoneGap, не всегда пишут по гайдлайнам
Ответить
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.