статистика авторов: 4676 материалов: 1280 online: 7
Вход | Регистрация

Разделы сайта

Лучшие авторы

Нет Фото

mosinvestart

Исследую проблемы бизнеса и коррупции читать

abvproekt

abvproekt

"АБВ-Проект" - инжиниринговая компания с широким к... читать

Свежие комментарии

Мы в нашей компании Wellsoft используем Xamarin для разработки мобильн... читать >>

Отличная статья. Я кстати сейчас присмотрел себе в качестве сервиса но... читать >>

Есть нюансы. Разведенные попадают в категорию неженатых? Значит в ука... читать >>

Чем больше времени и внимания уделить на первых этапах, согласовательн... читать >>

Разработка мобильных приложений на Xamarin: за и против

За последние 2 года (с февраля 2013 года) технология разработки кросс-платформенных мобильных приложений Xamarin достигла уровня, когда на ней стало возможно разрабатывать мощные мобильные приложения.

Мы за это время реализовали на ней около 10 проектов и можем экспертно судить о ее достоинствах и недостатках.

Достоинства:

  • Сокращение затрат времени за счет выделения общей для всех платформ (Android, iOS, Windows Phone) части мобильного приложения. К такому коду можно отнести бизнес-логику, работу с локальной базой данных и с сетью. Практически это около 25-35% от кода проекта, и это код нужно будет писать и отлаживать однократно, и он будет вести себя  одинаково на всех платформах.
  • Разработка мобильных приложений на одном языке C#, не зная (до поры) тонкостей Java и Objective-C. Можно сэкономить время, нужное для изучения конкретного языка и борьбу с его проблемами.
  • Весь проект на одном языке программирования. В случае крупного проекта, если его бэкенд и смежные системы создаются на .NET и C#, то очень разумно весь проект создавать на одном языке программирования. Это упрощает его поддержку и развитие в будущем, сокращает зависимость от разнородных специалистов.
  • Единообразие поведения. При правильной организации работы можно добиться того, чтобы на разных платформах поведение приложения было максимально единообразным, чтобы не было своих специфических дефектов на разных платформах.
  • Проще организация поддержки. Это достоинство является логическим следствием  трёх предыдущих.

Недостатки:

  • Биндинг готовых библиотек. К сожалению, пока еще очень сложно использовать готовые нативные решения тех или иных задач, оформленные в виде нативных библиотек. Их биндинг занимает много времени и не всегда бывает удачным. Это ограничивает нас в выборе решений, лишает гибкости.
  • Проблемы со сборкой мусора. Из-за особенностей архитектуры и реализации платформы программистам, разрабатывающим на Xamarin, приходится больше заботиться о сборке мусора, чем нативным разработчикам. Но в этом есть и небольшой плюс – приходится лучше понимать жизненный цикл твоего приложения, его архитектуру и навигацию, чтобы правильно организовать работу с неиспользуемыми ресурсами.
  • Кросс-платформенная часть не такая большая, как хотелось бы. Все-таки хотелось бы еще сократить платформенно-зависимую часть. 25-35% - это мало, на наш взгляд. В идеале вообще от нее избавиться. Возможно, в этом уже скоро поможет Xamarin.Forms, но пока мы не готовы рекомендовать его для сложных проектов.
  • Необходимо знать API, жизненный цикл мобильных приложений, прочие особенности каждой платформы, под которую приходится писать, понимать код на языках для нативной разработки, и как он работает. Поэтому создать стоящее приложение, не зная ничего кроме C#, не выйдет. Но разве плохо, когда разбираешься в платформе, для которой создаешь приложение? Так что этот минус тоже имеет в себе большой плюс.
  • Стоимость. Честно говоря, стоимость лицензий нам кажется завышенной. Но мы надеемся, что со временем ценовая политика станет более демократичной, и приверженцам этой технологии она будет обходиться дешевле.
  • Форум и сообщество. Количество разработчиков нативных приложений всегда будет больше, чем пользующихся кроссплатформенными средствами. Соответственно, выше вероятность найти ответ для обычных языков и технологий. А если проблема специфична именно для Xamarin, то ситуация существенно осложняется. Но это ли не повод быть активнее на форуме Xamarin и, найдя хорошее решение, публиковать его и помогать другим разработчикам, а также авторам платформы делать ее лучше?

Резюмируя все вышеизложенное, можно сделать такие выводы:

  1. Xamarin хорошо помогает в больших проектах, созданных на C#, которые ищут выход в мобильную среду. В этом случае Xamarin - практически идеально решение. 
  2. У Xamarin пока еще хватает проблем и болезней роста, с которыми приходится мириться и которые приходится решать нам, его пользователям. 
  3. При принятии решения «использовать Xamarin или нет» нужно хорошо подумать. Прежде всего вот о чем: сколько мобильных платформ Вам нужно поддерживать, на какой платформе реализована серверная часть, будут ли активно использоваться сторонние библиотеки (сколько и какие), есть ли у Вас разработчики, хорошо владеющие Objective-C и Java в команде?  

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

"ИТ-Грандс" - разработка мобильных приложений


    Версия для печати  

Комментарии

Фото

Мы в нашей компании Wellsoft используем Xamarin для разработки мобильных приложений уже более полугода. Благодаря тому, что можно разрабатывать для всех платформ: Android и iOS на одном языке: c#, разработка идёт достаточно быстро.
Преимущество технологии в том, что 60% кода получается общим. В Xamarin есть некоторое количество неприятных багов, но их можно научиться обходить и разрабатывать на Xamarin получается достаточно просто и легко.

IT-компания Wellsoft | 06.09.2017 12:39
Коментирование доступно только авторизованным пользователям. Если Вы еще не зарегистрированы, можете сделать это прямо сейчас.

Другие статьи этой тематики

Игра, из-за которой начался финансовый кризис!

Фото

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

Категория: ПО и игры | Автор: sandersson | Добавлено: 29.04.2013

Тенденции развития браузерных игр

Фото

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

Категория: ПО и игры | Автор: kamik | Добавлено: 18.05.2013

Майнкрафт

Фото

Майнкрафт - состовляет огромный мир! В котором можно сделать что угодно. Game Minecraft понравится каждому. Ведь за игрой вы сможете построить собственный дом и погрузиться полностью в этот большой мир.

Категория: ПО и игры | Автор: refer9 | Добавлено: 12.04.2013