Еще одна причина нелюбви разработчиков к Android
В очередной раз я хотел бы затронуть тему приложений для iOS и Android. Есть iOS-приложения, которые я очень хотел бы использовать на Android-смартфоне, но они либо не появляются в Google Play, либо появляются позднее, и это при том, что Android остается самой популярной мобильной ОС. Неоднократно мы говорили, что отчасти в этом виноваты пользователи Android, которые менее охотно платят за приложения. Однако есть и другие причины, которые кроются в тонкостях разработки под разные платформы.
Свет на проблему пролил разработчик Infinum, который опубликовал результаты наблюдений в своем блоге. Взглянув на несколько последних проектов, каждый из которых был опубликован в App Store и Google Play, разработчик заметил, что версия приложения под Android требует на 38% больше времени и трудов программиста, чем iOS-версия. В его самом большом проекте Android-версия содержала на 6% больше кода, в то время как проект, в iOS-версии которого было всего 5000 строк кода, потребовал написать 14 000 строк для Android-приложения.
Нет ничего плохого в большом объеме кода, но, как следствие, разработка под Android требует больше времени и усилий, она может стать дороже, а вероятность допустить появление бага увеличивается. Разработчик Infinum использовал специальный сервис Productive, чтобы выяснить, насколько больше времени занимает разработка приложения для Android. Приблизительно на 30% больше времени уходит на разработку, в сравнении с потраченным временем на создание iOS-приложение. Вот несколько проблем, на которые разработчик хотел бы обратить внимание:
- Больше кода — приложения для Android пишутся на Java. Этот язык программирования является более подробным в сравнении с Objective C и Swift. Приходится писать больше кода, а это увеличивает затраченное на разработку время и вероятность появления багов.
- Эмуляторы медленнее — эмуляторы Android работают медленнее эмуляторов iOS, что также влияет на время разработки.
- Фрагментация — разнообразие устройств заставляет тратить больше времени и усилий на тестирование приложения, и некоторые баги появляются на устройствах, о существовании которых разработчики могут даже не догадываться.
Прибавим ко всему этому уже известную проблему с нежеланием платить за приложения из Google Play, и станет понятно, почему разработчики, которые хотят продавать свое приложение без рекламы, не так сильно торопятся выпустить версию под Android, в то время как iOS-версия уже готова и приносит им деньги.