Modern Android Development (MAD) Skills — это бесплатная серия видеороликов и статей от Google, в которых рассказывается о современных способах разработки на платформе Android.
Когда Google говорит о современной разработке под Android, это означает:
1.Android Studio 2.Kotlin 3.Jetpack 4. Пакеты приложений.
Таким образом, эта серия отражает представление Google о том, как лучше всего подходить к разработке для этой платформы. Как? Давайте проверим выдержку из связанной статьи MAD Navigation Component: An Overview:
До появления компонента «Навигация» задачи навигации в приложении создавались вручную. Вы должны добавить в свой код слушателя для любого элемента пользовательского интерфейса, запускающего действие навигации, а затем написать код, скажем, для запуска намерения, чтобы показать новое действие. Или переход к фрагменту.
Вам также необходимо было правильно обрабатывать действия «Назад» и «Вверх», когда пользователь нажимает кнопку «Назад» на устройстве или кнопку «Вверх» на панели действий. То, как обрабатывались эти два связанных, но разных действия, создавало… несоответствия между приложениями.
Благодаря компоненту навигации у нас теперь есть стандартные API-интерфейсы, а также визуальный инструмент в среде IDE, который помогает сделать весь процесс более понятным, простым и согласованным. Вы используете инструмент дизайна для создания пунктов назначения навигации и определения путей или действий навигации, которые перемещают пользователя между пунктами назначения на графике. Затем вы добавляете код, который связывает взаимодействие пользователя в вашем приложении с этими действиями для соответствующей навигации.
С этой целью MAD предлагает сочетание видео, размещенных на YouTube, а также статей, размещенных на Medium. Список постоянно пополняется новым контентом, но пока доступный материал сосредоточен на компоненте навигации Jetpack, а также на сборке приложений:
Введение в навигацию — навыки MAD
Навигация: Обзор — Навыки MAD
Навигация: пункты назначения диалога — MAD Skills
Навигация: SafeArgs — MAD Skills
Навигация: внутренние ссылки — MAD Skills
Навигация: Live Q&A — MAD Skills
Введение в наборы приложений — навыки работы с MAD
Наборы приложений: все, что нужно знать о подписании приложений Play — навыки MAD
Пакеты приложений: создание первого набора приложений — навыки MAD
Пакеты приложений: настройка приложения для доставки функций Play — навыки MAD
Наборы приложений: тестирование наборов с помощью bundletool и Play Console — навыки MAD
Обратите внимание на живые вопросы и ответы. В конце раздела вы найдете сеанс вопросов и ответов или AMA, где любой может заранее задать вопросы команде Android и получить ответы на них в ходе этого сеанса. Первый вопрос и ответ был посвящен навигации и был опубликован 29 октября, а второй который будет в App Bundles, намечен на 19 ноября. Так что, если у вас есть что спросить, сделайте это сейчас, используя тег #AskAndroid в Twitter.
MAD — это еще одна попытка Google упростить разработку для своей платформы. Несмотря на его новизну, он нашел меня критичным в том смысле, что всякий раз, когда на платформу вносится новый метод разработки, он полностью разрывает связи с прошлым, поэтому вынуждает вас снова начинать учиться с нуля.
Я сказал, что думаю об Android Jetpack: Compose — это приветствуется, но как насчет оттока? И был удовлетворен, когда CommonsWare поделился моим мнением и более подробно остановился на теме, утверждая, что такие миграции должны быть прогрессивными. Прочтите по этому поводу Выпуск № 31 его информационного бюллетеня jetc.dev.
Дополнительным стимулом для изучения подхода Jetpack является то, что с недавним введением Jetpack Compose for Desktop вы теперь можете перенести знания, полученные в учебных пособиях по Jetpack для Android, на другие платформы, такие как Windows, Linux и macOS. Я подробно описал это в статье Знакомство с Jetpack Compose for Desktop. Таким образом, MAD окажется более ценным, чем просто внутреннее устройство Android.
В конце концов, удается ли серии MAD Skills сделать этот переход как можно более плавным? Может быть, это хорошее начало.