HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><ul><li><a>Миграция с LiveData на Kotlin’s Flow</a></li>
1 <ul><ul><li><a>Миграция с LiveData на Kotlin’s Flow</a></li>
2 <li><a>Всё о PendingIntents</a></li>
2 <li><a>Всё о PendingIntents</a></li>
3 </ul><li><a>Android Vitals - Почему запустился мой процесс?</a><ul><li><a>Погружаемся в Compose-Verse - руководство по Jetpack Compose для начинающих: управление состоянием</a></li>
3 </ul><li><a>Android Vitals - Почему запустился мой процесс?</a><ul><li><a>Погружаемся в Compose-Verse - руководство по Jetpack Compose для начинающих: управление состоянием</a></li>
4 <li><a>Полное руководство по тестовым дублерам в Android - Часть 1: Теория</a></li>
4 <li><a>Полное руководство по тестовым дублерам в Android - Часть 1: Теория</a></li>
5 <li><a>Линтинг в Kotlin: полное руководство по настройке и эксплуатации</a></li>
5 <li><a>Линтинг в Kotlin: полное руководство по настройке и эксплуатации</a></li>
6 </ul></li>
6 </ul></li>
7 <li><a>Записи открытых уроков курса OTUS "Android Developer. Professional":</a></li>
7 <li><a>Записи открытых уроков курса OTUS "Android Developer. Professional":</a></li>
8 </ul><h3><a>Миграция с LiveData на Kotlin’s Flow</a></h3>
8 </ul><h3><a>Миграция с LiveData на Kotlin’s Flow</a></h3>
9 <p>LiveData была нужна нам еще в 2017 году. Паттерн наблюдателя облегчил нам жизнь, но такие опции, как RxJava, в то время были слишком сложными для новичков. Команда Architecture Components создала LiveData: очень авторитетный класс наблюдаемых хранилищ данных, разработанный для Android. Он был простым, чтобы облегчить начало работы, а для более сложных случаев реактивных потоков рекомендовалось использовать RxJava, используя преимущества интеграции между ними.</p>
9 <p>LiveData была нужна нам еще в 2017 году. Паттерн наблюдателя облегчил нам жизнь, но такие опции, как RxJava, в то время были слишком сложными для новичков. Команда Architecture Components создала LiveData: очень авторитетный класс наблюдаемых хранилищ данных, разработанный для Android. Он был простым, чтобы облегчить начало работы, а для более сложных случаев реактивных потоков рекомендовалось использовать RxJava, используя преимущества интеграции между ними.</p>
10 <h3><a>Всё о PendingIntents</a></h3>
10 <h3><a>Всё о PendingIntents</a></h3>
11 <p>PendingIntent являются важной частью фреймворка Android, но большинство доступных ресурсов для разработчиков сосредоточены на деталях их имплементации - "ссылка на токен, поддерживаемый системой" - а не на их использовании.</p>
11 <p>PendingIntent являются важной частью фреймворка Android, но большинство доступных ресурсов для разработчиков сосредоточены на деталях их имплементации - "ссылка на токен, поддерживаемый системой" - а не на их использовании.</p>
12 <p>Поскольку Android 12 содержит важные нововведения в отношении отложенных намерений, включая определение того, является ли PendingIntent изменяемым или неизменяемым, я подумал, что будет полезно рассказать о том, что делают отложенные намерения, как система использует их, и почему вам иногда может понадобиться изменяемый PendingIntent.</p>
12 <p>Поскольку Android 12 содержит важные нововведения в отношении отложенных намерений, включая определение того, является ли PendingIntent изменяемым или неизменяемым, я подумал, что будет полезно рассказать о том, что делают отложенные намерения, как система использует их, и почему вам иногда может понадобиться изменяемый PendingIntent.</p>
13 <h2><a>Android Vitals - Почему запустился мой процесс?</a></h2>
13 <h2><a>Android Vitals - Почему запустился мой процесс?</a></h2>
14 <p>Эта серия статей посвящена мониторингу производительности и стабильности работающих Android-приложений. В прошлой статье я писал о том, как <a>определить, является ли запуск приложения холодным</a>.</p>
14 <p>Эта серия статей посвящена мониторингу производительности и стабильности работающих Android-приложений. В прошлой статье я писал о том, как <a>определить, является ли запуск приложения холодным</a>.</p>
15 <h3><a>Погружаемся в Compose-Verse - руководство по Jetpack Compose для начинающих: управление состоянием</a></h3>
15 <h3><a>Погружаемся в Compose-Verse - руководство по Jetpack Compose для начинающих: управление состоянием</a></h3>
16 <p>Какое бы Android-приложение мы ни собирались создать, нам в любом случае нужно будет управлять состоянием, поэтому понимание того, как лучше всего это делать, является очень важным. К счастью, существует Jetpack Compose, который предлагает нам простые и интуитивно понятные способы управления состоянием наших приложений.</p>
16 <p>Какое бы Android-приложение мы ни собирались создать, нам в любом случае нужно будет управлять состоянием, поэтому понимание того, как лучше всего это делать, является очень важным. К счастью, существует Jetpack Compose, который предлагает нам простые и интуитивно понятные способы управления состоянием наших приложений.</p>
17 <p>Jetpack Compose является декларативным, вследствие чего единственный способ обновить composable - это вызвать или пересоздать тот же composable с новыми аргументами. Аргументы, которые мы передаем composable, зачастую представляют собой состояние, которое мы хотим показать пользователю. Поэтому всякий раз, когда состояние изменяется, мы просто перерисовываем наш composable с новыми аргументами.</p>
17 <p>Jetpack Compose является декларативным, вследствие чего единственный способ обновить composable - это вызвать или пересоздать тот же composable с новыми аргументами. Аргументы, которые мы передаем composable, зачастую представляют собой состояние, которое мы хотим показать пользователю. Поэтому всякий раз, когда состояние изменяется, мы просто перерисовываем наш composable с новыми аргументами.</p>
18 <h3><a>Полное руководство по тестовым дублерам в Android - Часть 1: Теория</a></h3>
18 <h3><a>Полное руководство по тестовым дублерам в Android - Часть 1: Теория</a></h3>
19 <p>Независимо от технологий и продуктов, с которыми вы работаете, знание того, как использовать тестовые дублеры (test doubles), имеет основополагающее значение для любой стратегии автоматизированного тестирования. В частности, при работе с неинструментальными тестами в Android использование такого рода ресурсов становится еще более важным. По сути, концепция тестовых дублеров довольно проста, но большое количество доступных именований, определений и инструментов неминуемо вызывает путаницу в сообществе разработчиков. Вы наверняка уже слышали что-то вроде этого:</p>
19 <p>Независимо от технологий и продуктов, с которыми вы работаете, знание того, как использовать тестовые дублеры (test doubles), имеет основополагающее значение для любой стратегии автоматизированного тестирования. В частности, при работе с неинструментальными тестами в Android использование такого рода ресурсов становится еще более важным. По сути, концепция тестовых дублеров довольно проста, но большое количество доступных именований, определений и инструментов неминуемо вызывает путаницу в сообществе разработчиков. Вы наверняка уже слышали что-то вроде этого:</p>
20 <ul><li>"Нам просто нужно мокнуть эту зависимость, и все будет работать нормально"</li>
20 <ul><li>"Нам просто нужно мокнуть эту зависимость, и все будет работать нормально"</li>
21 <li>"Избегайте моков!"</li>
21 <li>"Избегайте моков!"</li>
22 <li>"Моки или стабы?"</li>
22 <li>"Моки или стабы?"</li>
23 <li>"Предпочитаю мокам фейки"</li>
23 <li>"Предпочитаю мокам фейки"</li>
24 </ul><p>Можете мне не верить, но приведенные выше высказывания могут быть истолкованы совершенно по-разному, если мы не знаем точных определений. Если вы никогда не слышали о тестовых дублерах или хотите углубиться в эту тему, то эта статья для вас!</p>
24 </ul><p>Можете мне не верить, но приведенные выше высказывания могут быть истолкованы совершенно по-разному, если мы не знаем точных определений. Если вы никогда не слышали о тестовых дублерах или хотите углубиться в эту тему, то эта статья для вас!</p>
25 <h3><a>Линтинг в Kotlin: полное руководство по настройке и эксплуатации</a></h3>
25 <h3><a>Линтинг в Kotlin: полное руководство по настройке и эксплуатации</a></h3>
26 <p>Среди множества редакторов для разработки приложений под Android особенно выделяется Android Studio - это очевидный выбор большинства разработчиков не только потому, что это основной нативный редактор для разработки приложений, но и потому, что он предоставляет обширную оффлайн поддержку.</p>
26 <p>Среди множества редакторов для разработки приложений под Android особенно выделяется Android Studio - это очевидный выбор большинства разработчиков не только потому, что это основной нативный редактор для разработки приложений, но и потому, что он предоставляет обширную оффлайн поддержку.</p>
27 <p>Этот набор фич гарантирует, что код, который мы пишем для нашего Android-приложения, будет эффективным и полнофункциональным. Одним из инструментов, цель которого заключается в оказании такого рода поддержки, является Lint.</p>
27 <p>Этот набор фич гарантирует, что код, который мы пишем для нашего Android-приложения, будет эффективным и полнофункциональным. Одним из инструментов, цель которого заключается в оказании такого рода поддержки, является Lint.</p>
28 <p>Lint нужен для того, чтобы искать нетривиальные ошибки и плохо написанные фрагменты в вашем коде. В этой статье я расскажу вам о линтинге в Kotlin и о том, как его настроить и начать использовать.</p>
28 <p>Lint нужен для того, чтобы искать нетривиальные ошибки и плохо написанные фрагменты в вашем коде. В этой статье я расскажу вам о линтинге в Kotlin и о том, как его настроить и начать использовать.</p>
29 <h2>Записи открытых уроков курса OTUS<a>"Android Developer. Professional"</a>:</h2>
29 <h2>Записи открытых уроков курса OTUS<a>"Android Developer. Professional"</a>:</h2>
30  
30