Разработка
Разработка под Android: советы самому себе
Если бы я мог путешествовать во времени и встретить самого себя еще до того, как начал изучать разработку под Android, я бы посоветовал себе следующее.
Ачин Сагар на Quora объяснил самому себе, как разработка под Android меняет мир.
Если бы я мог путешествовать во времени и встретить самого себя еще до того, как начал изучать разработку под Android, я бы посоветовал себе следующее:
Не отчаивайся, все будет в порядке. Хотя объем знаний выглядит чудовищным, нужно брать одну вещь и осваивать ее. Не нужно хвататься за все сразу (на самом деле ты и не сможешь сделать это), так что не паникуй.
Не думай, что ты лучший программист на свете только потому, что ты сделал приложение для Android в одиночку, тогда как над Facebook, Instagram и прочими работали целые команды. Большая часть твоего кода дерьмо, и только то, что он у тебя работает, не означает, что он будет работать у миллионов людей.
Предварительная оптимизация это грех. Не беспокойся о том, чтобы с первого раза написать самый оптимальный код. Заставь его работать, а потом уже переделывай столько, сколько захочешь.
Не думай слишком много перед разработкой чего-либо (хотя я делаю это даже сейчас). Ты потратить всю свою энергию на измышления, и в конце концов сдашься из-за перегруженности.
Тебе не нужно изучать все концепции Java до того, как начинать делать Android-приложение. Одной недели достаточно для написания простого работающего кода, а больше ты узнаешь в процессе разработки.
Этот совет я дал себе два года назад, и он до сих пор работает. Не используй Eclipse, он помирает. Переключайся на Android Studio, это сделает твою жизнь проще.
Купи настоящий телефон на Android, если это возможно. Эмулятор Android это ад, ты будешь тратить массу времени на ожидание. Кроме того на эмуляторах что-то не работает. Если эмулятор это единственная возможность, используй Bluestacks (я до сих пор использую).
Исследуй много кода. Не трать все время на написание, ты перестанешь расти после определенного уровня. Проводи время за изучением кода открытых Android-приложений, и ты многому научишься.
Самостоятельная работа не особое достижение. Работай в команде и многому научишься. Написание кода, который понятен другим это большее достижение, чем написание кода, который только ты можешь понять. И это поможет тебе после поступления на работу, иначе у тебя будут неприятности.
Добавление к предыдущему пункту. Чтобы узнать, как правильно структурировать приложение – изучай код open source приложений, чьи методики разработки нашли подтверждение. Если ты не будешь следовать таким правилам, то твоя разработка под Android будет беспорядочной, и ты будешь проводить много времени, отлаживая код.
Документируй, где это возможно. Даже ты не сможешь понять написанное спустя 3 месяца. И будет проще переписать с нуля, чем проверить все части кода.
Отдавай приоритет UI/UX. Пользователю все равно, сколько у приложения функций или сколько часов ты провел, создавая всю сложную начинку.
Меньше – больше. Больше функций не принесет тебе больше пользователей. Внедряй только необходимые, которые работают каждый день, а не кучу выдуманных, которыми пользуются только раз в жизни.
Прими все меры предосторожности, чтобы приложение не падало. Пользователи ненавидят сбои, они удалят приложение немедленно. Это должно быть твоим главным приоритетом.
Постарайся сохранять размер приложения на минимальном уровне, удаляй все ненужные ресурсы.
Не запрашивай все разрешения, которые возможны, бери только те, что необходимы. Иначе пользователи насторожатся.
Не изобретай колесо. То, что ты делаешь, делали уже миллионы раз до тебя, и делали гораздо лучше. Копируй код когда это возможно (на самом деле, это одна из лучших привычек Android-разработчика).
Используй все известные библиотеки. Не делай HTTP запросы напрямую в коде, это не работает. Используй Retrofit/Volley и сохрани себе время. Используй Picasso/Glide для загрузки изображений. Не используй документацию Facebook для логина, используй библиотеку. Максимально удаляй весь шаблонный код.
Тебе не нужно делать приложение, работающее на первой версии Android. Просто убедись, что ты поддерживаешь все версии, покрывающие 90% устройств. Не трать свое ценное время на оставшиеся 10%.
В поиске в Google ты будешь получать много устаревших результатов, которые будут вводить тебя в заблуждение. Используй настройки поисковика для вывода данных только за последний год. Это во многом тебе поможет.
Исследуй красивые приложения для вдохновения и понимания того, как все делается. Разработка под Android — это постоянное обучение на таких шаблонах.
Подпишись на Reddit для получения новостей. Он будет держать тебя в курсе последних разработок и поможет вдохновляться на работах других.
И, наконец, задай вопрос типа этого на Quora или Reddit до начала разработки :).