что нужно изучить андроид разработчику
Как стать Android-разработчиком с нуля: дорожная карта
Как стать разработчиком Android-приложений с нуля, с чего начать и куда развиваться — поможет понять дорожная карта:
Java или Kotlin?
Мы уже проводили сравнение Java и Kotlin, в ходе которого пришли к выводу, что оба языка важны. Так, без знания Java будет сложно разобраться в Kotlin, который всё ещё использует JVM. С другой стороны, Kotlin сделал большой шаг вперёд и ориентируется именно на Android-разработку, тогда как Java используется также для бэкенда, десктоп-приложений и Big Data.
Начало работы
Скачайте Android Studio и разберитесь с данной IDE.
Теперь настало время поближе познакомиться с выбранным языком. Если вы решили со старта взяться за Kotlin, имейте в виду, что документация предполагает хотя бы базовое знание Java.
Что Kotlin, что Java являются полноценными ООП языками, поэтому освойте принципы объектно-ориентированного программирования.
Изучите структуры данных и алгоритмы, подкрепите теорию практикой.
Скачайте систему автоматической сборки Gradle, потому как ручная сборка проектов с указанием нужных библиотек и фреймворков — процесс трудоёмкий.
Система контроля версий
Если вы ещё не работали с VCS, самое время начать. Изучите возможности и основные команды Git, выберите для себя один из веб-сервисов для хостинга проектов и попрактикуйтесь на первых репозиториях.
Android Architecture
Различные паттерны разработки позволяют повысить качество кода, сделать его более понятным и масштабируемым. К основных паттернам относятся:
Подробнее о них можно узнать из статьи.
Создание приложений
А здесь самое интересное.
Activity в Android — это по сути окно приложения. Простые приложения состоят из одного окна, сложные — из двух и более. Жизненный цикл Activity включает в себя шесть коллбэков:
Далее изучите создание гибких интерфейсов с использованием фрагментов и начните выполнять отладку с помощью Android Studio Debugger.
Для работы с компонентами используйте такие инструменты, как Room, Navigation, WorkManager, LiveData, Data Binding. Из сторонних библиотек будут полезны Glide, Retrofit, GSON и Firebase.
Разберитесь с Intent для взаимодействия между объектами Activity и объектом Context, который предоставляет доступ к ресурсам и другим объектам, в том числе к Activity.
Ну и как стать Android-разработчиком с нуля без практики? Следуйте инструкциям из данного видеоурока и подключитесь к NASA через API, чтобы получить доступ к фотографиям из космоса:
Продвинутая разработка
Продолжайте развиваться, осваивая безопасную разработку. Для тестирования подойдут фреймворки JUnit и Espresso, для управления зависимости — библиотеки Dagger и Koin. Дополнительно почитайте о параллелизме и многопоточности, узнайте, что это и как используется в создании Android-приложений.
Заключение
Так как же стать Android-разработчиком с нуля? Определитесь с языком программирования, научитесь работать с Android Studio, Gradle и веб-сервисом для хостинга проектов. Вам предстоит разобраться в основных паттернах и их отличиях, изучить создание гибких интерфейсов, а также подключаться к другим сервисам через API. Продвинутая разработка предполагает тестирование, управление зависимостями, работу с параллелизмом и многопоточностью.
Кто такой Android-разработчик. Обзор изнутри от Артёма Шабана
Про Android-разработку рассказывает Артём Шабан, Development Director в Onde.
Продолжаем цикл материалов про ИТ-специальности. Каждую из них описывает «типичный представитель» — опытный специалист. Мы надеемся, эти материалы помогут школьникам, студентам, переквалификантам, джуниорам и сочувствующим выбрать специальность в ИТ, оценить перспективы или просто сверить часы с авторитетным коллегой. Обсуждайте и дополняйте материал в комментариях, чтобы сделать его ещё полезней.
Про Android-разработку рассказывает Артём Шабан, Development Director в Onde.
Продолжаем цикл материалов про ИТ-специальности. Каждую из них описывает «типичный представитель» — опытный специалист. Мы надеемся, эти материалы помогут школьникам, студентам, переквалификантам, джуниорам и сочувствующим выбрать специальность в ИТ, оценить перспективы или просто сверить часы с авторитетным коллегой. Обсуждайте и дополняйте материал в комментариях, чтобы сделать его ещё полезней.
— 7 лет в разработке;
— опыт в Android-разработке — около 5 лет;
— пришёл в Onde джуном и прошёл весь путь до сеньора и тимлида;
— сейчас моя роль в Onde — Development Director.
В общем виде цель работы Android-разработчика — разработать мобильное приложение так, чтобы пользователь открыл его и сказал: «Вау! Оно решает мою проблему». Весь труд разработчика направлен на выполнение данной цели.
Мобильный разработчик старается максимально облегчить жизнь пользователю: приложение не должно «вылетать»; оно не должно тормозить даже на старых или дешёвых устройствах (ведь Android-смартфонов очень и очень много!); интерфейс, который создают дизайнеры и реализуют программисты, должен быть удобен и понятен. Такие задачи разработчик решает каждый день.
Компания поставляет инновационное программное обеспечение для on-demand предприятий с 2011 года. В компании 70+ энтузиастов и энтузиасток, стремящихся улучшить транспортное сообщение во всех уголках планеты.
Главная специализация Onde — разработка софта, необходимого компаниям для on-demand доставки, заказа такси и услуг. Клиенты компании находятся в 60+ странах и составляют активную и уникальную группу предпринимателей в сфере on-demand мобильности.
Как Android-разработка отличается от других видов разработки (и, по-моему, круче их всех)?
На самом деле, все виды разработки важны. Важен бэкенд, который обеспечивает правильную работу приложений на серверах. Спасибо «бэкендерам» за это! С фронтендом пользователь сталкивается в первую очередь, потому что именно «фронтендеры» разрабатывают интерфейс (UX/UI) приложения. Как известно, встречают по одёжке — поэтому чем круче UX/UI, тем больше шансов у приложения стать популярным.
Но самые крутые ребята — «мобильщики» — разработчики, которые создают сами приложения. Быть «мобильщиком» круто хотя бы потому, что ты всегда можешь увидеть и показать другим результаты своего труда. Бэкенд-разработчик не может открыть своё приложение перед мамой, женой или другом и сказать: «Смотри, как круто я сделал!». Если ты работаешь мобильным разработчиком в крупной компании, то твоими приложениями будут пользоваться сотни тысяч или даже миллионы людей. Это вдохновляет.
Почему Android, а не iOS?
Мобильная разработка ведётся на двух самых популярных платформах: Android и iOS. И здесь начинается настоящий холивар. Объясню, почему я когда-то сделал выбор в пользу Android.
Как Android-разработчик работает над приложением?
Основные этапы разработки выглядят примерно так.
Когда приложение готово и вышло в Google Play, работа разработчика не заканчивается. Ему предстоит поддерживать, изменять и улучшать программу.
Приведу пример типичной задачи. UI-дизайнеры перенесли кнопку в другое место интерфейса и изменили её цвет. Разработчику нужно поменять разметку (layout) приложения. И далее — проверить, что кнопка правильно расположена на разных ориентациях экрана, а при нажатии она правильно меняет цвет, тень, положение. Вы же помните, что Android-девайсов великое множество? Так вот надо ещё убедиться, что кнопка будет правильно располагаться и отображаться на экранах разного размера и разрешения.
Какие инструменты использует Android-разработчик?
Сейчас большинство Android-разработчиков пишет код на Kotlin, но ещё пару лет назад все писали на Java. Эти два языка похожи (оба относятся к группе JVM-языков), поэтому переходить с одного на другой несложно. Если совсем просто, то Kotlin — тот же Java, только немного красивей и приятней. Сегодня Kotlin — один из официальных языков для Android.
Что должен знать и уметь Android-разработчик?
Скиллы разработчика сильно зависят от его уровня. Деления на такие уровни всегда условны, и абсолютной градации нет. Для простоты выделю для разработчика три роли: джун, миддл и все остальные (сеньор, тимлид, технический директор и пр.).
Для себя я определил очень простой способ их различать — по уровню задач. Джун всегда решает элементарные и понятные задачи. Миддл уже справится с любой задачей. Он сделает её правильно, но, скорее всего, не с первого раза — ему придётся совершить несколько итераций. А вот сеньор или «равный» ему специалист сразу справится с любой, даже самой сложной задачей.
Можно сравнить разработку программ со сборкой автомобиля. Джуну для сборки понадобятся детали и инструкция. Придётся хорошенько постараться, но рано или поздно машину он соберёт. Миддлу дай запчасти — и авто будет готово. А вот сеньор — тот человек, который может спроектировать машину с нуля. Достаточно поставить перед ним общую задачу: «машина должна быть быстрая» или «это должен быть внедорожник».
Джуну дают типовые задачи начального уровня. Обычно они связаны с UX/UI: добавить в интерфейс кнопочку, изменить параметры того или иного элемента. Другими словами, в хорошо известных местах приложения он меняет понятные кусочки кода. Основной скилл джуна — умение учиться. По моему мнению, для джуна в принципе не очень важны знания конкретных технологий (языка программирования или фреймворка). Знания очень быстро устаревают. Единственное, что не устаревает, — это способность думать и учиться.
Миддлу не страшно дать любую задачу, и он точно с ней справится. Большинство программистов (независимо от того, как их роли называются в конкретной компании) — миддлы. В Беларуси эта роль начинается после двух лет хорошего опыта. Миддл работает с уже готовой архитектурой. Знает, как она работает, знает её базовые компоненты. Он уже отлично владеет языками программирования и фреймворком Android.
Сеньор не только знает и понимает архитектуру приложения, но может и сам её спроектировать. Он решает концептуальные задачи. Сеньору, в дополнение ко всем перечисленным навыкам миддла, необходимо очень развитое абстрактное мышление. На этом уровне программирование превращается в настоящее творчество.
Есть ли жизнь после сеньора?
Почти любой разработчик идёт по этой лестнице — джун-миддл-сеньор. Дальше перед ним открываются два концептуально разных пути.
Он может развиваться в хард-скиллах — вырасти в очень крутого технического специалиста. Это может быть Principal Developer или Solution Architect. Они решают технические задачи высшего порядка: концептуальные проблемы с перформансом или кросс-платформенностью, сами проектируют программы.
Второй путь — менеджерский. Сеньор может стать тимлидом, а из тимлида вырасти в технического директора — СТО. Это вершина развития технического менеджера.
И, конечно, всегда можно открыть свою компанию и развивать собственные идеи и продукты.
Что читать и где учиться
Не буду рекомендовать много книг. Признаюсь честно: сам я до конца не прочитал ни одной книжки по программированию. Хотя наверняка кому-то книжки нравятся и помогают.
Очень рекомендую всем новичкам писать свои приложения. Это звучит сложно, но на деле это не так.
Как бы я сейчас учился программировать под Android? Во-первых, нашёл бы бесплатный курс по программированию. Во-вторых, посмотрел бы видео-гайд по созданию своего приложения. Параллельно создавал бы простенькое приложение. Таким образом можно изучить основы языка и применить их сразу на практике. В конце такого курса обучения на руках у джуна будет готовое приложение, и с ним можно идти устраиваться на работу.
Напоследок небольшая история.
Однажды на собеседование в Onde пришёл человек. Он не знал ни Java, ни Kotlin. Зато написал собственное приложение на Delphi — простейшую игру вроде змейки. Мы даже не знали, как его собеседовать, — человек ничего не знал из нужных нам технологий! Но он создал своё приложение и отлично понимал базовые принципы программирования. Сейчас этот человек — один из ключевых Android-разработчиков в компании.
Список ресурсов:
Kotlin
Android
Бесплатные курсы, рекомендованные Kotlin и Google:
Технические новости (советую читать, чтобы быть в теме): Android-разработка на Хабрахабр.
Что нужно знать и уметь, чтобы работать Android-разработчиком
В статье о выборе Android-разработчика мы обсуждали несколько моментов, которые наделяют разработку под эту платформу особой спецификой. Среди них — фрагментация, множество версий операционной системы и системного API и кастомизация. Всё это — рутинные проблемы, чьё наличие не должно влиять на ваше решение стать Android-разработчиком. Чтобы принимать их как должное, вам следует овладеть фундаментальными знаниями, список которых я составил в максимально возможном объёме.
Важно понимать, что это лишь начальный уровень знания Android-разработки. Перейти на уровень выше можно только через опыт и старания в длительном интервале времени. Большая часть знаний приходит из современных статей и обсуждений. И порой стоит откинуть стеснительность и просто спросить совет у коллег ради экономии своего времени.
Эти источники знаний наш отдел собрал за годы изучения теории, плавно перешедшего в практику. Если вы ищете команду для разработки Android-приложения и доверяете нашему опыту, то пройдите по ссылке и заполните форму, чтобы мы связались с вами для бесплатной консультации.
Что нужно знать для разработки приложений под Android
С чего начать разработку приложений для Android?
Стоит яростно следить за.
Тенденции в Android-разработке быстро меняются, поэтому не будет лишним ознакомиться со следующим списком больших компаний и огромных личностей, а также подписаться на их твиттер, блоги и прочее.
Как стать лучшим разработчиком приложений Андроид: 31 совет
Стать обычным Android-разработчиком легко, а вот чтобы стать успешным и выдающимся Android-разработчиком, требуется много тяжелого труда, энтузиазма, самоотдачи и настойчивости.
Я не могу показать вам короткий путь к успеху, но если вы готовы приложить усилия – он ждёт вас.
Чтобы помочь вам на пути становления, я собрал несколько небольших советов, исходя из своего опыта. Если вы решили стать Android-разработчиком или уже работаете в этой области какое-то время, мои советы вам пригодятся.
1. Узнайте получше функционал фреймворков для разработки приложений под Android
И я не говорю о чтении документации, речь идет о фактическом коде фреймворка. Я знаю немало разработчиков, которые не потрудились «нырнуть» поглубже во внутренности фреймворков. Не будьте такими. Это невероятно, как много можно узнать, когда вы понимаете, как реально работают вещи, как складываются воедино детали мозаики.
Если вам нужно закончить вашу игру для Android, прекратите игнорировать функционал SDK, сделайте его своим помощником.
2. Хватит бояться упустить что-то
Android как платформа необъятна. Вы не сможете изучить ее полностью за месяц или даже за три. Чем больше вы учитесь, тем больше вы понимаете, что вы ее не знаете. Для новичка на стадии глубокого невежества нормально опасаться, что он упустит какую-то существенную информацию при разработке, но тем не менее преодолевайте свои страхи.
Сначала изучайте вещи, действительно необходимые для приложения, которое вы на настоящий момент разрабатываете, а потом постепенно расширяйте свои горизонты.
3. Читайте как можно больше кода
Большинство разработчиков не утруждают себя изучением кода, написанного другими разработчиками. В итоге они просто тратят свое время на написание того, что они и так уже знают.
Это никак не поможет вам вырасти как Android-разработчику. Единственный способ действительно улучшить свои навыки – это читать качественно написанный код более опытных товарищей. Просматривайте программы и библиотеки с открытым исходным кодом, именно там вы обнаружите новые техники программирования и реализации функционала, о которых вы раньше даже и не подозревали.
Совет: вот хороший ресурс, на котором можно найти лучшие приложения с открытым кодом, для начала.
4. Подумайте об изучении дополнительных языков
Я, конечно, не имею ввиду китайский или испанский. Я предлагаю изучить несколько новых языков программирования. Держите себя в курсе того, что происходит в сфере вашей деятельности. Не ограничивайте свой кругозор до программирования под Android.
Это откроет для вас перспективы, вдохновит на новые идеи, поможет существенно улучшить навыки программирования под Android. Настройтесь на изучение одного нового языка программирования в год.
Совет: Здесь можно начать (если вдруг вы этого еще не знаете): JavaScript.
5. Пора изучить шаблоны проектирования Java
Я не могу не отметить, насколько важным это может оказаться для вашей карьеры Android-разработчика. Каждый раз, когда вы пытаетесь решить критическую проблему в программировании, шаблоны проектирования будут вашим спасением.
А еще вам нужно быть на одной волне с другими разработчиками: когда они будут обсуждать шаблоны Factory, Decorator или Facade, вы будете понимать, о чем идет речь.
Дайте себе обещание, что будете изучать по одному шаблону каждую неделю, до тех пор, пока вы не будете знать большинство их них.
Совет: Вот хороший ресурс для освоения шаблонов проектирования Java. Если вы хотите еще больше информации, обязательно прочтите эту книгу.
6. Участвуйте в разработке проектов с открытым кодом
Если вы разработали библиотеку, плагин или другую полезную часть кода и используете ее в собственном приложении, подумайте о переходе на открытый исходный код. Участвуя в разработке совместного или собственного проекта с открытым исходным кодом, можно многому научиться. Считайте это экспресс-курсом open-source программирования, который значительно увеличит вашу стоимость как разработчика.
Если вам нечего переводить в открытый код, проверьте другие open-source проекты, которые вас заинтересуют. Исправьте ошибки, улучшите документацию, напишите несколько тестов для них.
Даже самый небольшой вклад (такой, как исправление грамматических ошибок в документах) поможет лидеру проекта поддерживать его в рабочем состоянии.
7. Пусть ваша IDE работает на вас
Потратьте больше времени на то, чтобы понять интегрированную среду разработки (IDE), которую вы используете: Android Studio. Ее возможности шире, чем вы можете себе представить. Она предлагает крутой функционал, который многие разработчики не исследуют досконально.
Возьмите себе за правило открывать новые и лучшие способы использования ваших инструментов. Это улучшит организацию рабочего процесса и повысит вашу продуктивность.
8. Пора структурировать приложение правильно
В основном весь наш написанный код целиком выгружается в Activities или Fragments (я тоже этим грешу), превращаясь постепенно во «всемогущий объект», который практически невозможно поддерживать и тестировать.
Важно подобрать правильный шаблон при проектировании архитектуры вашего приложения, например MVP (Model-View-Presenter – Модель-Представление-Представитель) или MVVM (Model-View-ViewModel – Модель-Представление-Модель Представления). Разделите логику функционирования приложения, взаимодействие представлений, взаимодействие данных в различные слои, чтобы было проще управлять ими и тестировать их.
Совет: Обратите внимание на эти полезные макеты от Google: они упростят вашу жизнь при проектировании приложений.
9. Изучите стандарты чистого программирования под Android
Этот пункт тоже не стоит игнорировать, так как тяжело поддерживать стандартные принципы кодирования под Android, работая с программистами, которые не пишут чистый код.
Это же не запуск межконтинентальной баллистической ракеты, требуется всего лишь несколько часов, чтобы изучить основы программирования под Android.
Совет: Вот здесь можно начать изучение.
10. Изучите передовой опыт программирования под Android
Чтобы становиться лучше других разработчиков, чтобы ваши приложения выглядели и работали лучше, изучайте передовой опыт программирования под Android.
Изучите, что стоит делать, а чего избегать, чтобы стать лучшим разработчиком и чтобы ваше приложение выделялось среди остальных.
Совет: Тут вы найдете ряд наработок, который поможет вам создавать лучшие приложения.
11. Используйте свободное время эффективно – слушайте подкасты
Попробуйте использовать ваше время с пользой. Когда вы едете в общественном транспорте, занимаетесь в тренажерном зале, управляете машиной, готовите, ваш гениальный мозг не очень-то и занят.
Добавляйте в свою жизнь многозадачность – слушайте подкасты по Android.
12. Не усложняйте. Будьте реалистами.
Это происходило не только со мной, но и с некоторыми моими друзьями-разработчиками. Конечно, будет правильно сначала подумать, перед тем как начать работу над чем-то (очень правильно, вообще-то). Но не перемудрите, это приведет к путанице, пропущенным срокам и фрустрации.
Делайте то, что, по вашему мнению, необходимо для проекта прямо сейчас. Вы всегда сможете внести необходимые изменения впоследствии, если это потребуется.
13. Узнайте что-нибудь про дизайн
Я понимаю, что главное для программиста – научиться писать хороший код. Но если вы хотите стать полноценным разработчиком, стоит также уделять время изучению и пониманию пользовательского интерфейса (UI) и пользовательского опыта (UX).
Эти знания изменят ваш взгляд на приложения, которые вы создаете. Старайтесь чаще общаться с UI и UX дизайнерами вашей команды, чтобы иметь лучшее представление о дизайне приложения.
14. Станьте перфекционистом
«Идеал» – понятие субъективное, но возьмите за правило всегда стремиться к лучшей возможной версии продукта, над которым вы работаете.
Никогда не останавливайтесь на меньшем. Не делайте ничего «на отстань». Работайте с энтузиазмом, делайте больше чем можете. Благодаря такому подходу вы будете постоянно расти над собой и в конце концов станете успешным разработчиком.
15. Постоянство – ключ к успеху
Если вы хотите стать успешным в программировании (или в чем угодно еще в жизни), вам нужно быть последовательным.
Если вы будете делать что-то несколько дней или недель, а потом бросать свое начинание, вас это никуда не приведет. Не будьте легкомысленным. Определитесь, где вы хотите быть разработчиком Android через несколько лет, и следуйте своей цели, несмотря на все препятствия.
Новое дело начинать легко, тяжело поддерживать интерес и энтузиазм к нему на протяжении длительного времени.
16. Начинайте с малого и постепенно расширяйтесь.
Вам стоит всегда разбивать любую сложную проблему или задачу на несколько маленьких, простых и независимых частей, которые можно легко понять и быстро разрешить.
Не надо пугаться объемов или сложности проекта. Все проблемы можно решить, если вы идете правильным путем. Начинайте с малого, продвигайтесь понемногу, а затем постепенно расширяйтесь.
17. Всегда имейте под рукой площадку для проверки кода
Наличие инструментов для проверки кода может полностью изменить ваш процесс обучения. Если вы столкнулись с чем-то новым в Android, возьмите за правило всегда проверять это с помощью площадок для проверки кода.
Представьте, что вы случайно нашли интересную Android библиотеку. Вместо того, чтобы просто пробежаться по документам и API, протестируйте ее. Это даст вам возможность изучить указанную библиотеку лучше.
18. Пишите больше тестов
Это очень важно. Вы не можете считать, что работа над функционалом программы завершена, пока вы не подготовили исчерпывающий тест для нее. Тесты помогут вам обрести уверенность в отношении вашего кода.
Не делайте ошибки: пренебрежительное отношение к тестированию впоследствии причинит массу неприятностей в виде регрессионных ошибок, например.
19. Переходите на разработку через тестирование (TDD)
Разрабатывайте приложение сразу надежным и эффективным, способным выдержать проверку временем.
Следуйте принципу «красный/зеленый/рефакторинг» при разработке через тестирование (TDD). Сначала напишите тест, который не будет пройден (красный), потом напишите код, который пройдет тест (зеленый), и в итоге исправляйте и оптимизируйте код (рефакторинг).
«Разработка через тестирование — это способ управлять собственным страхом при программировании. Страх делает вас нерешительным и менее коммуникабельным. Страх заставляет вас избегать обратной связи. Из-за страха вы становитесь угрюмым». — TDD by Example
20. Настройте хороший механизм для автоматизации релиза
Как разработчик, старайтесь тратить как можно меньше времени на вещи, которые можно автоматизировать, такие как проверка качества приложения и релиз.
Автоматизировать проверку качества вашего кода можно при помощи таких инструментов, как CheckStyle, PMD, Lint и FindBugs. Прохождение всех модульных и инструментальных тестов является обязательным до интеграции любых существенных изменений в ваше приложение.
После того, как все проверки пройдены, вы можете публиковать ваш APK в Play Store или распространять его любым иным образом.
Совет: Изучите возможность автоматизировать публикацию приложения в Play Store посредством этого open-source инструментария.
21. Развивайте навык реактивного программирования
Если вы хотите улучшить навыки программирования под Android, вам однозначно стоит попробовать реактивное программирование. Это поможет вам думать в другой плоскости при разработке приложений.
Используя данный подход, вы сможете разрабатывать интерактивные приложения быстрее, а это сделает вашу жизнь проще.
Совет: Тут можно найти хороший материал по RxJava для Android.
22. Привыкайте использовать Kotlin для программирования под Android
С тех пор, как Google анонсировал анонсировал первоклассную поддержку для языка программирования Kotlin на конференции Google I/O 2017, интерес к нему резко возрос. Этот язык программирования — как глоток свежего воздуха в мире программирования под Android.
Это шикарная новость для Android-разработчиков, которым надоело программировать на старых, перегруженных и полных ошибок Java-приложениях. Дайте ему шанс, возможно, именно Kotlin вдохновит вас на новые свершения.
Совет: Оцените это шикарное руководство по Kotlin.
23. Посещайте митапы, больше общайтесь с другими разработчиками
Мы, разработчики, обычно интроверты. Любим сидеть тихонечко в уголке со своим компьютером, погруженные в собственный мир.
Выходите из своей зоны комфорта и общайтесь с другими программистами. Многому можно научиться во время митапов по разработке, на вечеринках или просто общаясь с людьми со схожими интересами.
Совет: Зайдите на meetup.com, чтобы найти интересные вам митапы.
24. Изучите «горячие клавиши»
Практически для любой операции, которую вы хотели бы выполнить в Android Studio, есть «горячие клавиши». Если вы выучите их, это существенно сократит временные затраты на разработку и повысит вашу продуктивность. Вам потребуется какое-то время, чтобы запомнить сочетания клавиш, но в отдаленной перспективе это позволит перейти на работу без мышки.
Совет: Если вы не хотите запоминать «горячие клавиши» по старинке, тут можно найти замечательный плагин, который поможет вам в этом.
25. Старайтесь узнавать как минимум одну новую вещь об Android каждую неделю
В необъятном мире Android есть множество вещей, которым предстоит научиться, которые нужно понять и которые просто могут раздавить вас, при первом приближении. Но все станет намного проще, если вы дадите себе обещание изучать хотя бы одну вещь об Android еженедельно.
Составьте перечень вещей, которые вы еще не знаете, распределите приоритеты и начинайте прорабатывать каждый пункт. Через пару месяцев вы оглянетесь и удивитесь, насколько далеко вы продвинулись.
26. Автоматизируйте все, что «съедает» ваше время
Мы, инженеры, ленивы от рождения, мы всегда пытаемся найти легкий способ выполнить скучную работу.
Так что если вы вынуждены по несколько раз за день выполнять повторяющуюся и неинтересную работу – автоматизируйте ее. Это сохранит много времени, которое можно посвятить более полезным делам.
Совет: Обратите внимание на Zapier – качественный сервис, который позволит вам объединить и автоматизировать некоторые ваши инструменты, которые вы используете ежедневно.
27. Запускайте две версии Android Studio одновременно
Наиболее важные ежедневные операции совершайте в стабильной версии Android Studio. Но не стоит упускать возможности самых свежих бета-версий Android Studio.
Иногда в этих последних версиях есть новые интересные возможности, которые вы не захотите упустить.
28. Периодически пересматривайте чужие библиотеки
Все мы любим использовать библиотеки, и это прекрасно, когда мы нуждаемся в них. Но возьмите за правило время от времени пересматривать чужие библиотеки, которые вы используете и избавляться от тех, которые вам больше не нужны.
Если вы используете лишь маленькую часть определенной библиотеки, лучше извлечь эту часть, вместо того, чтобы сохранять ее целиком. Подобные проверки также позволят вам своевременно обновлять необходимые вам библиотеки.
29. Найдите лучшие способы рефакторинга старых кодовых баз.
Не делайте ошибки и не занимайтесь рефакторингом всех предыдущих версий кодовых баз одновременно. Таким образом вы загоните себя в ловушку, из которой не сможете выбраться.
Вместо этого осуществляйте рефакторинг тех частей кодовой базы, которые вам нужны для работы прямо сейчас, а потом постепенно расширяйте его на остальные части, когда это станет необходимо. И еще пишите тесты для экранов, которые вы хотите подвергнуть рефакторингу, до того как трогать код, который по вашему мнению может нарушить существующую функциональность.
Совет: Эта книга полностью изменила мой взгляд на работу с унаследованным кодом. Однозначно прочтите ее.
30. Всегда тестируйте приложения на устройствах с низкой производительностью
Если вы хотите создать приложение как настоящий профи, ни за что не тестируйте его на высокопроизводительных девайсах. Обычно разработчики предпочитают приобретать флагманы и писать код для них. Однозначно стоит избегать такого подхода.
Приобретите самые дешевые и низкопроизводительные девайсы, которые вы только сможете найти, и заведите привычку разрабатывать приложения только для них. Вы начнете замечать множество недостатков вашего приложения, о которых раньше и не догадывались. Так вы сможете подготовить ваши приложения для большей части населения Земли, которым недоступны лучшие Android-устройства.
31. Купите самый лучший компьютер, какой вы только можете себе позволить
Не делайте ошибки, приобретая дешевый ноутбук, это будет уничтожать ваш опыт разработки ежедневно (прим. редактора: мы как раз перевели статью о том, как выбрать лэптоп для программирования).
Отдайте предпочтение Mac, а не Windows. Вы просто влюбитесь в его простоту и надежность.
Если вы приобретаете MacBook, выберите вариант с самыми лучшими характеристиками. Потом вы будете бесконечно благодарны себе за это решение.
Поделитесь своими советами
Теперь, когда вы прочли и обдумали эти советы, пора воплощать их в действия. Надеюсь, мои подсказки помогут вам стать лучшим Android-разработчиком. И не забудьте поделиться своим опытом в комментариях.
Перевод статьи выполнен в Alconost.
Alconost занимается локализацией приложений, игр и сайтов на 68 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов, перевод технических текстов.
Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.