Android-приложение без Firebase — миф или реальность?
Автор статьи на основе опыта работы с Firebase рассказывает о плюсах, минусах и альтернативах использования этой платформы. Текст будет полезен тем, кто разрабатывает или планирует разрабатывать мобильные приложения.
👉 Что такое Firebase?
👉 Альтернативы Firebase: почему они важны?
👉 Чем можно заменить FCM?
👉 Remote Config: какие есть аналоги?
👉 Анализ ошибок: Firebase vs Tracer
👉 Аналитика от Firebase: альтернативы есть
👉 Архитектурная гибкость
Читать (Ru)
Автор статьи на основе опыта работы с Firebase рассказывает о плюсах, минусах и альтернативах использования этой платформы. Текст будет полезен тем, кто разрабатывает или планирует разрабатывать мобильные приложения.
👉 Что такое Firebase?
👉 Альтернативы Firebase: почему они важны?
👉 Чем можно заменить FCM?
👉 Remote Config: какие есть аналоги?
👉 Анализ ошибок: Firebase vs Tracer
👉 Аналитика от Firebase: альтернативы есть
👉 Архитектурная гибкость
Читать (Ru)
👎30👍10🔥5❤1
MutableState or MutableStateFlow: A Perspective on what to use in Jetpack Compose
В статье рассматриваются и сравниваются функциональные возможности MutableState и MutableStateFlow для управления стейтом в Jetpack Compose.
👉 What is MutableState?
👉 Using MutableState with Backing Properties in ViewModel
👉 Introduction to Flows in Jetpack Compose
👉 Using Flow in ViewModel for Heavy Computations
👉 Comparison of MutableState and MutableStateFlow
Читать (En)
В статье рассматриваются и сравниваются функциональные возможности MutableState и MutableStateFlow для управления стейтом в Jetpack Compose.
👉 What is MutableState?
👉 Using MutableState with Backing Properties in ViewModel
👉 Introduction to Flows in Jetpack Compose
👉 Using Flow in ViewModel for Heavy Computations
👉 Comparison of MutableState and MutableStateFlow
Читать (En)
🔥8👍7❤1👎1
Обновление AppMetrica: Инсайты
Новый инструмент Инсайты анализирует изменения основных метрик приложения и сообщает о самых заметных колебаниях всплывающими уведомлениями владельцу приложения, а также пользователям с ролями чтение и редактирование
Вот, что можно отслеживать с помощью Инсайтов:
👉 Изменение TimeSpent в новых версиях приложения;
👉 Изменение доли пользователей, совершающих платежи;
👉 Sticky Factor за неделю;
👉 ARPPU для онлайн-магазинов;
👉 ARPWAU от рекламы;
👉 ARPPU в приложении.
P.S. Если уведомления не показываются, скорее всего, метрики незначительно изменились или со временем выровнялись.
Читать (Ru)
Новый инструмент Инсайты анализирует изменения основных метрик приложения и сообщает о самых заметных колебаниях всплывающими уведомлениями владельцу приложения, а также пользователям с ролями чтение и редактирование
Вот, что можно отслеживать с помощью Инсайтов:
👉 Изменение TimeSpent в новых версиях приложения;
👉 Изменение доли пользователей, совершающих платежи;
👉 Sticky Factor за неделю;
👉 ARPPU для онлайн-магазинов;
👉 ARPWAU от рекламы;
👉 ARPPU в приложении.
P.S. Если уведомления не показываются, скорее всего, метрики незначительно изменились или со временем выровнялись.
Читать (Ru)
❤3👍3🔥1👌1
Creating Scalable Composables in Jetpack Compose
Гайд-расшифровка гугловского видео про то, как писать масштабируемый Jetpack Compose код.
👉 Planning and Design
👉 Layering Components
👉 Justification for New API
👉 Naming Conventions
👉 Parameters
👉 Modifier Handling
👉 State Management
👉 Accessibility and Semantics
Читать (En)
Гайд-расшифровка гугловского видео про то, как писать масштабируемый Jetpack Compose код.
👉 Planning and Design
👉 Layering Components
👉 Justification for New API
👉 Naming Conventions
👉 Parameters
👉 Modifier Handling
👉 State Management
👉 Accessibility and Semantics
Читать (En)
15👍12🔥4❤1
Почему мы решили перейти с JUnit4 на JUnit5
Статья поможет разобраться в причинах выбора JUnit5 в качестве целевого решения для написания unit‑тестов.
В статье рассматриваются ключевые вопросы: что делает JUnit5 предпочтительным выбором для современных проектов, и какие конкретные улучшения и нововведения он предлагает?
Читать (Ru)
Статья поможет разобраться в причинах выбора JUnit5 в качестве целевого решения для написания unit‑тестов.
В статье рассматриваются ключевые вопросы: что делает JUnit5 предпочтительным выбором для современных проектов, и какие конкретные улучшения и нововведения он предлагает?
Читать (Ru)
👍6🔥3🤔2
Forwarded from Swift Tips
Подсветка элементов онбординга. Spotlight onboarding / Highlight element. SwiftUI iOS15+
Крутая статья от разработчика из Ozon, про то, как сделать кастомный онбординг с подсветкой элементов на SwiftUI для iOS15+.
👉 Определение подхода
👉 Реализация
👉 Технические особенности
👉 Заключение
Читать (Ru)
Крутая статья от разработчика из Ozon, про то, как сделать кастомный онбординг с подсветкой элементов на SwiftUI для iOS15+.
👉 Определение подхода
👉 Реализация
👉 Технические особенности
👉 Заключение
Читать (Ru)
🔥4❤3👍1
Выносите ViewModel из Compose функций
Короткая статья для начинающих про то, почему не стоит передавать ViewModel в качестве параметров в Composable функции.
Читать (Ru)
Короткая статья для начинающих про то, почему не стоит передавать ViewModel в качестве параметров в Composable функции.
Читать (Ru)
👍22🔥6🤔3
Forwarded from Swift Tips
Отслеживание утечек памяти в iOS-приложении со SwiftUI в Runtime
В статье рассматриваются основные подходы к поиску утечек памяти в SwiftUI, имеющиеся инструменты и возможный способ застраховаться от утечек в будущем развитии проекта.
Читать (Ru)
В статье рассматриваются основные подходы к поиску утечек памяти в SwiftUI, имеющиеся инструменты и возможный способ застраховаться от утечек в будущем развитии проекта.
Читать (Ru)
🔥4👍3🤔1
Kotlin Coroutines. От А до Я
Ещё одна большая статья-шпаргалка для начинающих по корутинам.
🟢 Шпаргалка по корутинам
🟢 Зачем нужны корутины?
🟢 Suspend в Котлин
🟢 Библиотека kotlinx.corourines
🟢 Три способа войти в корутинный мир
🟢 Область видимости корутины. CoroutineScope и GlobalScope
🟢 CoroutineContext или как настроить свою корутину
🟢 Работа не Job, или все таки Job? Разбираемся в Job и Deferred
🟢 Запуск корутины с помощью Coroutine Builders. launch и async
🟢 Dispatchers. Основные виды диспетчеров в корутинах и область их применения
🟢 Способы обработок ошибок в корутинах
🟢 Отмена корутин
🟢 Создание своего пользовательского CoroutineScope
Читать (Ru)
Ещё одна большая статья-шпаргалка для начинающих по корутинам.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
19🔥9👍5❤2
Advanced Kotlin Flow Cheat sheet (for Android Engineer)
Большая статья-шпаргалка по Kotlin Flow, с разбором основных концепций Channel, Flow, SharedFlow, StateFlow и различных операторов.
👉 Cold streams VS Hot streams
👉 Channel
👉 Flow
👉 SharedFlow
👉 StateFlow
Читать (En)
Большая статья-шпаргалка по Kotlin Flow, с разбором основных концепций Channel, Flow, SharedFlow, StateFlow и различных операторов.
👉 Cold streams VS Hot streams
👉 Channel
👉 Flow
👉 SharedFlow
👉 StateFlow
Читать (En)
12👍7🔥4❤2👌1
Approaches for Multi-Module Feature Architecture on Android
Статья с разбором 4-х различных подходов к организации мультимодульной архитектуры в Android, с плюсами и минусами.
Читать (En)
Статья с разбором 4-х различных подходов к организации мультимодульной архитектуры в Android, с плюсами и минусами.
Читать (En)
👍7🔥3❤1👎1👨💻1
Как переход на AGP&Gradle 8.* изменил взгляд на работу с производительностью сборки
Разработчик из платформенной команды Одноклассников делится опытом перехода на AGP (Android Gradle Plugin) и Gradle версий 8.*: что стало причиной перехода, как преодолевали трудности, и что по итогу смогли получить в результате.
Читать (Ru)
Разработчик из платформенной команды Одноклассников делится опытом перехода на AGP (Android Gradle Plugin) и Gradle версий 8.*: что стало причиной перехода, как преодолевали трудности, и что по итогу смогли получить в результате.
Читать (Ru)
😁7🔥3👍2🤔1
Собеседование по System Design: как запроектировать и не потеряться
Довольно крутая статья-чеклист про то, как задизайнить условный сервис на System Design собесе и не потеряться.
👉 Начало интервью и вводные данные
👉 Функциональные требования
👉 Нефункциональные требования
👉 API и интеграции
👉 Жизненный цикл данных
👉 Схема архитектуры
👉 Расчёт ресурсов и финальные штрихи
Читать (Ru)
Довольно крутая статья-чеклист про то, как задизайнить условный сервис на System Design собесе и не потеряться.
👉 Начало интервью и вводные данные
👉 Функциональные требования
👉 Нефункциональные требования
👉 API и интеграции
👉 Жизненный цикл данных
👉 Схема архитектуры
👉 Расчёт ресурсов и финальные штрихи
Читать (Ru)
10👍11❤8🔥5🤩1
Forwarded from Swift Tips
Снифферы трафика в мобильном тестировании: Обзор инструментов и их особенности
Статья с обзором доступных инструментов для сниффинга трафика в мобилках.
• Fiddler
• HTTP Catcher
• Charles Proxy
• Burp Suite
• Packet Capture
• Reqable Google Play | Reqable App Store
• Proxyman
Полезно может быть как разработчикам, так и тестировщикам.
Читать (Ru)
Статья с обзором доступных инструментов для сниффинга трафика в мобилках.
• Fiddler
• HTTP Catcher
• Charles Proxy
• Burp Suite
• Packet Capture
• Reqable Google Play | Reqable App Store
• Proxyman
Полезно может быть как разработчикам, так и тестировщикам.
Читать (Ru)
👍11❤4🔥4
Loading Initial Data in LaunchedEffect vs. ViewModel
Большая статья про то, где и как лучше начинать загрузку данных для отображения в UI на Jetpack Compose.
👉
👉
👉
Читать (En)
Большая статья про то, где и как лучше начинать загрузку данных для отображения в UI на Jetpack Compose.
👉
ViewModel.init()👉
LaunchedEffect👉
StateFlow / SharedFlowЧитать (En)
🔥11👍5❤1
Best way to keep state in a ViewModel
В продолжении к вчерашнему посту, ещё одна статья – пример реализации, как организовать работу со стейтом и ивентами во ViewModel.
Читать (En)
В продолжении к вчерашнему посту, ещё одна статья – пример реализации, как организовать работу со стейтом и ивентами во ViewModel.
Читать (En)
👍5🔥4❤2👌1
Интересные приёмы, взятые из исходников Android
В статье рассматриваются некоторые интересные механики и приёмы написания кода из Android SDK, которые можно взять себе на вооружение.
Читать (Ru)
В статье рассматриваются некоторые интересные механики и приёмы написания кода из Android SDK, которые можно взять себе на вооружение.
Читать (Ru)
👍9🔥4🤔3👎1
Flutter vs Kotlin Multiplatform: что выбрать
Статья с разбором двух кроссплатформенных фреймворков Kotlin и Flutter, в которой рассматриваются их основные особенности и для каких проектов каждый из них подходит.
👉 Что такое Flutter?
👉 Преимущества и недостатки Flutter
👉 Что такое Kotlin Multiplatform?
👉 Преимущества и недостатки Kotlin Multiplatform
👉 Основные различия
Читать (Ru)
Статья с разбором двух кроссплатформенных фреймворков Kotlin и Flutter, в которой рассматриваются их основные особенности и для каких проектов каждый из них подходит.
👉 Что такое Flutter?
👉 Преимущества и недостатки Flutter
👉 Что такое Kotlin Multiplatform?
👉 Преимущества и недостатки Kotlin Multiplatform
👉 Основные различия
Читать (Ru)
👍7🔥5🤔3👎2
Type safe navigation for Compose
Там Гугл зарелизил Jetpack Navigation 2.8.0. Основное изменение – типобезопасная навигация для Compose.
Как использовать, что поддерживается и т.д. можно почитать в статье или в Release Notes.
Читать (En)
Там Гугл зарелизил Jetpack Navigation 2.8.0. Основное изменение – типобезопасная навигация для Compose.
Как использовать, что поддерживается и т.д. можно почитать в статье или в Release Notes.
Читать (En)
👍5🔥5❤2
Kotlin глазами Java-разработчика
Автор статьи делится собственным опытом изучения Kotlin после долгого периода программирования на Java, ну и приводит некоторые удобные штуки доступные в Kotlin, по типу: дефолтных и именованных аргументов, работы с NPE, однострочных методов, extension функций и т.д.
Читать (Ru)
Автор статьи делится собственным опытом изучения Kotlin после долгого периода программирования на Java, ну и приводит некоторые удобные штуки доступные в Kotlin, по типу: дефолтных и именованных аргументов, работы с NPE, однострочных методов, extension функций и т.д.
Читать (Ru)
👍6🔥5🤔2
Architecture related decisions in Android
Цикл статей про архитектурные решения, в которых затрагиваются различные аспекты: рекомендации от гугла, чистая архитектура, организация слоёв, обработка ошибок и т.д.
• Introduction
• Error handling and Monads
• Mapping
• Response and Reply classes
• The rest
Читать (En)
Цикл статей про архитектурные решения, в которых затрагиваются различные аспекты: рекомендации от гугла, чистая архитектура, организация слоёв, обработка ошибок и т.д.
• Introduction
• Error handling and Monads
• Mapping
• Response and Reply classes
• The rest
Читать (En)
👍9❤3🔥3