Всем привет! Меня зовут Миша Вассер. Я руковожу мобильной разработкой в AGIMA, а ещё я наставник на курсе «Android-разработчик» в Яндекс Практикуме. Мы на курсе регулярно делимся со студентами полезными материалами. Сегодня публикую подборку, которая поможет новичку начать свой путь в Android-разработке.
Java
В Android-разработке основные языки программирования — Java и Kotlin. Часто новые приложения сразу пишут на Kotlin, но этот язык — надстройка над Java. Поэтому, если хочется копнуть глубоко и разбираться в Android как профи, стоит начать своё обучение с базы — с Java. Вот несколько материалов и сервисов, с которых можно начать учиться
1. JavaRush
Первый ресурс, которым хочется поделиться, — JavaRush. Ребята собрали огромное количество материалов по Java, структурировали и вдохнули в них жизнь. В сервисе есть лекции, задачи, тренажёры и многое другое. Можно даже написать свою версию классических игр вроде «змейки» или «сапёра». А ещё есть возможность общаться с сообществом — в чатах и на форумах, написав статью или задав вопрос.
JavaRush →
2. Книга «Java Concurrency на практике», Брайан Гётц
Стандарт в разработке. Книга, которая даст вам прочную базу в Java-разработке и поможет изучить непростую тему потокобезопасности. Возможно, книга немного устарела, ей уже много лет. Но погрузиться с ней в основы получится отлично. Ведь книга описывает типичные ошибки написания конкурентных приложений на Java и распространённые ошибки с многопоточностью.
Читать →
3. Java Tutorial от W3Schools
Популярнейший сервис с онлайн-туториалами и тренажёрами по разным языкам программирования, в том числе по Java. Задачи, примеры и викторины, возможность отслеживать свой прогресс и даже просматривать справочник по языку.
Kotlin
Если вы изучили азы работы с Java, можно попробовать поработать с Kotlin. Для этого в сети тоже есть отличные бесплатные ресурсы:
1. Jetbrains Academy
Kotlin — язык программирования, созданный компанией JetBrains. Его активно развивают и поддерживают наравне с остальными продуктами. А для новичков выпустили курс по Kotlin, который можно проходить прямо в среде разработки IntelliJ IDEA. В процессе обучения вы создадите приложение для зоопарка, изучите объектно-ориентированное программирование, создавая карточную игру, и разберётесь в алгоритмах, разрабатывая компьютерную игру.
2. Книга «Kotlin в действии», Дмитрий Жемеров и Светлана Исакова
Издание обязательно к прочтению тем, кто хочет войти в Kotlin и писать на нём красиво и эффективно, а также осознать, какие фишки у него есть. Написали книгу создатели и разработчики языка из компании JetBrains. Содержание охватывает создание предметно-ориентированных языков, функциональное программирование в JVM, совместное использование Java и Kotlin. Книга написана для разработчиков, владеющих Java и желающих начать эффективно использовать Kotlin в работе.
Читать →
3. Kotlin Bootcamp
Хороший бесплатный курс на Udacity, где можно разобрать всю базу языка в формате лекций, погрузиться во все основные блоки и начать писать код сразу в среде разработки. Курс написан в сотрудничестве с Google, и составили его эксперты Google. Обучает он основным функциям языка, которые позволят создать проект на Kotlin.
Android
Оба языка, которые мы упоминали выше, применяются для разных проектов. Это не обязательно Android-разработка. Разобравшись с основами, можем переходить к материалам, специализированным именно на Android:
1. Google Android Developers
Google начал развивать свою собственную платформу с курсами, и надо признать, что у них получилось здорово! Здесь можно найти материалы как для тех, кто только начинает свой путь в Android, так и для тех, кто хочет освоить новые фичи платформы и прокачать навыки. Кстати, тут можно найти материалы и по Kotlin. Опытным разработчикам будут интересны Jetpack Compose или Современная архитектура Android-приложений. А ещё есть программы сертификации и материалы для преподавателей.
2. Ресурсы от Дмитрия Виноградова и Александра Климова
Ресурсы, которые спасали жизни тысячам Android-разработчиков в российском комьюнити и продолжают радовать интересным контентом, — https://alexanderklimov.ru/ и https://startandroid.ru/ru/ .
На сайтах есть огромное количество источников, которые позволяют вкатиться в Android и Kotlin. Есть даже материалы по Compose, Dagger и архитектуре. Возможно, часть контента уже морально устарела, но базу этот массив статей помогает понять просто отлично.
3. Android Broadcast
Можно перечислить много книг по Android — начиная с Head First Android, Android Cookbook, и заканчивая ещё десятком других, — но ведь есть ещё Youtube-канал Кирилла Розова – Android Broadcast.
Кирилл — интересный спикер в Android-комьюнити, часто зовёт к себе на канал не менее интересных парней и девушек, чтобы поговорить про Android, научить чему-то своих слушателей или просто поболтать о будущем IT. На канале есть десятки видео и плейлистов, которые точно помогут вам на пути становления как Android-разработчика.
Например, бесплатный курс по корутинам, регулярные обзоры новостей индустрии с экспертным мнением, Code review проектов и интервью, разбор Android 13, лайфхаки, как уменьшить размер Android-приложения, и многое другое.
4. Записи лекций Яндекс. Школы мобильной разработки: Android
Лекции Яндекс. Школы мобильной разработки: Android. Рекомендую посмотреть старые и новые выпуски, чтоб разобраться с тестами, базовыми компонентами, CI/CD и другими принципами разработки.
5. Mobile Developer
Mobile Developer. Алексей больше рассказывает про мобильное IT в целом, и делает это интересно. А также на его канале можно найти видео, специализированные на Android, и они достаточно информативны.
6. Mobius и AppsConf
Это каналы, пожалуй, двух самых крупных ежегодных конференций по мобильной разработке в России. Доклады часто рассчитаны на более опытных разработчиков, но есть контент и для новичков. А ещё — обзоры последних технологий и трендов индустрии и разборы ответов на популярные вопросы.
7. Android Academy
Ребята уже несколько лет пилят крутой материал по Android и приглашают классных спикеров, чтобы обучать новых Android’еров. Здесь много видео для начинающих с подробной информацией про базовые темы Android-разработки. Кроме этого — материалы по прохождению интервью и разбор тестовых заданий.
Spoiler Alert! Следующий блок будет выглядеть страшно, если вы только начали свой путь в разработке, поэтому смело можете его пролистывать и возвращаться немного позже, ну или когда станет скучно :)
Архитектура
Код, который мы пишем, как правило, содержит какую-то структуру. Мы называем это «архитектурой». Так вот, если хочется почитать что-то про то, как строятся мобильные приложения (да и не только они, кстати), можно окунуться в мир «Совершенного кода»:
1. Книга «Совершенный код», Стив Макконнелл
Книга написана простым языком и погрузит вас в основы архитектуры. Подойдет для того, чтобы прокачать базу. Научит вас проектировать и строить приложения. Даст представление, что и в какой последовательности делать, а как поступать ни в коем случае нельзя. Автор рассказывает, как вообще происходит процесс разработки ПО от начала и до конца, что нужно предпринять, чтобы ваш код был совершенным. Книга — must have в комьюнити разработчиков. Она считается одним из лучших руководств по программированию.
Читать →
2. «Рефакторинг», Мартин Фаулер
Когда разработчики подрастают, они часто слышат в своей повседневной жизни слова «рефакторинг», “code smells”, «паттерны проектирования» и прочее. Крутую базу в таком направлении можно получить из этого издания. Если у вас ещё нет опыта коммерческой разработки, ООП и проектирования, эта книга перевернёт ваши представления о программировании. В примерах автор использует Java и С++, но приведённый код вполне понятен и программистам на других языках. Автор описывает проблемы, возникающие при написании кода, и даёт способы их решения. Для профессионального программиста книга написана чересчур подробно. Но новичок узнает из неё много интересного.
Читать →
3. «Чистый код», Роберт Мартин
Ещё одна книга-легенда. Её вам точно стоит прочитать. Роберт Мартин, или, как его чаще называют, дядюшка Боб — человек, который впервые ввёл понятие «чистая архитектура».
Книга поможет начинающим программистам понять ведущие идеи читаемого кода и избежать большинства ошибок новичков. Однако рассказывает она не только о самом простом, но и о более сложных вещах. Эту книгу рекомендуют даже опытным программистам, чтобы писать код лучше.
Читать →
4. Refactoring Guru
Отличный интерактивный сервис, который позволит погрузиться в мир архитектуры, рефакторинга, принципов SOLID и прочих страшных слов, связанных с архитектурой.
Telegram
Помимо книг, Youtube-каналов и интернет-ресурсов иногда круто заглядывать в телеграм-каналы. Там зачастую публикуются интересные авторские материалы. А ещё ко многим каналам привязаны чаты, в которых можно обсудить разные темы из области разработки или получить ответ на вопрос. Вот некоторые из них. Каждый найдёт себе что-то, что будет интересно:
→ Добавить папку с каналами и чатами в Телеграме
В современном мире можно отыскать множество материалов по Android-разработке, и все они по-своему хороши. Конечно же, в этой мини-статье приведены далеко не все ресурсы, полезные начинающему разработчику. Так что, если вы знаете какой-то крутой ресурс, которого нет в этой подборке, поделитесь им в комментариях — будем расширять список вместе!
Rusrst
Я прям каждый раз вижу статью от Яндекс практикума и каждый раз не могу понять, чему ж вы там будете учить, раз у вас java и java concurrency для начинающих? Тут ваш предыдущий лектор ещё про compose рассказывал, расскажете как его с java то по итогу связать?