- Учимся программировать под Андроид
- Как начать разрабатывать под Android
- Авторизуйтесь
- Как начать разрабатывать под Android
- Начало работы
- Ресурсы
- Официальные ресурсы Android
- Дизайн
- Рассылки
- Коллекции библиотек
- Инструменты
- Примеры open source приложений
- Идеи для приложений
- Каков мой бюджет?
- Какая у меня маркетинговая стратегия?
- Какой список задач у данного проекта?
- Откуда будут приходить/где будут храниться данные?
- Есть ли цель заработать денег?
- Как вы будете платить вашим разработчикам?
- Какой будет способ тестирования?
- Как скоро вы хотите опубликовать приложение в магазине?
- Будете ли вы требовать или предлагать регистрацию/интеграцию с социальными сетями?
- Какова ваша целевая аудитория?
- Реализована ли уже моя идея?
- Что делать с идеями для приложений, если вы не разработчик?
- Пересмотр вашей идеи
- 30+ лаконичных профессиональных рекомендаций для Android разработчика
- 1. Лучше ознакомьтесь с внутренними компонентами Android фреймворка
- 2. Попытайтесь преодолеть страх пропустить что-то важное (FoMo — Fear Of Missing Out)
- 3. Начните читать больше кода
- 4. Подумайте об изучении большего количества языков
- 5. Самое время изучить паттерны проектирования Java
- 6. Начните вносить свой вклад в open-source
- 7. Сделайте так, чтобы ваша IDE работала на вас
- 8. Пора уделять больше внимания проектированию вашего приложения
- 9. Изучите соглашения написания чистого кода для Android
- 10. Потратьте некоторое время на изучение лучших практик Android
- 11. Эффективно используйте свое свободное время, слушая подкасты
- 12. Не переусердствуйте. Будьте реалистичными.
- 13. Попробуйте немного разобраться в дизайне
- 14. Станьте перфекционистом
- 15. Последовательность — ключ к успеху
- 16. Начните с малого. Продвигайтесь постепенно.
- 17. Всегда имейте под рукой проект песочницу
- 18. Начните писать больше тестов
- 19. Рассмотрите вопрос о принятии TDD
- 20. Настройте правильный механизм автоматического релиза
- 21. Примите подход реактивного программирования
- 22. Научитесь использовать Kotlin для разработки под Android
- 23. Посещайте митапы и будьте более общительными с другими разработчиками
- 24. Познакомьтесь с горячими клавишами
- 25. Попробуйте изучать хотя бы один новый материал по Android каждую неделю
- 26. Автоматизируйте все, что ест ваше время
- 27. Подумайте о запуске двух версий Android Studio
- 28. Периодически проверяйте все сторонние библиотеки.
- 29. Узнайте лучшие способы рефакторинга легаси кодовых баз
- 30. Всегда разрабатывайте и тестируйте на бюджетных устройствах
- 31. Купите лучшую рабочую машину, которую вы можете себе позволить
Учимся программировать под Андроид
Привет Хабр! Предлагаю вашему вниманию свободный перевод статьи «How To Learn Android Development» от Amit Shekhar.
Как изучить разработку приложений под Андроид?
Я видел много вопросов о том, как начать изучать программирование под Андроид и стать успешным разработчиком. Здесь я попытался охватить большинство важных аспектов в Android Development.
Изучение андроид-разработки — процесс, который должен проходить шаг за шагом. И данное руководство — не исключение. Никто не может стать полноценным Андроид-разработчиком за 30 дней. В этой статье также будут представлены лучшие учебники и статьи по разработке Андроид.
Итак, как разработать приложение под Андроид?
Ниже представлены темы, которые, по моему мнению, являются самыми важными для разработки приложений под Андроид:
- Прежде всего, вы должны обладать базовыми знаниями языка Java. В этом мне помогла книга Head-First Java
- Установите Android Studio IDE на свой ПК или ноутбук.
Ссылка автора - Когда вы уже подтянули знания по Java, найдите курс или книгу по разработке под Андроид. Обязательно подкрепляйте пройденное практикой
- Ознакомьтесь с жизненным циклом Андроид-приложения.
Ссылка автора
Ссылка переводчика - Узнайте о том, как отлаживать приложение.
Ссылка автора
Ссылка переводчика - Изучите про навигацию между экранами, tasks и back stack.
Ссылка автора
Ссылка переводчика - Разберитесь с тем, что такое контекст в Андроид.
Ссылка автора
Ссылка переводчика - Прочитайте про SharedPreferences.
Ссылка автора
Ссылка переводчика - RecyclerView в Андроид.
Ссылка автора
Ссылка переводчика - Фрагменты.
Ссылка автора - ViewPager в Андроид.
Ссылка автора
Ссылка переводчика - DialogFragments. Ссылка автора
- Основные потоки.
Ссылка автора
Ссылка переводчика - Сторонние библиотеки.
Ссылка автора
Ссылка переводчика - Работа с сетью в приложении.
Ссылка автора
Ссылка переводчика - БД и ORM(объектно-реляционное отображение).
Ссылка автора
Ссылка переводчика - Службы, сервисы.
Ссылка автора - Датчики, GPS, Acceleration.
Ссылка автора
Ссылка переводчика - Разберитесь, как создать пользовательское представление(view-элемент).
Ссылка автора
Ссылка переводчика - Handler in Android.
Ссылка автора
Ссылка переводчика - ThreadPool Executor.
Ссылка автора
Ссылка переводчика - Уведомления.
Ссылка автора - Загрузчики.
Ссылка автора - Поставщик контента.
Ссылка автора - Обработка изменений в режиме выполнения.
Ссылка автора - RxJava. В настоящее время также используется при разработке под Андроид.
Ссылка автора
Ссылка переводчика - Kotlin.
Ссылка автора
Ссылка переводчика - Dagger.
Ссылка автора
Ссылка переводчика - Архитектура MVP.
Ссылка автора
Ссылка переводчика - Архитектура MVVM.
Ссылка автора
Ссылка переводчика - Показатели производительности.
Ссылка автора - Стиль и правила написания кода.
Ссылка автора
Ссылка переводчика - Аннотации.
Ссылка автора
Ссылка переводчика - Советы по разработке:
Ссылка автора
Ссылка переводчика - Статья про то, как улучшить код аннотациями
- Как уменьшить размер APK-файла.
Ссылка автора
Ссылка переводчика - Оптимизация приложений под Android с помощью ArrayMap и SparseArray.
Ссылка автора
Ссылка переводчика - Git.
Ссылка автора
Хорошего кода 🙂
Источник
Как начать разрабатывать под Android
Авторизуйтесь
Как начать разрабатывать под Android
Многие программисты хотят заняться разработкой приложений под Android. Но немногие представляют, какие шаги здесь надо предпринять. Эта подборка призвана помочь новичкам в освоении Android-разработки.
Начало работы
Новичкам в программировании поможет наша вводная статья.
Для новичков в Android Google сделал хорошее введение в Android на своём сайте. Также есть замечательный краудсорсинговый гид по Android. Кроме того, есть курс от Google на Udacity.
Если у вас возникают проблемы с Android, крайне рекомендуется сперва проверить StackOverflow. Он создан для ответов на технические вопросы и даже является официальной платформой Q&A для Android.
Статьи по Android вы всегда можете найти у нас на сайте.
Я хочу начать разрабатывать под Android. С чего мне начать?
Первый и важнейший шаг в разработке под Android – это изучение Java и XML. Как только вы более менее познакомитесь и с тем, и с другим, изучите официальную Документацию по Android и пройдите несколько уроков, пока не почувствуете себя достаточно уверенным для создания собственных проектов. Удачи!
Нужно ли мне Android-устройство для разработки?
Вы можете писать приложения без какого-либо Android-устройства, используя включённый в поставку эмулятор (или усовершенствованный Genymotion). Однако для учёта аппаратных требований ничто не заменит тестирование на настоящем устройстве.
Какую IDE мне лучше использовать?
- Android Studio — официально поддерживаемая IDE для разработки под Android. Именно она используется в современных руководствах и видео, в том числе и от Google.
- Eclipse была основной IDE для разработки под Android на протяжении многих лет, поэтому большинство устаревших уроков, ресурсов, видео и скриншотов сделаны на ней.
- IntelliJ IDEA был альтернативой Eclipse, но в настоящее время разумнее начать с Android Studio. Android Studio – это ответвление IntelliJ IDEA, так что вы получите все её преимущества плюс бонусы под Android.
Может, мне стоит забыть про Java и начать учить Kotlin?
Google теперь официально поддерживает Kotlin как язык разработки под Android, но это не значит, что про поддержку Java можно забыть. В ближайшем обозримом будущем документация, инструменты, новые фичи платформы будут поддерживать как Kotlin, так и Java. Хотя Kotlin — более молодой язык с некоторыми приятными особенностями, вы всё ещё можете создавать отличные приложения на Java. Выбор зависит только от вас, но если вам не принципиально или вы новичок, то, возможно, лучше сделать выбор в пользу Kotlin.
Какое устройство/ОС/т.д. мне использовать?
По этим вопросам был проведён вопрос на Reddit, результаты можно посмотреть здесь.
Ресурсы
Здесь представлены основные ресурсы по обучению разработке под Android на английском языке. Это далеко не полный список, но достаточный для старта.
Официальные ресурсы Android
Дизайн
- Шпаргалки по Android для графических дизайнеров
- Красивости для Android – вдохновение для создания графических интерфейсов под Android.
Рассылки
- Android Weekly – замечательная рассылка, помогающая быть в курсе последних разработок Android.
Коллекции библиотек
Инструменты
- Genymotion – крайне полезный и функциональный эмулятор.
- Android Asset Studio – отличная коллекция инструментов для создания/редактирования иконок, изображений и т.д.
- Codota Plug-in для Android Studio – замечательные примеры кода прямо в Android Studio.
Примеры open source приложений
Идеи для приложений
Итак, у вас есть идея для приложения… Люди каждый день об этом пишут. Но перед тем, как просить помощи в реализации проекта, нужно ответить на следующие ключевые вопросы:
Каков мой бюджет?
Если вы настроены серьёзно и хотите выпустить свой продукт, вы должны подумать о своём бюджете. Даже в случае простого приложения нужно подумать о нескольких тысячах долларов. Хотя бы.
Какая у меня маркетинговая стратегия?
Вы собираетесь использовать обычное сарафанное радио или готовы платить за известность?
Какой список задач у данного проекта?
А также, какие есть ограничения? Сколько мне нужно разработчиков?
Откуда будут приходить/где будут храниться данные?
А также, как они будут использоваться? Разработана ли у меня соответствующая политика приватности?
Есть ли цель заработать денег?
Если да, как вы собрались её достигать? Через рекламу, IAP, подписки, платные приложения? Всё вышеперечисленное?
Как вы будете платить вашим разработчикам?
Есть ли у вас капитал или вы собрались платить им после того, как приложение начнём приносить доход? Часто независимые контрактники требуют часть полной стоимости авансом. Большинству разработчиков неинтересно разделение доходов, за исключением случаев, когда они сами вкладываются в приложение.
Какой будет способ тестирования?
На какой тип устройства вы собираетесь устанавливать его? Как много итераций вам нужно? Каких людей вы хотите вовлечь?
Как скоро вы хотите опубликовать приложение в магазине?
Это однозначно повлияет на конечный доход.
Будете ли вы требовать или предлагать регистрацию/интеграцию с социальными сетями?
Продумайте реализацию этой функциональности.
Какова ваша целевая аудитория?
Это нишевое приложение или оно может быть распространено повсюду?
Реализована ли уже моя идея?
Если да, как я могу улучшить её или что в ней отсутствует?
Что делать с идеями для приложений, если вы не разработчик?
Вы, возможно, ищете разработчиков в вашу команду для реализации приложения. Если у вас есть деньги и вы можете заплатить разработчику или фирме, то всё просто и понятно. Далее мы поговорим о том, что делать, если у вас недостаточно денег, чтобы платить кому-то.
4–5 декабря, Онлайн, Беcплатно
Осознайте, что ваша идея может быть не уникальна, а разработка требует значительных усилий.
- Нарисуйте дизайн вашего приложения (внешний вид и функциональность). Он может быть грубым и нарисован на бумаге. Но он должен быть достаточно конкретным, а не размытым.
- Составьте список своих навыков, связанных с идеей.
- Составьте список того, что вы вложите в свою идею.
Поймите, что разработка требует значительных усилий. Представьте, что разработчик работает полный рабочий день (8 часов) на протяжении 2 месяцев, чтобы создать ваше приложение. И вы также работаете полный рабочий день. Что вы делаете в это время? Если ваша работа, по вашим представлениям, заканчивается раньше, то нужно пересмотреть идею. В этом сценарии разработчик выполняет большую часть работы, и вы, честно говоря, бесполезны. То, что вы можете дать после того, как приложение закончено, не имеет особого значения и не будет мотивировать разработчика заканчивать продукт.
Пересмотр вашей идеи
Если разработчик выполняет больше работы, чем вы, нужно пересмотреть идею, чтобы распределить работу более справедливо. Это даст преимущества от совместной работы. Посмотрите на ваш список навыков и подумайте, как их можно применить. Это нормально, если приложение будет отличаться от начальной задумки. Пересматривайте его до тех пор, пока количество вашей работы и работы разработчика, как минимум, не сравняются.
- Распределяйте работу настолько справедливо, насколько это возможно.
- Фокусируйтесь прежде всего на ваших навыках.
- Ваша загрузка должна примерно равняться 2 месяцам полноценной работы. Для простых приложений загрузка, конечно, может быть меньше. Вы можете попросить сообщество (например, наше) помочь в оценке трудозатрат.
В зависимости от того, какое приложение вы хотите иметь в итоге, сейчас вы можете быть или не быть готовыми. Можно представить свою идею и получить обратную связь.
- Представьте всё. Не беспокойтесь, что идею могут украсть. Поскольку теперь идея завязана на ваших навыках, а распределение работы более справедливое, разработчику выгоднее работать с вами вместо того, чтобы делать всё самому. Используйте картинки и диаграммы, где это уместно, чтобы описать идею. Не упускайте важных деталей или того, что вы считаете тайным преимуществом. Скорее всего, оно таковым не является, и замалчивание этих деталей сделает идею размытой и недостаточно убедительной.
- Что вложите вы? Очень важно это обозначить.
- Каких взаимоотношений вы ищете? Долевое участие? Будете платить разработчику? При долевом участии нужно принять факт того, что разработчик может изменять приложение, и вам нужно будет вместе работать над тем, чего вы оба хотите. Не только вы обладаете видением того, какое направление является наилучшим.
Возможно, вам надо будет пересмотреть свою идею и внести изменения. И повторить это много раз.
Источник
30+ лаконичных профессиональных рекомендаций для Android разработчика
Специально для студентов базового курса «Android-разработчик» подготовили перевод полезного материала.
Стать Android разработчиком легко, но стать успешным Android разработчиком и выделяться на фоне остальных — нет. Требуется много тяжелой работы, страсти, преданности и настойчивости, чтобы достичь этого.
Не существует короткого пути или простого способа, которые я мог бы показать вам, чтобы вы стали действительно успешным разработчиком. Но если вы готовы приложить усилия и подойти к делу с энтузиазмом, вы обязательно добьетесь успеха, которого заслуживаете.
Если у вас есть стремление стать лучшим Android разработчиком, вот несколько профессиональных рекомендаций, основанных на моем опыте, которые помогут вам на этом пути. Итак, если вы решили начать разработку для Android или уже некоторое время работаете Android разработчиком, вы как раз там где надо.
Итак, не теряя больше времени, давайте начнем.
1. Лучше ознакомьтесь с внутренними компонентами Android фреймворка
Я имею в виду скорее знакомство с фактическим кодом фреймворка Android, нежели погружение в документацию. Я видел, как многие разработчики боялись заглянуть внутрь и погрузиться во внутренности фреймворка Android, чтобы узнать, как правильно сочетаются разные компоненты и как все работает на самом деле.
Если вам нужно повысить уровень своего владения Android, перестаньте уже уклоняться от экспедиции под капот Android SDK и разберитесь в его внутренней работе.
2. Попытайтесь преодолеть страх пропустить что-то важное (FoMo — Fear Of Missing Out)
Android большой, очень большой. Вы не можете изучить его полностью от корки до корки за месяц или два или около того. Чем больше вы будете узнавать его, тем больше новых вещей будут возникать на вашем пути. Для новичка, совершенно нормально иметь страх пропустить что-то важное.
Но постарайтесь преодолеть его. Изучайте то, что вам действительно нужно изучить, чтобы начать работу над приложением, которое вы сейчас создаете, а затем постепенно расширяйте свой кругозор.
3. Начните читать больше кода
Большинство разработчиков не тратят время на то, чтобы читать то, что пишут другие разработчики. Они проводят большую часть своего времени просто используя то, что они уже знают.
Но это не поможет вам расти как разработчику. Это не увеличит ваши познания. Вы должны начать смотреть на другие приложения и библиотеки с открытым исходным кодом и продолжать обучение. 30 минут чтения кода каждый день — хорошее начало. Вы будете удивлены, как много нового вы обнаружите, о чем вы даже не подозревали.
4. Подумайте об изучении большего количества языков
Я советую вам изучать не испанский или китайский, а новые языки программирования. Вам нужно быть в курсе происходящего в отрасли в целом, а не ограничиваться только Android.
Это расширит ваш кругозор и поможет вам значительно улучшить свои навыки Android разработки. Примите решение изучать как минимум один новый язык программирования каждый год. Но недели беглого ознакомления с новым языком лишь для того, чтобы впоследствии оставить его навсегда, будет мало. Попробуйте проникнуть в глубины языка и понять, как он работает внутри.
Совет: ознакомьтесь с этой удивительной статьей, которая поможет вам сделать лучший выбор. (СПОЙЛЕР — это Javascript)
5. Самое время изучить паттерны проектирования Java
Я не могу не подчеркнуть, насколько это может быть важно для вашей карьеры Android разработчика в долгосрочной перспективе. Всякий раз, когда вы застреваете в решении критической проблемы программирования, паттерны проектирования действительно могут помочь вам в создании элегантного решения.
Вам также нужно говорить на одном языке с другими разработчиками, чтобы, когда они говорят об использовании фабрики, декоратора или паттерна фасада, вы сразу понимали, что они имеют в виду.
Пообещайте себе изучать один новый паттерн проектирования каждую неделю.
Совет: вот отличный ресурс, который поможет вам начать изучение. Если вам больше по душе книги, то вы должны обязательно прочитать эту.
6. Начните вносить свой вклад в open-source
Если вы разработали что-то полезное и используете это в своем собственном приложении, подумайте о том чтобы сделать это открытым исходным кодом. В процессе вы будете многому учиться, что поможет вам развиваться как разработчику.
Если у вас нет ничего, что могло бы стать open-source продуктом, вы можете поискать другие интересные проекты с открытым исходным кодом с целью исправить какие-нибудь баги, дополнить документацию или написать там несколько тестов.
Даже самый маленький вклад будет полезен для сопровождающего проекта, помогая ему продолжать работу.
Совет: вот отличное руководство, которое поможет вам начать работу с открытым исходным кодом.
7. Сделайте так, чтобы ваша IDE работала на вас
Начните тратить больше времени на понимание IDE, которую вы используете — Android Studio. Она может делать гораздо больше, чем вы думаете. В IDE скрыто так много интересных функций и шорткатов, о которых большинство разработчиков даже не догадываются или даже не пытаются обнаружить.
Возьмите в привычку искать новые и лучшие способы заставить ваши инструменты работать на вас, тем самым улучшая ваш рабочий процесс и производительность.
Совет: вот замечательная статья, которая поможет вам использовать Android Studio как профессионал.
8. Пора уделять больше внимания проектированию вашего приложения
В большинстве случаев мы оказываемся в ситуации, когда мы запихиваем весь наш код в активити или фрагменты (вы можете обвинить в этом грехе и меня), превращая их в гигантские божественные объекты, которые почти невозможно поддерживать и тестировать.
Очень важно выбрать хорошую архитектуру для вашего приложения, такую как MVP, MVVM, Redux и т. д. Подумайте о том, чтобы разделить на разные уровни бизнес-логику вашего приложения, визуальную часть и взаимодействия с данными, чтобы ими было легко управлять и тестировать.
Совет: ознакомьтесь с этими практичными макетами от Google, чтобы упростить свою жизнь при разработке приложений для Android.
9. Изучите соглашения написания чистого кода для Android
Вам просто нельзя проигнорировать это. Очень трудно работать с разработчиками, которые не пишут чистый код, не соблюдая, по крайней мере, основные соглашения написания кода при разработке под Android.
Это не ракетная инженерия, и вам понадобится всего несколько часов, чтобы изучить большинство основных соглашений написания кода Java и Android. Это не должно быть разовым делом, рассматривайте это скорее как изменение образа жизни разработчика.
Совет: вот отличный ресурс, чтобы начать изучать стандартные соглашения написания кода.
10. Потратьте некоторое время на изучение лучших практик Android
Чтобы получить преимущество над другими разработчиками и создавать приложения, которые хорошо выглядят и работают, вам нужно начать изучать лучшие практики разработки под Android.
Это в некотором опыт того как надо и не надо делать, который может помочь вам стать лучшим разработчиком и выделить свое приложение среди остальных.
Совет: вот подборка лучших практик для созданию лучших приложений.
11. Эффективно используйте свое свободное время, слушая подкасты
Постарайтесь использовать свое время правильно и эффективно. Бывают случаи, когда вы едете в/из офиса, тренируетесь в тренажерном зале, едете в автомобиле, готовите и т. д., и ваш гениальный мозг не слишком занят.
Вы можете использовать такие моменты, слушая полезные подкасты про Android. Всегда предпочитайте, чтобы ваш мозг был максимально занят полезными и информативными вещами, и старайтесь максимально использовать свое время.
Совет: Fragmented Podcasts и Android Developers Backstage — это два замечательных канала подкастов для начала.
12. Не переусердствуйте. Будьте реалистичными.
Я видел, как это происходит не только со мной, но и с несколькими другими коллегами-разработчиками, с которыми я работал. Подумать о чем-то, прежде чем начать работать над этим, — это хорошо (скорее, очень хорошо), но чрезмерное планирование и анализ не приводят ни к чему, кроме ненужной путаницы, задержки и беспокойства.
Делайте то, что кажется полезным для проекта, прямо сейчас. Вы всегда сможете приспособиться к изменчивым ситуациям в будущем по мере необходимости.
13. Попробуйте немного разобраться в дизайне
Я понимаю, что, будучи разработчиком, вы уделяете основное внимание обучению написания более качественного кода, и это вполне очевидно. Но если вы хотите быть полноценным разработчиком, вам также следует каждый день уделять время изучению и пониманию UI/UX-дизайна.
Это полностью изменит ваш взгляд на приложения, которые вы вс это время программировали. Постарайтесь больше общаться и взаимодействовать с UI/UX-дизайнерами в вашей команде, чтобы лучше вникнуть в дизайн приложений.
Совет: почитайте эту удивительную книгу, если вам интересно понять, как на самом деле работает дизайн.
14. Станьте перфекционистом
Это субъективная тема, поскольку то, что является «совершенством» для меня, может не быть «совершенством» для других. Но, как правило, старайтесь всегда добиваться наилучшей версии продукта, на которую вы способны.
Никогда не соглашайтесь на меньшее. Не работайте над чем-то только потому, что так надо. Будьте увлечены работой, которую вы делаете, и делайте ее лучше, чем другие. Это поможет вам постоянно расти и становиться успешным разработчиком в долгосрочной перспективе.
Совет: Говоря о совершенстве, этот инструмент Instabug очень помог мне приблизить мои приложения к совершенству с помощью его сверхпростой, но эффективной системы обратной связи в приложении и мощного инструмента сообщения об ошибках. Благодаря этому стало очень просто получать прямые отзывы от моих пользователей и улучшать мои приложения на основе подробных и глубоких отчетов об ошибках.Его определенно стоит попробовать.
15. Последовательность — ключ к успеху
Если вы хотите быть успешным как Android разработчик (или кто-то еще в этой жизни), вы должны быть последовательными.
Делая что-то в течение нескольких дней или недель, а затем бросив, вы никуда не продвинетесь. Постарайтесь визуализировать себе, где вы хотите быть как Android разработчик в ближайшие несколько лет, и придерживайтесь своей цели, независимо от того, какие вызовы вам встретятся.
Очень легко начать делать что-то, но очень трудно продолжать делать это с той же страстью и преданностью в течение (очень) долгого времени.
16. Начните с малого. Продвигайтесь постепенно.
Как разработчик, вы всегда должны разбивать любую сложную проблему или функцию, над которой вы работаете, на маленькие, простые и независимые компоненты, которые можно легко и быстро понять и решить.
Не перегружайте себя первоначальным размером или сложностью проекта. Все можно решить, когда вы на правильном пути. Начните с малого, делайте небольшие шаги и постепенно продвигайтесь.
17. Всегда имейте под рукой проект песочницу
Наличие проекта песочницы может полностью изменить ваш способ обучения. Если вы вдруг сталкиваетесь с чем-то новым в Android, сделайте привычкой сразу же пробовать это в своем тестовом проекте.
Предположим, вы где-то обнаружили интересную библиотеку Android. Вместо того, чтобы просто просматривать документацию и API, вы должны сразу же поиграться с ней в своем тестовом проекте. Это даст вам гораздо лучшее и более глубокое понимание библиотеки.
18. Начните писать больше тестов
Я не могу не подчеркнуть, насколько это важно. Вы не можете считать фичу завершенной, пока не напишите для нее исчерпывающие тесты. Тесты помогут вам создать островки уверенности в вашем коде.
Не совершайте ошибку, пренебрегая тестированием или рассматривая его как нечто «необязательное» и делая вашу жизнь более болезненной с ошибками регрессии позже. Помните, что код, написанный без тестов, мгновенно становится легаси кодом.
19. Рассмотрите вопрос о принятии TDD
Когда вы разрабатываете приложение, подумайте над тем, чтобы сделать его надежным и эффективным, чтобы оно выдержало испытание временем.
Начните следовать циклу “красный-зеленый-рефакторинг” TDD (разработка через тестирование). Сначала напишите тест кейс, который изначально не будет пройден (красный), затем напишите реальный код, который будет проходить тест (зеленый), а затем перейдите к дальнейшей очистке и оптимизации кода (рефакторинг).
Разработка через тестирование — это способ контролировать страх во время программирования. Страх делает вас неуверенными. Страх заставляет вас хотеть меньше общаться. Страх заставляет вас уклоняться от обратной связи. Страх делает вас сварливыми. — TDD By Example
20. Настройте правильный механизм автоматического релиза
Как разработчик, старайтесь как можно меньше заниматься тем, что можно и нужно автоматизировать, например, проверкой качества приложений и релизом.
Вы должны автоматизировать механизм проверки качества с помощью таких инструментов, как CheckStyle, PMD, Lint, FindBugs. Выполнение всех модульных и инструментальных тестов перед мержем любых существенных изменений является обязательным.
Когда все эти проверки пройдены, вы получаете зеленый сигнал для публикации APK в Play Store или распространении его любым другим способом (например, Crashlytics Beta).
Совет: рассмотрите возможность автоматизации процесса релиза в Play Store, используя такие инструменты, как этот.
21. Примите подход реактивного программирования
Если вы хотите повысить свои навыки Android разработчика, вам определенно следует принять реактивный подход. Это заставит вас совершенно по-другому думать о том, как вы создаете приложения.
Реактивный путь, несомненно, поможет вам быстрее создавать интерактивные приложения и снова сделает вашу жизнь проще и увлекательнее.
Совет: вот отличная серия для того, чтобы узнать основы разработки RxJava для Android.
22. Научитесь использовать Kotlin для разработки под Android
Котлин в настоящее время является одним из самых любимых и обсуждаемых языков, когда речь заходит о разработке под Android. Это также официально поддерживаемый язык для разработки приложений под Android. Этот легкий язык приносит глоток свежего воздуха в мир Android.
Это одна из лучших вещей, которая случалась с Android разработчиками, которым надоело работать на старой доброй, многословной и подверженной ошибкам Java. Попробуйте, и вы обязательно найдете потерянное счастье в своей жизни в процессе разработки.
23. Посещайте митапы и будьте более общительными с другими разработчиками
Мы, разработчики, как правило, очень интровертны, хотим сидеть в углу с нашим компьютером и находиться в нашем собственном мире.
Но попробуйте выйти из своей зоны комфорта и больше взаимодействовать с другими разработчиками. Есть много вещей, которые вы можете узнать, посещая митапы разработчиков, социальные встречи и общаясь с другими разработчиками, которые имеют схожие интересы, как вы.
Совет: здесь можно найти информации о митапах, которые вас больше всего интересуют.
24. Познакомьтесь с горячими клавишами
Постарайтесь сделать так, чтобы ваша мышь была задействована как можно меньше. Существуют хоткеи практически для каждого действия, которое вы можете захотеть выполнить в Android Studio.
Это значительно сократит ваше время разработки и улучшит рабочий процесс. Первоначально запоминание горячих клавиш может занять некоторое время, но в долгосрочной перспективе это поможет вам перейти к по-настоящему не требующему мыши рабочему процессу.
Совет: если вы не хотите запоминать хоткеи по старинке, вот отличный плагин AS, который вам в этом поможет.
25. Попробуйте изучать хотя бы один новый материал по Android каждую неделю
В огромном мире Android есть много вещей, которые нужно изучить и понять, которые могут ошеломить вас, когда вы только столкнетесь с ними. Но жизнь станет легче, если вы пообещаете изучать один новый материал о Android каждую неделю.
Составьте список всех тем, которые вы не знаете, назначьте им приоритеты и начните побеждать их один за другой каждую неделю. Через несколько месяцев вы окажетесь намного дальше, чем начали.
26. Автоматизируйте все, что ест ваше время
Мы, инженеры, ленивы по рождению и всегда стараемся найти простой способ сделать скучную работу.
Итак, если вам нужно делать что-то повторяющееся и скучное несколько раз в день, подумайте об автоматизации. Это в совокупности сэкономит вам довольно много времени каждую неделю, которое вы можете потратить на другие продуктивные и полезные вещи, и сократит ваше беспокойство.
Совет: взгляните на этот удивительный инструмент, который может помочь вам подключить и автоматизировать связь между несколькими инструментами, которые вы используете почти каждый день.
27. Подумайте о запуске двух версий Android Studio
Всегда имейте в доступности стабильную версию Android Studio, чтобы выполнять все важные ежедневные задачи. Но также подумайте о том, чтобы иметь установленной бета-версию последней Android Studio.
Иногда есть много новых и захватывающих функций, которые пробиваются к этим ранним сборкам, которые вы хотели бы получить в свои руки как можно раньше.
28. Периодически проверяйте все сторонние библиотеки.
Мы все любим использовать библиотеки в тот момент, когда они нам нужны, и это абсолютно нормально. Но сделайте привычкой проверять все сторонние библиотеки, которые вы добавляли время от времени, и удалять те, которые вам больше не нужны.
Если вы используете только небольшую часть определенной библиотеки, рассмотрите возможность ее извлечения вместо использования всей библиотеки. Периодический аудит также поможет вам обновить библиотеки, которые также требуют срочного обновления.
29. Узнайте лучшие способы рефакторинга легаси кодовых баз
Не делайте ошибку полного рефакторинга огромной легаси кодовой базы. Это приведет вас в ловушку, откуда нет выхода.
Скорее рассмотрите возможность рефакторинга частей кодовой базы, над которыми вам нужно работать прямо сейчас, а затем медленно расширьте его до других частей, когда это будет необходимо. Кроме того, рассмотрите возможность написания тестовых примеров для части, которую вы хотите изменить, прежде чем касаться любого кода, который, как вы подозреваете, может нарушить существующие функции.
Совет: эта книга полностью изменила способ работы с легаси кодом. Вы обязательно должны прочитать ее.
30. Всегда разрабатывайте и тестируйте на бюджетных устройствах
Если вы хотите разрабатывать приложения как профессионал, никогда не допускайте ошибок при разработке и тестировании приложений на устройствах высокого класса. Как правило, мы, разработчики, владеем высококлассными флагманами и также используем их для разработки и тестирования приложений. Но это то, от чего вы должны абсолютно воздерживаться.
Постарайтесь приобрести самые дешевые и недорогие устройства, какие только можно найти на рынке, и выработайте привычку разрабатывать приложения только для них. Вы начнете видеть множество недостатков в своих приложениях, о которых раньше не подозревали.
31. Купите лучшую рабочую машину, которую вы можете себе позволить
Никогда не совершайте ошибку, покупая дешевую рабочую машину, чтобы каждый день превращать свой опыт разработки в мучения.
Подумайте об использовании Mac (вместо Windows) для разработки. Вы влюбитесь в его простоту и стабильность.
И если вы покупаете MacBook, подумайте о том, чтобы приобрести тот, который обладает лучшими характеристиками. Несколько сотен долларов не разорят вас, и вы всегда будете благодарны за то, что приняли это решение.
Надеюсь, что эти советы помогут вам стать лучшим Android разработчиком. Вы прочитали и поняли эти советы, но пришло время преобразовать их в реальные действия, и только тогда вы сможете ощутить их реальную силу.
Если вы сочли эту статью полезной, рассмотрите возможность рекомендовать ее своим друзьям, коллегам, врагам или всем, кому вы хотите, через социальные сети.
Источник