В AppMetrica добавили решение Workspaces для быстрой настройки визуализации данных о показателях работы мобильного приложения.
Теперь можно создавать автономные дашборды с наглядным представлением различных метрик приложения.
• Работайте со всеми доступными отчётами и дашбордами в удобном интерфейсе AppMetrica
• Собирайте дашборды с KPI, чтобы команда могла в любой момент ознакомиться с текущим состоянием дел
• Отслеживайте только нужные показатели на дашборде и не отвлекайтесь на несущественные детали
Читать (Ru)
Теперь можно создавать автономные дашборды с наглядным представлением различных метрик приложения.
• Работайте со всеми доступными отчётами и дашбордами в удобном интерфейсе AppMetrica
• Собирайте дашборды с KPI, чтобы команда могла в любой момент ознакомиться с текущим состоянием дел
• Отслеживайте только нужные показатели на дашборде и не отвлекайтесь на несущественные детали
Читать (Ru)
👍3🔥2💩2❤1🤔1🤮1🤡1
Обзор библиотек для скриншот-тестирования Android проектов
Первая часть с обзором библиотек для скриншот-тестирования.
👉 Facebook* Screenshot Testing Library
👉 Shot
👉 Paparazzi
👉 Dropshots
Читать (Ru)
Первая часть с обзором библиотек для скриншот-тестирования.
👉 Facebook* Screenshot Testing Library
👉 Shot
👉 Paparazzi
👉 Dropshots
Читать (Ru)
🤔7👍6🔥2
Tools and tips I wish I knew when I started Android development
Несколько инструментов и советов для начинающих.
👉 JetBrains Toolbox
👉 Android codelabs
👉 ADB Idea
👉 Timber
👉 GitKraken
👉 Now In Android
👉 Material Symbols
👉 Android roadmap
👉 Android Developers on YouTube
Читать (En)
Несколько инструментов и советов для начинающих.
👉 JetBrains Toolbox
👉 Android codelabs
👉 ADB Idea
👉 Timber
👉 GitKraken
👉 Now In Android
👉 Material Symbols
👉 Android roadmap
👉 Android Developers on YouTube
Читать (En)
🔥10❤5👍5💩4
Migrate to Jetpack Compose
Гугл видимо начал дополнять доку по Jetpack Compose и уже добавили/обновили несколько коротких гайдов по миграции на Jetpack Compose.
👉 Migrate RecyclerView to Lazy list
👉 Migrate CoordinatorLayout to Compose
👉 Migrate Jetpack Navigation to Navigation Compose
👉 Migrate from Material 2 to Material 3 in Compose
👉 Window insets in Compose
👉 Lists and grids
👉 Other considerations
Гугл видимо начал дополнять доку по Jetpack Compose и уже добавили/обновили несколько коротких гайдов по миграции на Jetpack Compose.
👉 Migrate RecyclerView to Lazy list
👉 Migrate CoordinatorLayout to Compose
👉 Migrate Jetpack Navigation to Navigation Compose
👉 Migrate from Material 2 to Material 3 in Compose
👉 Window insets in Compose
👉 Lists and grids
👉 Other considerations
🔥10👍4❤2
Настраиваем CI/CD для тестовой инфраструктуры Android
Гайд по настройке CI/CD для тестовой инфраструктуры и интеграции между Kaspresso, Allure TestOps и Gitlab CI.
👉 Загрузка результатов тестов из Gitlab
👉 Аутентификация Gitlab сборки
👉 Настройка GitLab проекта для загрузки тестовых данных
👉 Создание скрипта сборки
Читать (Ru)
Гайд по настройке CI/CD для тестовой инфраструктуры и интеграции между Kaspresso, Allure TestOps и Gitlab CI.
👉 Загрузка результатов тестов из Gitlab
👉 Аутентификация Gitlab сборки
👉 Настройка GitLab проекта для загрузки тестовых данных
👉 Создание скрипта сборки
Читать (Ru)
👍12❤1🔥1🤔1
Eliminating coroutine races
Статья с примерами races condition в корутинах и вариантами решения.
Читать (En)
Статья с примерами races condition в корутинах и вариантами решения.
Читать (En)
👍8🔥2❤1
Forwarded from Swift Tips
Awesome iOS Dev Tools
Забирайте большущий список Awesome iOS Dev Tools.
• Analytics
• App Store Optimization
• Backends
• Code
• Debugging
• Deployment
• Design
• Documentation
• Graphics & Animation
• Localization
• Machine Learning
• Mapping & Location
• Messaging
• Monetisation & Payments
• Networking
• Productivity
• Support
• Testing
Читать (En)
Забирайте большущий список Awesome iOS Dev Tools.
• Analytics
• App Store Optimization
• Backends
• Code
• Debugging
• Deployment
• Design
• Documentation
• Graphics & Animation
• Localization
• Machine Learning
• Mapping & Location
• Messaging
• Monetisation & Payments
• Networking
• Productivity
• Support
• Testing
Читать (En)
🔥3❤2👍1
A flexible, modern Android app architecture: complete step-by-step
Продолжение к статье с примером реализации гибкой, современной архитектуры в Android, которая соответствует различным принциам(SOLID, Dependency Inversion, etc).
Принципиально ничего нового, всё те же слои, вьюмодели, юзкейсы и т.д., но всё же.
Предыдущая статья от автора – How to architect Android apps: a deep dive into principles, not rules
Читать (En)
Продолжение к статье с примером реализации гибкой, современной архитектуры в Android, которая соответствует различным принциам(SOLID, Dependency Inversion, etc).
Принципиально ничего нового, всё те же слои, вьюмодели, юзкейсы и т.д., но всё же.
Предыдущая статья от автора – How to architect Android apps: a deep dive into principles, not rules
Читать (En)
👍13🔥3❤2
Jetpack compose — How to implement Custom Pager Indicators
Еще одна статья с примером реализации кастомных Pager ииндикаторов на Jetpack Compose с различными эффектами анимации.
Читать (En)
Еще одна статья с примером реализации кастомных Pager ииндикаторов на Jetpack Compose с различными эффектами анимации.
Читать (En)
👍9❤3🔥1
Leveraging Kotlin Operator Overloading In Android Clean Architecture Use Case Classes
В статье найдете простой пример применения Kotlin оператора invoke для юзкейсов, что позволит сделать ваш код более лаконичным.
А если поиграться с неймингом, могут получиться весьма красивые вызовы. Что-нибудь типа 👇
и затем вызываем –
Читать (En)
В статье найдете простой пример применения Kotlin оператора invoke для юзкейсов, что позволит сделать ваш код более лаконичным.
А если поиграться с неймингом, могут получиться весьма красивые вызовы. Что-нибудь типа 👇
val getUserProfile: GetUserProfileUseCase…и затем вызываем –
getUserProfile()Читать (En)
❤5👍3👎1🔥1👏1
Kotlin 1.9.0 Released
Там это, Kotlin 1.9.0 зарелизился.
• New Kotlin K2 compiler updates
• Stable replacement of the enum class values
function
• Stable ..< operator for open-ended ranges
• New common function to get regex capture group
by name
• New path utility to create parent directories
• Preview of Gradle configuration cache in
Kotlin Multiplatform
• Changes for Android target support in
Kotlin Multiplatform
• Preview of custom memory allocator in
Kotlin/Native
• Library linkage in Kotlin/Native
• Size-related optimizations in Kotlin/Wasm
Читать (En)
Там это, Kotlin 1.9.0 зарелизился.
• New Kotlin K2 compiler updates
• Stable replacement of the enum class values
function
• Stable ..< operator for open-ended ranges
• New common function to get regex capture group
by name
• New path utility to create parent directories
• Preview of Gradle configuration cache in
Kotlin Multiplatform
• Changes for Android target support in
Kotlin Multiplatform
• Preview of custom memory allocator in
Kotlin/Native
• Library linkage in Kotlin/Native
• Size-related optimizations in Kotlin/Wasm
Читать (En)
👍9❤3🔥3👏1🤔1🤮1
Kotlin Enums — Replace values() with entries
В Kotlin 1.9.0 на замену
В чём отличия можно почитать в статье.
Читать (En)
В Kotlin 1.9.0 на замену
values() в Enum пришло property entries.В чём отличия можно почитать в статье.
Читать (En)
👍14🔥4🤔2
Как я перестал волноваться и полюбил ошибки в Kotlin корутинах: Мифы обработки ошибок в корутинах
Объяснения и правила которые помогут проще разобраться как работает механизм обработки ошибок в корутинах.
Читать (Ru)
Объяснения и правила которые помогут проще разобраться как работает механизм обработки ошибок в корутинах.
Читать (Ru)
🔥17👍3👏1
Делаем эмулятор Android через Terminal
Пошаговый гайд как работать с эмулятором через терминал.
👉 Установка инструментов
👉 Создание шаблона
👉 Создание эмулятора
👉 Конфигурация
👉 Запуск
Читать (Ru)
Пошаговый гайд как работать с эмулятором через терминал.
👉 Установка инструментов
👉 Создание шаблона
👉 Создание эмулятора
👉 Конфигурация
👉 Запуск
Читать (Ru)
👍13🔥2🤔1
10 Questions and Answers about ViewModels in Android
10 часто задаваемых вопросов на собесах про ViewModel.
👉 What is a ViewModel?
👉 How does a ViewModel differ from an Activity or Fragment?
👉 How do I create a ViewModel?
👉 What is the purpose of a ViewModelFactory?
👉 How do ViewModels communicate with Activities or Fragments?
👉 Can ViewModels hold references to the Context?
👉 How do ViewModels handle configuration changes?
👉 Can I share data between multiple Fragments using a ViewModel?
👉 Can I test ViewModels?
👉 Can ViewModels replace the need for saving data in onSaveInstanceState()?
Читать (En)
10 часто задаваемых вопросов на собесах про ViewModel.
👉 What is a ViewModel?
👉 How does a ViewModel differ from an Activity or Fragment?
👉 How do I create a ViewModel?
👉 What is the purpose of a ViewModelFactory?
👉 How do ViewModels communicate with Activities or Fragments?
👉 Can ViewModels hold references to the Context?
👉 How do ViewModels handle configuration changes?
👉 Can I share data between multiple Fragments using a ViewModel?
👉 Can I test ViewModels?
👉 Can ViewModels replace the need for saving data in onSaveInstanceState()?
Читать (En)
🔥10👍4❤1
Храним краску с умом: как организовать ресурсы в многомодульном проекте
Разбор нескольких способов организации хранения ресурсов в многомодульных проектах.
Тулза для автоэкспорта ресурсов из Figma → FigmaExport
Пример кода → Brandbook-sample
Читать (Ru)
Разбор нескольких способов организации хранения ресурсов в многомодульных проектах.
Тулза для автоэкспорта ресурсов из Figma → FigmaExport
Пример кода → Brandbook-sample
Читать (Ru)
👍10❤1👎1🔥1🤔1
От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin. Часть 1.
Разбор изменений реализации примитивов синхронизации из стандартной библиотеки Java и пакета
Какие реализации примитивов синхронизации потоков актуальны в контексте корутин, а какие надо использовать с осторожностью и готовность текущих решений к использованию в Kotlin Multiplatform.
В статье рассматриваются
👉 Критические секции
👉 Атомарные переменные
👉 Реактивные переменные
👉 Барьерная синхронизация
Читать (Ru)
Разбор изменений реализации примитивов синхронизации из стандартной библиотеки Java и пакета
java.util.concurrent для Kotlin Coroutines и для языка Kotlin в целом.Какие реализации примитивов синхронизации потоков актуальны в контексте корутин, а какие надо использовать с осторожностью и готовность текущих решений к использованию в Kotlin Multiplatform.
В статье рассматриваются
👉 Критические секции
👉 Атомарные переменные
👉 Реактивные переменные
👉 Барьерная синхронизация
Читать (Ru)
👍21🔥9👎2❤1🥴1
Как мы запускали демоприложения
Статья от ребят из Тинькофф, в которой рассказывается как они ускорили синхронизацию и сборку проекта, состоящего из ~1000 модулей, решили проблему лагающей Android Studio с помощью демоприложений, уменьшили простой и улучшили продуктивность разработчиков.
Статья будет интересна тем, кто работает над многомодульным проектом, где количество модулей перевалило за сотню, время синхронизации измеряется в минутах, а время сборки — в десятках минут.
Читать (Ru)
Статья от ребят из Тинькофф, в которой рассказывается как они ускорили синхронизацию и сборку проекта, состоящего из ~1000 модулей, решили проблему лагающей Android Studio с помощью демоприложений, уменьшили простой и улучшили продуктивность разработчиков.
Статья будет интересна тем, кто работает над многомодульным проектом, где количество модулей перевалило за сотню, время синхронизации измеряется в минутах, а время сборки — в десятках минут.
Читать (Ru)
👍14🤔3❤2💩2❤🔥1👎1🔥1
Работа с асинхронными операциями с помощью Kotlin Coroutines
Еще один большой материал с примерами по корутинам 🔥
👉 Знакомство с Kotlin Coroutines
👉 Области видимости (CoroutineScope)
👉 Диспетчеры (Dispatchers)
👉 Корутин-билдеры (Coroutine Builders)
👉 Задачи (Jobs)
👉 Функции приостановки (Suspend)
👉 Continuation
👉 CoroutineExceptionHandler
👉 SupervisorJob
👉 Заключение
Читать (Ru)
Еще один большой материал с примерами по корутинам 🔥
👉 Знакомство с Kotlin Coroutines
👉 Области видимости (CoroutineScope)
👉 Диспетчеры (Dispatchers)
👉 Корутин-билдеры (Coroutine Builders)
👉 Задачи (Jobs)
👉 Функции приостановки (Suspend)
👉 Continuation
👉 CoroutineExceptionHandler
👉 SupervisorJob
👉 Заключение
Читать (Ru)
👍17🔥5❤1👎1👏1
Injection Points
Обзор нескольких полезных Android API фабрик, с помощью которых мы можем влиять на создание основных компонентов.
👉 AppComponentFactory
👉 LayoutInflater.Factory and Views
👉 FragmentFactory
👉 ViewModelProvider.Factory
👉 WorkManager and WorkerFactory
Читать (En)
Обзор нескольких полезных Android API фабрик, с помощью которых мы можем влиять на создание основных компонентов.
👉 AppComponentFactory
👉 LayoutInflater.Factory and Views
👉 FragmentFactory
👉 ViewModelProvider.Factory
👉 WorkManager and WorkerFactory
Читать (En)
👍10❤3🤔2🔥1