ТОП-10 разочарований, с которыми сталкивается каждый Android-разработчик

Перевод статьи Адама Синицки о трудностях Android-разработки, которая была размещена на сайте Android Authority.


Разрабатывать под Android — потрясающе. Это полностью открытая система с кучей обучающих материалов и огромным коммьюнити, готовым помочь. Она установлена на бесчисленном количестве девайсов, а потенциальный хит за счет удобства распространения может создать каждый… бла-бла-бла!

Ничто не идеально и, к сожалению, Android-разработка – тоже. Разработчикам придется столкнуться с множеством преград и просто раздражающих моментов. Создание чего-то под Android гораздо более утомительно, запутанно и разочаровывающе, чем должно быть.

Что ж, давайте немного выпустим пар…

1. Настройка


К сожалению, первое впечатление от Android-разработки не будет приятным. Нужно сделать столько всего: от скачивания всех нужных компонентов (IDE, SDK, JDK) до прописывания путей и запуска виртуальной машины. В самом лучшем случае – это просто немного долгий, раздражающий процесс, который отнимет немало места на компьютере (особенно системные образы при использовании эмулятора). Но практически всегда что-то работает не так, как нужно, и поиск проблемы сильно затягивается. Например, в последний раз я использовал для загрузки папку с пустыми пробелами в названии. Из-за этого теперь приходится каждый раз загружать новые SDK от имени администратора.

Папка «Android SDK» довольно большая, особенно на жестком диске со 128 ГБ памяти

Я не говорю, что это прямо-таки ужасно – уж точно лучше, чем Eclipse – но могло бы быть гораздо лучше, чем есть сейчас.

2. Обновление


После настройки и запуска все будет работать хорошо какое-то время. Но лишь до тех пор, как понадобится обновить Android Studio или провести тест на новой версии Android. Тогда-то и появятся новые ошибки – придется потратить немало времени на их поиск и исправление. Опять же, это не фатально, но мешает рабочему процессу и пожирает время, а время, как известно, деньги.

Ура...

3. Тестирование


Тестирование на Android – боль, оно точно не должно быть настолько трудным. Для начала, эмулятор, который идет вместе с Android Studio, супермедленный. Часто кажется, что он просто не запустится на старом железе (включая даже мой Surface Pro 3). Даже если эмулятор заработает или же вы решите протестировать приложение на реальном девайсе, придется очень долго ждать.

Самое надоедливое из всего – это когда по случайности жмешь «Build & Run», и приходится дожидаться окончания процесса. Конечно, есть кнопка «Отменить». Только она не работает. Действительно, а зачем?

Можно пользоваться альтернативным эмулятором, например, Genymotion, но если применять его для коммерческого использования, придется покупать лицензию. Да и это все еще не болид Формулы-1, мягко говоря. А еще можно использовать обычные смартфоны, но это провоцирует следующую проблему.

4. Фрагментация


Это – самая известная трудность разработки под Android. Здорово, что ОС установлена на таком количестве девайсов, что есть огромный выбор планшетов и телефонов. Но это совсем не здорово, когда речь заходит о создании приложений и попытках убедиться, что они смотрятся хорошо на всех устройствах.


Также не здорово то, что на смартфонах вроде Samsung система не оригинальная. Не здорово и то, что огромная аудитория использует старые версии Android. Приходится выбирать: внедрить новую фичу, ограничив число пользователей, или сделать игру/приложение для всех, но упустив хорошую функцию.

Когда мы с другом выпустили лаунчер, мы пригласили достаточно много людей на бета-тестирование, чтобы убедиться, что он нормально работает. Мы очень старались, чтобы у всех все было хорошо. Тестировали лаунчер несколько месяцев. И как только мы опубликовались в Google Play, появились отчеты об ошибках. Посмотрите отзывы в магазине и увидите, что даже с AAA-проектами с огромными бюджетами у людей случаются проблемы.

Отзывы о Modern Combat 5. До 50 млн загрузок, один из крупнейших издателей – Gameloft

5. Редактор макетов


Просто чтобы посыпать соль на рану. До определенного момента инструменты Android Studio для создания дизайна полезны, и настолько же они бесполезны, когда хочешь сделать что-то посложнее. Поэтому, скорее всего, большую часть дизайна вы сделаете самостоятельно через XML или даже придется программировать (мой любимый метод). Приходится просматривать тонны документации, где объясняется, как добавить простые элементы интерфейса. Нам очень повезло, что в AS вообще есть редактор, да и не проблема это, если вы предпочитаете программировать, как я… Но вот в iOS такой проблемы нет, и просто перетаскивать картинки и иконки на нужные места было бы гораздо удобнее.

6. Специфика программирования под Android


Я мог бы привести кучу примеров, показывающих, какое оно – программирование под Android. Многие действия недостаточно прямолинейны. Давайте взглянем на парочку таких.

Многопоточность – это боль, элементы UI из других потоков не обновляются и приходится придумывать какие-то обходные пути. Смена ориентации экрана – тоже боль, потому что надо переделывать все вручную. Работа с API – не из легких. Часто простая задача затягивается, ведь есть несколько путей ее решения и непонятно, какой лучше. В итоге, обучение получается неоправданно сложным и запутанным.

Это справедливо для программирования под все ОС (особенно мобильные). Впрочем, это не отменяет того факта, что обучение чересчур усложнено.

7. Неактуальная информация


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


Конечно, классно, что Android постоянно развивается. Тем не менее, когда постоянно меняются способы решения проблемы, найти нужный гайд – дико сложно. Подскажу небольшой костыль, который может помочь: при поиске в Google выводите результаты только за последний год.

8. Пользователи


Со стороны разработчика порой кажется, что пользователи – агрессивные идиоты. Я постоянно получаю письма с требованиями вернуть деньги. В этом нет ничего страшного, только вот это спокойно делается через Play Store. Я часто получаю негативные отзывы от людей, которые просто не поняли, что умеет приложение (потому что не читали описание), и чувствуют себя обманутыми. Люди возмущаются тому, что за приложение нужно платить или просто просят дать его бесплатно. Хотят, чтобы я внедрил какие-то невероятные возможности.

Им надо заплатить $1.60. За приложение, над которым я работал не один год. Это намного меньше, чем стоит чашка кофе. Поэтому моя мечта работать разработчиком на самого себя так и остается мечтой.

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

9. Пираты



Еще сильнее удар в сердце получаешь, когда находишь находишь свое приложение в интернете с возможностью бесплатно его скачать на каком-то пиратском сайте через неделю после релиза. Если я буду гуглить свое приложение, то второй, третий, пятый и седьмой результаты – это сайты, где APK можно скачать бесплатно. С этим можно жить, но еще больше меня выводит из себя тот факт, что мое самое неудачное приложение тоже пиратят. Купили его только 15 человек, но до сих пор происходят пиратские установки. Это большая проблема Android, которая сильно бьет по разработчикам.

10. (Относительно) низкая прибыль


Что же, вы с боем установили Android Studio, разобрались с обновлением, продрались сквозь редактор дизайна и API. Пережили плохие отзывы, побороли пиратов и свели на нет ущерб от фрагментации. Что в итоге? Намного меньше денег, чем на iOS. Или на ПК. Даже в Steam!

Выводы


Все не так плохо! На самом деле, у меня все отлично; я просто сгущал краски. Как я писал в начале, в Android-разработке есть шикарные преимущества и много доводов за то, чтобы ею заниматься. На Android Authority есть необходимые инструкции (актуальные), которые помогут в начале. Если хотите почитать кое-что более позитивное об этом, я публиковал статью о преимуществах работы Android-девелопером.

Похожие статьи

  • Android 7.1.1 Nougat вышел для устройств Nexus и Pixel
    Образы Android 7.1.1 Nougat сегодня стали доступны для устройств Nexus и Pixel. Образы для установки вручную выложены на сайте Google для разработчиков. По слухам, обновление по воздуху начнется завтра, 6 декабря.
  • Первый смартфон получил Android 7.1.1 Nougat
    По полуофициальной информации, Nexus-смартфоны должны были начать обновляться на Android 7.1.1 Nougat 6 декабря. Ожидалось, что они будут первыми девайсами на базе новой версии ОС. На деле же еще вчера, 2 декабря, обновление пришло на General Mobile 4G из серии доступных смартфонов Android One.
  • Финальная версия Android 7.1 выйдет 6 декабря
    Недавно вышла последняя тестовая версия Android 7.1 Nougat для разработчиков. В декабре выйдет уже финальная сборка, которая придет на все актуальные устройства. Стало известно, когда Google будет распространять обновление – 6 декабря.
  • Новая версия Google Play Services не будет работать с Android 2.3
    Следующая версия Google Play Services под номером 10.2 выйдет в начале 2017 года и не будет поддерживать старый-добрый Android 2.3 Gingerbread. "Имбирный пряник" вышел в 2010 году, и сейчас на нем работает 1,3% Android-устройств.
0 комментариев
Вы можете оставить свой комментарий, но для этого войдите, кликнув на иконку удобной Вам социальной сети
Быстрый вход без регистрации