Xamarin vs PhoneGap: выбираем инструмент для разработки мобильного приложения
Работая в сфере быстро меняющегося, инновационного бизнеса разработки мобильных приложений, мы пришли к выводу, что в этой нише необходимо всегда быть в мейнстриме и иметь понятие о новых мобильных решениях и доступных возможностях.
По результатам применения различных технологий и подходов к разработке мобильных приложений в течение нескольких лет, мы можем подвести итоги и сделать некоторые выводы об использовании таких кросс-платформенных инструментов как Xamarin и PhoneGap.
Выбор технологии обычно основывается на нескольких факторах, таких как сроки разработки, стоимость продукта и его цели. Например, для базовых приложений с довольно простым функционалом и пользовательским интерфейсом подойдет любое решение. Но если продукт сложный, или предполагается, что он будет постепенно приобретать дополнительные функции, выбор технологии должен проводиться более тщательно.
Xamarin – это фреймворк для разработки кросс-платформенных мобильных приложений, основанный на языке C#. Использование возможностей C# и родных библиотек iOS и Android позволяет Xamarin вносить изменения в приложение и довольно быстро его совершенствовать в течение всего жизненного цикла проекта. Большая часть кода используется одновременно для нескольких платформ, следовательно, основные усилия необходимо сфокусировать на создании пользовательского интерфейса для разных операционных систем. Поскольку все родные функции поддерживаются Xamarin, на выходе мы получаем полностью нативное приложение.
Используя PhoneGap для разработки приложений можно создать HTML, CSS и JavaScript файлы в локальной директории. Это больше похоже на разработку статического веб-сайта. Достичь представления пользовательского интерфейса в браузере в том же виде, как и у нативных приложений - задача не из легких, не так ли? В наши дни на большинстве платформ и в браузерах добиться нативного представления и адаптивности пользовательского интерфейса невозможно, даже с помощью Sencha Touch. Помимо всего прочего, способность PhoneGap взаимодействовать с другими приложениями и возможностями устройств очень ограничена. Он, в любом случае, не будет являться кросс-платформенным инструментом, поскольку в нем нет стандартов HTML5, за исключением таких, как геолокация, камера и локальные базы данных.
Для наглядности мы подвели итоги всего выше сказанного в виде таблицы. В ней мы привели сравнение результатов использования PhoneGap и Xamarin, которое выполнили по наиболее важным, на наш взгляд, критериям. Приведенные данные базируются на опыте, полученном в результате применения обеих технологий. Свое предпочтение мы отдаем Xamarin. Надеемся, что наш опыт будет Вам полезен и поможет принять решение в выборе наиболее подходящего Вам инструмента!