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

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

На сегодня Xamarin является активно развивающейся платформой, с достаточно большим сложившимся сообществом. Выбор данной платформы был принят после глубокого анализа возможности разработки приложений используя родные средства (Java, Objective C\Swift, Windows Phone Toolkit). Однако, элегантность кросс-платформенного решения все же взяла верх. Тем более, что Xamarin уже достаточно долго на рынке и помимо поддержки iOS, Android, WindowsPhone недавно начали поддерживать WinRT(что собственно и стало последней точкой в принятии решения) .

Попробую определить основные “за” и “против”, которые стояли на чашах весов при выборе решения для разработки приложений.

Итак, начнем со списка “за”:

  • Кросс-платформенное решение, что дает нам наличие общей кодовой базы в проекте, возможность писать код на одном языке, создание common-слоя
  • Используя активно развивающийся инструмент, сам невольно развиваешься. Xamarin начинает поддерживать Apple Watch\ Android Wear и многое другое; уверен в будущем также будет поддерживать. Создав приложение один раз, невольно сможешь его залить в любой Store спустя время, куда раньше даже и не планировал
  • Активно развивающееся сообщество и кодовая база. Форум на главном сайте платформы активно посещают как создатели Xamarin так и множество их MVP. Ответы даются в течение 3 часов, что лично я считаю достаточно быстро.
  • Наличие параллельно развивающихся фреймворков, типа Xlabs\Plugins\Собственного Store других бонусов для разработчиков. Присутствие TestCloud(хоть и с завышенными ценами), University и Insights. (Лично сам не занимался еще последними, ибо пока руки не доходят да и цена кусается).
  • Собственно сама платформа. Отличное покрытие кода многих сервисов, контроллов необходимых для разработки бизнесс-приложения.
  • Возможность продолжить вести разработку на любой .Net(С#), со всеми его async\await, LINQ в любимой студии. Да и мне, как WPF разработчику многое стало понятно без дополнительного поиска в гугле. Разработчики Xamarin грамотно построили архитектуру.

В списке “против” собрались:

  • Цена. Если отбросить Инди-разработчиков, то для обычных фирм по 10-15 человек, цена серьезный минус. Можно было бы и выложить за Business лицензию, но University и Test Cloud не станут доступными и требуют не малых затрат дополнительно. Цена — основной минус как по мне.
  • Проблемы с производительностью. Да, они есть, ярко выражены на платформе Android, почти не заметны под WinRT. Однако, хочу сказать, что даже Release 4.3, по сравнению с 4.2 стал намного лучше, в плане утечек памяти и постоянно вылетающих OutOfMemory and Unhandled exceptions. Да и железо продолжает страховать. Сегодня мощностью многие смартфоны не уступают нашим первым ноутбукам.

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

3 Responses

  1. Bonjour, el blog tonelada est très réussi! Je te dis bravo! C'est du Beau boulot! :)
  2. Gracias por compartir.
  3. Of course, what a fantastic website and enlightening posts, I surely will bookmark your site.All the Best!

Leave a comment