Mastering Android ViewModels: Essential Dos and Don’ts Part 5
Пятая часть из цикла Mastering Android ViewModels, по лучшим практикам работы с ViewModel.
В этой части рассматривается
👉 Избегание хардкода
👉 Использование тестирования для
👉 Избегание раскрытия
Читать (En)
Пятая часть из цикла Mastering Android ViewModels, по лучшим практикам работы с ViewModel.
В этой части рассматривается
👉 Избегание хардкода
Coroutine Dispatchers👉 Использование тестирования для
ViewModels👉 Избегание раскрытия
suspend функцийЧитать (En)
4👍8🔥7❤3
Партнеры РСЯ смогут подключиться к мобильной аналитике AppMetrica в несколько кликов
AppMetrica упростила процесс получения доступа к расширенной аналитике, для этого достаточно:
👉 Зарегистрироваться в AppMetrica под логином в РСЯ или Adfox
👉 Заполнить профиль
👉 Связать с AppMetrica приложения, которые монетизируются с РСЯ
👉 Подтвердить согласие на передачу данных
После этого данные начнут подгружаться автоматически.
Если вы уже работаете с AppMetrica, вам нужно только добавить связь с приложением Yandex Mobile Ads SDK.
Читать (Ru)
AppMetrica упростила процесс получения доступа к расширенной аналитике, для этого достаточно:
👉 Зарегистрироваться в AppMetrica под логином в РСЯ или Adfox
👉 Заполнить профиль
👉 Связать с AppMetrica приложения, которые монетизируются с РСЯ
👉 Подтвердить согласие на передачу данных
После этого данные начнут подгружаться автоматически.
Если вы уже работаете с AppMetrica, вам нужно только добавить связь с приложением Yandex Mobile Ads SDK.
Читать (Ru)
🔥5❤3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Implementing Overslide interaction in Jetpack Compose
Статья с примером реализации вот такого overslide эффекта на Jetpack Compose.
А в предыдущей статье автора, можно почитать про реализацию overscroll эффекта.
Читать (En)
Статья с примером реализации вот такого overslide эффекта на Jetpack Compose.
А в предыдущей статье автора, можно почитать про реализацию overscroll эффекта.
Читать (En)
8🔥11👍5❤4👏1
How to implement Linear Gradient with any angle in Jetpack Compose
Стандартная реализация градиента в Jetpack Compose вполне подходит для примитивных кейсов, но если вы например захотите отрисовать градиент под кастомным углом – не получится, такой настройки нет.
Вот тут статья c примером реализации отрисовки градиента по формуле, а вот тут пример кода.
Пример кода на GitHub → Linear-Gradient-Any-Angle
Читать (En)
Стандартная реализация градиента в Jetpack Compose вполне подходит для примитивных кейсов, но если вы например захотите отрисовать градиент под кастомным углом – не получится, такой настройки нет.
Вот тут статья c примером реализации отрисовки градиента по формуле, а вот тут пример кода.
Пример кода на GitHub → Linear-Gradient-Any-Angle
Читать (En)
5👍7❤3🔥2
Главный метод Android-приложения
Короткая статья про главный Java метод main: где и в какой момент он вызывается, в контексте Android-приложения и какое отношение к этому имеет
Читать (Ru)
Короткая статья про главный Java метод main: где и в какой момент он вызывается, в контексте Android-приложения и какое отношение к этому имеет
ActivityThread и Zygote.Читать (Ru)
👍17🔥6❤5
Forwarded from Swift Tips
iOS Performance Optimization
Репозиторий с подборкой различных ресурсов/статей по оптимизации перфоманса iOS приложений.
🟢 Reduce App Size
🟢 Reduce Build time
🟢 App Launch time
🟢 App Runtime
🟢 App Hang
🟢 Memory usage
🟢 CI
GitHub → iOS-Performance-Optimization
Репозиторий с подборкой различных ресурсов/статей по оптимизации перфоманса iOS приложений.
GitHub → iOS-Performance-Optimization
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤4👍4🔥2
Используем Yandex MapKit с Compose Multiplatform
Yandex MapKit KMP SDK - неофициальная библиотека для работы с Yandex Mapkit на Kotlin Multiplatform.
В статье автор рассказывает про применение этой библиотеки в проектах на Compose Multiplatform. Библиотеку можно рассматривать как расширенный интероп MapView с UI на Compose для Android таргета, а можно как добавление поддержки Yandex MapKit SDK в common код с модулем для интеграции в Compose UI для Android/iOS приложений.
В предыдущей части можно почитать про разработку библиотеки.
Библиотека на GitHub → Yandex MapKit KMP SDK
Читать (Ru)
Yandex MapKit KMP SDK - неофициальная библиотека для работы с Yandex Mapkit на Kotlin Multiplatform.
В статье автор рассказывает про применение этой библиотеки в проектах на Compose Multiplatform. Библиотеку можно рассматривать как расширенный интероп MapView с UI на Compose для Android таргета, а можно как добавление поддержки Yandex MapKit SDK в common код с модулем для интеграции в Compose UI для Android/iOS приложений.
В предыдущей части можно почитать про разработку библиотеки.
Библиотека на GitHub → Yandex MapKit KMP SDK
Читать (Ru)
👍10🔥2❤1😁1
Тактильный отклик в мобильных приложениях: что это такое, когда использовать и зачем?
Довольно полезная и интересная статья, в которой рассказывается про тактильную обратную связь, что это такое, как и для чего она применяется. И всё это с примерами российских приложений, где это уже уместно используется 👍
👉 Что такое тактильная обратная связь?
👉 Разница между тактильной обратной связью и виброоткликом
👉 Чем полезен тактильный отклик
👉 Когда использовать тактильный отклик
👉 Советы по внедрению тактильного отклика
👉 Примеры в приложениях
👉 Самое главное
👉 Заключение
Читать (Ru)
Довольно полезная и интересная статья, в которой рассказывается про тактильную обратную связь, что это такое, как и для чего она применяется. И всё это с примерами российских приложений, где это уже уместно используется 👍
👉 Что такое тактильная обратная связь?
👉 Разница между тактильной обратной связью и виброоткликом
👉 Чем полезен тактильный отклик
👉 Когда использовать тактильный отклик
👉 Советы по внедрению тактильного отклика
👉 Примеры в приложениях
👉 Самое главное
👉 Заключение
Тактильная обратная связь (или haptic feedback) — использование сложных вибрационных паттернов и виброволн для передачи информации пользователю. Если говорить проще и понятнее:
Тактильный отклик — это способ, с помощью которого устройства могут «говорить» с нами с помощью вибраций.
Читать (Ru)
5🔥10❤3👍2
Как написать Android приложение, которое не будет стыдно положить в портфолио
Большой гайд для новичков, в котором пошагово рассказывается и показывается, как с нуля разработать Android-приложение, используя лучшие архитектурные подходы – Clean Architecture и MVVM с элементами MVI, которые обеспечат поддерживаемость, тестируемость и масштабируемость, что особенно важно для сложных и долгосрочных проектов.
Код на GitLab → Just Notes
P.S. Для совсем новичков вероятно может показаться сложно, но желательно вникнуть и разобраться, т.к. подходы из статьи актуальны на данный момент и в том или ином виде используются в большом количестве проектов.
Читать (Ru)
Большой гайд для новичков, в котором пошагово рассказывается и показывается, как с нуля разработать Android-приложение, используя лучшие архитектурные подходы – Clean Architecture и MVVM с элементами MVI, которые обеспечат поддерживаемость, тестируемость и масштабируемость, что особенно важно для сложных и долгосрочных проектов.
Код на GitLab → Just Notes
P.S. Для совсем новичков вероятно может показаться сложно, но желательно вникнуть и разобраться, т.к. подходы из статьи актуальны на данный момент и в том или ином виде используются в большом количестве проектов.
Читать (Ru)
11👍13❤5🔥4👎3
Как устроен сборщик метрик Android-проекта
Android-разработчик из команды VK ID SDK рассказывает, как они писали плагин для сбора метрик и с какими проблемами столкнулись.
👉 Старт
👉 Выбор решения
👉 Архитектура решения
👉 Хранилище метрик
👉 Подсчёт диффа метрик
👉 Работа с репозиторием
👉 Внутреннее устройство метрики
👉 Метрика размера SDK
👉 Gradle-плагин
👉 Заключение
Исходный код на GitHub → Metrics
Читать (Ru)
Android-разработчик из команды VK ID SDK рассказывает, как они писали плагин для сбора метрик и с какими проблемами столкнулись.
👉 Старт
👉 Выбор решения
👉 Архитектура решения
👉 Хранилище метрик
👉 Подсчёт диффа метрик
👉 Работа с репозиторием
👉 Внутреннее устройство метрики
👉 Метрика размера SDK
👉 Gradle-плагин
👉 Заключение
Исходный код на GitHub → Metrics
Читать (Ru)
🔥4❤3👍3
Как я писал суперкастомизированное Android-приложение в 2024 году
Автор рассказывает, как писал Android-приложение для отображения анимации алгоритмов сортировки, практически полностью на своих, самописных решениях 😱.
Без этих ваших компоузов, вьюмоделей и прочей хрени, всё по-серьёзному 😎 – кастомные вьюшки, со своей навигацией и т.д.
Код на GitHub → AlgoSorts
Читать (Ru)
Автор рассказывает, как писал Android-приложение для отображения анимации алгоритмов сортировки, практически полностью на своих, самописных решениях 😱.
Без этих ваших компоузов, вьюмоделей и прочей хрени, всё по-серьёзному 😎 – кастомные вьюшки, со своей навигацией и т.д.
Код на GitHub → AlgoSorts
Читать (Ru)
👍15👎15🔥1🤔1
The beauty of Kotlin Type System
Статья с подробным разбором и примерами системы типов в Kotlin(Any, Nothing, Optional).
Перевод от AppTractor → Красота системы типов Kotlin
Читать (En)
Статья с подробным разбором и примерами системы типов в Kotlin(Any, Nothing, Optional).
Перевод от AppTractor → Красота системы типов Kotlin
Читать (En)
👍11🔥3❤2
Расширенная шпаргалка по корутинам Kotlin
Перевод на Хабре вот этой статьи – большая шпаргалка-справочник по корутинам.
Читать (Ru)
Перевод на Хабре вот этой статьи – большая шпаргалка-справочник по корутинам.
Читать (Ru)
14🔥13👍6❤3👌1
Kotlin Under the Hood: Exploring Objects, Companion Objects, and Annotations: JvmStatic, JvmField, JvmOverloads
Сразу 2 статьи про Objects в Kotlin: как работают под капотом, во что компилируются и интероп с Java.
👉 Exploring Objects, Companion Objects, and Annotations
👉 Understanding Companion Objects in Kotlin
Сразу 2 статьи про Objects в Kotlin: как работают под капотом, во что компилируются и интероп с Java.
👉 Exploring Objects, Companion Objects, and Annotations
👉 Understanding Companion Objects in Kotlin
7🔥13❤3👍2👌1
Modeling ViewModel State in Android: A Guide to Clean, Scalable Patterns
Гайд по тому, как спроектировать чистый и масштабируемый шаблон для работы со стейтом во
Читать (En)
Гайд по тому, как спроектировать чистый и масштабируемый шаблон для работы со стейтом во
ViewModel.Читать (En)
🔥7👍3❤2👌1
Forwarded from Swift Tips
App Intents: новые возможности для разработчиков в iOS 18
Большая статья про App Intents – что это такое и как их использовать для создания сложных сценариев, которые расширят возможности вашего приложения.
🟢 Что такое App Intents
🟢 Как создать AppIntent? (Intent)
🟢 Пример Intent
🟢 Пример AppEntity
🟢 Что такое Shortcuts
🟢 Shortcuts как составляющая часть фреймворка AppIntents
🟢 Shortcuts как приложение
🟢 Гайдлайн от Apple по созданию App Intents
🟢 Открытие приложения при работе с App Intents
🟢 Практика
🟢 Новые фишки AppIntents, которые могут быть полезны
🟢 Обновления для разработчиков
🟢 UnionValue
🟢 Generated noscripts
🟢 Framework improvements
🟢 Вывод
Читать (Ru)
Большая статья про App Intents – что это такое и как их использовать для создания сложных сценариев, которые расширят возможности вашего приложения.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍6❤3🔥3
Сборка мусора в Java. Часть №1. Обзор сборщиков мусора и их различий
Адаптированный под 2 статьи перевод доклада "Garbage Collection in Java: The progress since JDK 8" с последнего Devoxx Belgium.
Первая часть – основы работы сборки мусора в Java, различные сборщики мусора, их особенности, плюсы и минусы.
👉 Что такое сборка мусора?
👉 Принципы работы алгоритмов высвобождения памяти
👉 Какие сборщики мусора существуют в настоящее время
👉 Итоги по имеющимся сборщикам мусора
👉 Заключение
Читать (Ru)
Адаптированный под 2 статьи перевод доклада "Garbage Collection in Java: The progress since JDK 8" с последнего Devoxx Belgium.
Первая часть – основы работы сборки мусора в Java, различные сборщики мусора, их особенности, плюсы и минусы.
👉 Что такое сборка мусора?
👉 Принципы работы алгоритмов высвобождения памяти
👉 Какие сборщики мусора существуют в настоящее время
👉 Итоги по имеющимся сборщикам мусора
👉 Заключение
Читать (Ru)
4👍6🔥3❤1
Как силами мобильных разработчиков автоматизировать процесс разработки
Разработчик из Контур рассказывает, как они автоматизировали процесс разработки, реализовав свой сервис с различным, удобными штуками(интеграция с YouTrack / GitLab, уведомления о релизах, напоминание о ревью и т.д.) под себя.
P.S. Мобильщики поработали за девопсов 😉
Читать (Ru)
Разработчик из Контур рассказывает, как они автоматизировали процесс разработки, реализовав свой сервис с различным, удобными штуками(интеграция с YouTrack / GitLab, уведомления о релизах, напоминание о ревью и т.д.) под себя.
P.S. Мобильщики поработали за девопсов 😉
Читать (Ru)
3❤5🔥3😁3👍2🤯1
Описываем UseCase'ы правильно
Очередная статья про UseCase'ы – как их правильно готовить по мнению автора.
👉 Что такое архитектура
👉 Часто совершаемые ошибки
👉 Как описывать юзкейсы
👉 Пример кода
P.S. Принципиально ничего нового, но пусть будет
Читать (Ru)
Очередная статья про UseCase'ы – как их правильно готовить по мнению автора.
👉 Что такое архитектура
👉 Часто совершаемые ошибки
👉 Как описывать юзкейсы
👉 Пример кода
P.S. Принципиально ничего нового, но пусть будет
Читать (Ru)
🤔14👍9👎9🔥3👀1
Compose Performace - Finding Regressions
Полезная статья, в которой рассказывается как с помощью инструментов Perfetto и Diffetto искать и анализировать проблемные участки в Composable функциях.
Читать (En)
Полезная статья, в которой рассказывается как с помощью инструментов Perfetto и Diffetto искать и анализировать проблемные участки в Composable функциях.
Читать (En)
7👍5❤3🔥3
Composable-scoped ViewModel: An interesting experiment
Не знаю зачем, но автор решил провести эксперимент и создать ViewModel с привязкой к жизненному циклу Composable функций. Что из этого получилось - читайте в статье.
Статья большая, с кучей кода и разбором того, как всё устроено под капотом: Lifecycle, Composable и ViewModel.
Читать (En)
Не знаю зачем, но автор решил провести эксперимент и создать ViewModel с привязкой к жизненному циклу Composable функций. Что из этого получилось - читайте в статье.
Статья большая, с кучей кода и разбором того, как всё устроено под капотом: Lifecycle, Composable и ViewModel.
Читать (En)
8🔥5❤4👎2👍1😁1