double arrow

Сильные и слабые стороны кросс-платформенной разработки.


Преимущества кроссплатформенной разработки:

1. Экономия бюджета — использование одной технологии и набора графики снижает количество рабочих часов и бюджет проекта;

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

3. Поддержка и обновление продукта — добавление функционала или исправление ошибок сразу для всех платформ;

4. Мобильная версия сайта — большинство кроссплатформенных решений позволяют генерировать мобильную версию сайта из приложения;

5. Единая логика приложения — логика приложения будет одинаково работать для всех платформ. Написанная и отлаженная логика содержит потенциально меньшее количество ошибок и расхождений в своей работе.

6. Так как UI описывается только в одном месте, то приложения под разными системами будут выглядеть очень похоже. Что может быть важно, например, в корпоративных разработках.

Минусы кроссплатформенной разработки:

1. Медленная работа приложения;

2. Не используются уникальные особенности платформы;

3. Новый программный и аппаратный функционал не доступен для реализации сразу после выпуска обновлений.




4. Для сборки и отладки приложения, например, под iOS потребуется Mac или виртуалка, т.е. дебаг будет идти не на одной машине, как при нативной разработке.

5. Поддержка приложений со стороны App Store и Google Play — Apple и Google предъявляют высокие требования к качеству приложений в сторах. Приложение должно быть красивым, удобным и быстро работать, если приложение не соответствует, его не пропустят в магазин. Кроссплатформенное приложение никогда не будет рассмотрено для размещения в специальных рекламных разделах (Featured), кроме игровых приложений.

6. Отсутствие абстракций над платформенными особенностями у Xamarin. Это означает, что хоть разработка и идет на привычном С#, не всегда удается абстрагироваться от особенностей конкретной платформы (например, при сворачивании приложения у андроида и iOS разный алгоритм действий). Это придется знать и учитывать. То есть Xamarin не спасёт (или не всегда спасет) вас от необходимости тщательно изучать особенности каждой из мобильных платформ.

7. Утечки памяти при разработке на Xamarin, так как в iOS используется подсчет ссылок, а в Xamarin сборщик мусора.

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

 







Сейчас читают про: