В помощь мобильному разработчику

Как сохранить время и деньги разрабатывая на Xamarin?

Александр Алексеев

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

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

Как правило, первый вопрос, возникающий на стадии планирования, заключается в том, на какой платформе предпочтительнее построить этот проект. Это важно, поскольку каждая конкретная платформа, которая окажется выбранной для мобильной разработки, будет иметь собственный комплекс технических преимуществ и недостатков. Соответственно, в ходе процесса обнаружения важно четко определить, что действительно требуется для сборки приложения с минимальной функциональностью (MVP).

И здесь-то как раз и могут очень сильно пригодиться принадлежащие Microsoft средства разработки Xamarin. Инструменты Xamarin могут быть использованы для создания, тестирования и мониторинга кроссплатформенных мобильных приложений (преимущественно для iOS и Android). Более того, все необходимые задачи можно решить без необходимости жертвовать нативными процессами.

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

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

Здесь есть о чём подумать, ведь платформы Android и iOS мегапопулярны на мобильных устройствах, так что было бы крайне ошибочным выбрать для работы одну из них и игнорировать другую. Отметим далее, что создав проекты для двух отдельных платформ, и затем пытаясь заставить их работать схожим образом, дабы предложить пользователям одинаковый опыт взаимодействия с приложениями, можно планомерно просадить весь бюджет до дна (между тем не стоит забывать и об огромном количестве энергии, которую придётся истратить понапрасну на их создание).

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

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

Итак, каковы же выгоды использования этих ключевых преимуществ кроссплатформенной разработки с участием Xamarin? Это является выгодным в силу следующих причин:

  • Можно значительно сократить время, необходимое на то, чтобы добиться права на размещение приложения на маркете (а это может иметь решающее значение в вопросе его успешности)
  • Весь процесс разработки значительно упрощается ввиду возможности сосредоточиться на одном языке программирования (то есть, можно просто придерживаться только C# без необходимости что-то писать на Objective-C или Java)
  • По сравнению с фреймворками HTML5 и PhoneGap, Xamarin обеспечивает нативный опыт взаимодействия с приложением как на Android, так и на iOS (пользователи не увидят разницы).
  • Xamarin Insights помогает сэкономить время при выявлении багов, а также предлагает систему раннего предупреждения, благодаря действию которой можно оперативно реагировать на возникающие ошибки
  • Другие гибридные системы и основанные на веб-аналоги значительно уступают Xamarin в части функциональных возможностей
  • Xamarin предусматривает возможность наращивания, ведь здесь можно написать и повторно использовать существующий Objective-C или Java-код

 

В чём Xamarin может не оправдывать ожиданий?

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

В дополнение к этому, разработчикам следует быть осведомленными в вопросах специфики iOS и Android, когда дело дойдет до пользовательского интерфейса (UI). Основная причина этого заключается в том, что такие конкретные функции, как геопозиционирование, доступ к камере и датчикам абстрагируются за приведённым к единому знаменателю API, но не тогда, когда речь идет о пользовательском интерфейсе.

Кроме того, время, необходимое для компиляции и тестирования приложения также будет немного большим, поскольку процесс его сборки и развертывания будет немного сложнее.

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

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

Между тем здесь даётся немало поддержки, в частности потому, что генеральный директор и соучредитель проекта Нат Фридман непосредственно реагирует на поступающие жалобы и предлагает оптимальные решения. А такое нечасто увидишь!

Автор: Andrew Zola
ИсточникСсылка на статью

Александр Алексеев
Александр Алексеев

Xamarin - разработчик. Работаю с .NET платформой с 2012 года, программирую в основном с использованием C#. За это время успел поработать с ASP.NET, Entity Framework, MSSQL, Git

Написать ответ