Подборка материалов · Middle

110 статей для Middle Mobile-разработчика: большая подборка

Материалы для самостоятельной разработки мобильных приложений: архитектура, состояние, offline-first, производительность, автотесты, CI/CD, безопасность и аналитика.

110 статей · 10 тем · материалы на русском языке

Архитектура Android

  1. Jetpack Compose — как легко построить UI на Android

    Чтобы принимать устойчивые архитектурные решения.

  2. Jetpack Compose для Android TV: как происходит перемещение фокуса

    Чтобы принимать устойчивые архитектурные решения.

  3. Переезд с XML на Jetpack Compose на проде: базовые классы, архитектура, сложности и готовые решения

    Чтобы принимать устойчивые архитектурные решения.

  4. Как работать с Custom Layout в Jetpack Compose

    Чтобы принимать устойчивые архитектурные решения.

  5. Как использовать Kotlin Multiplatform ViewModel в SwiftUI и Jetpack Compose

    Чтобы принимать устойчивые архитектурные решения.

  6. Погружаемся в Compose-Verse — руководство по Jetpack Compose для начинающих: управление состоянием

    Чтобы принимать устойчивые архитектурные решения.

  7. Библиотека «Jetpack Compose» для начинающего Android-разработчика

    Чтобы принимать устойчивые архитектурные решения.

  8. Jetpack Compose — сила Android-разработки

    Чтобы принимать устойчивые архитектурные решения.

  9. Figma2Android: Как мы делали плагин для Figma, чтобы ускорить разработку интерфейсов в Jetpack Compose

    Чтобы принимать устойчивые архитектурные решения.

  10. Compose. Jetpack Compose

    Чтобы принимать устойчивые архитектурные решения.

  11. Навигация в Jetpack Compose без магии: что на самом деле делают библиотеки навигации

    Чтобы принимать устойчивые архитектурные решения.

  12. Пять ошибок при работе с Jetpack Compose, из-за которых тормозит recomposition

    Чтобы принимать устойчивые архитектурные решения.

  13. Jetpack Compose как unbundled-библиотека. Скорость UI vs. Гибкость разработки

    Чтобы принимать устойчивые архитектурные решения.

Архитектура iOS

  1. MVVM на основе Combine в UIKit и SwiftUI приложениях для UIKit разработчиков

    Чтобы принимать устойчивые архитектурные решения.

  2. Разделяй и властвуй. Модульное приложение из монолита на Objective-C и Swift

    Чтобы принимать устойчивые архитектурные решения.

  3. Пишем декларативный Package.swift: DSL для модульной архитектуры iOS проекта

    Чтобы принимать устойчивые архитектурные решения.

  4. Как я бросила двустороннюю архитектуру и ушла к Redux со SwiftUI и SwiftData

    Чтобы принимать устойчивые архитектурные решения.

  5. Архитектурные паттерны в iOS: страх и ненависть в диаграммах. MV(X)

    Чтобы принимать устойчивые архитектурные решения.

  6. Архитектура SwiftUI + VIPER: модульный подход к разработке iOS‑приложений

    Чтобы принимать устойчивые архитектурные решения.

  7. Архитектурные паттерны в iOS: привет от дядюшки Боба, или Clean Architecture

    Чтобы принимать устойчивые архитектурные решения.

  8. Разбор архитектуры VIPER на примере небольшого iOS приложения на Swift 4

    Чтобы принимать устойчивые архитектурные решения.

  9. Как заставить крутиться таймер – инструкция для iOS-разработчиков

    Чтобы принимать устойчивые архитектурные решения.

  10. Творческая переработка MVVM и TCA на примере iOS

    Чтобы принимать устойчивые архитектурные решения.

  11. Как правильно организовать проект c модульной архитектурой в iOS-разработке

    Чтобы принимать устойчивые архитектурные решения.

  12. Роутинг для iOS: универсальная навигация без переписывания приложения

    Чтобы принимать устойчивые архитектурные решения.

  13. Навигация на SwiftUI: чего не хватает и как исправить

    Чтобы принимать устойчивые архитектурные решения.

Flutter и React Native в production

  1. State-менеджмент «из коробки» во Flutter: эффективная альтернатива BLoC и Riverpod

    Чтобы создавать интерфейсы из переиспользуемых компонентов.

  2. Как мы переписали мобильное приложение с React Native на Flutter

    Чтобы собирать интерфейс из переиспользуемых компонентов.

  3. Сравнение React Native и Flutter с точки зрения их применения в реальных проектах

    Чтобы собирать интерфейс из переиспользуемых компонентов.

  4. React Native тормозит? Проверь эти 8 узких мест в производительности, прежде чем винить фреймворк [ЧЕК-ЛИСТ]

    Чтобы собирать интерфейс из переиспользуемых компонентов.

  5. Flutter в своей продакшн-эре и другие откровения на Flutter in Production

    Чтобы создавать интерфейсы из переиспользуемых компонентов.

  6. Компонентная архитектура приложений на Flutter: почему выбрать BLoC недостаточно

    Чтобы создавать интерфейсы из переиспользуемых компонентов.

  7. React Native is better than Flutter*

    Чтобы собирать интерфейс из переиспользуемых компонентов.

  8. Cтейт-менеджмент на Flutter. Введение в Bloc

    Чтобы создавать интерфейсы из переиспользуемых компонентов.

  9. Road to Flutter – анализ опыта миграции с React Native

    Чтобы собирать интерфейс из переиспользуемых компонентов.

  10. WASM vs JavaScript 2026 — проверка на Flutter Web

    Чтобы создавать интерфейсы из переиспользуемых компонентов.

  11. Flutter — для веб приложений, Jaspr — для веб сайтов

    Чтобы создавать интерфейсы из переиспользуемых компонентов.

  12. Как мигрировать Flutter-приложение на SPM — гайд с граблями, костылями и скриптами

    Чтобы создавать интерфейсы из переиспользуемых компонентов.

  13. Подстраиваемся под новые требования Google: переходим на 16 KB memory page (гайд для разработчиков React Native)

    Чтобы собирать интерфейс из переиспользуемых компонентов.

Состояние и зависимости

  1. Как следить за состоянием мобильного приложения?

    Чтобы контролировать данные и связи модулей.

  2. Прививка от созависимости. Зачем нужен DI и как он работает в iOS-приложениях hh.ru

    Чтобы контролировать данные и связи модулей.

  3. Современный способ организации зависимостей в Android. Version catalog и Gradle convention plugin

    Чтобы контролировать данные и связи модулей.

  4. Простой, но масштабируемый State Management для Flutter

    Чтобы контролировать данные и связи модулей.

  5. React Native iOS Push Notifications: почему push не сохраняются в background/killed state

    Чтобы собирать интерфейс из переиспользуемых компонентов.

  6. Ciklum Speakers' Corner “How to save money on QA — Dependency Injection and automated testing on Android”, 29 мая, Киев

    Чтобы контролировать данные и связи модулей.

  7. Hilt+Retrofit+Coroutine

    Чтобы контролировать данные и связи модулей.

  8. jugger – внедрение зависимостей как в Android

    Чтобы контролировать данные и связи модулей.

  9. Практическое руководство по использованию Hilt с Kotlin

    Чтобы контролировать данные и связи модулей.

  10. Будущее внедрения зависимостей в Android

    Чтобы контролировать данные и связи модулей.

  11. Проверка внедрения зависимостей на Swift

    Чтобы контролировать данные и связи модулей.

  12. Управляем зависимостями в iOS-приложениях правильно: Знакомство с Typhoon

    Чтобы контролировать данные и связи модулей.

  13. Управление зависимостями в iOS-приложения на Swift со спокойствием

    Чтобы контролировать данные и связи модулей.

Сеть, offline-first и синхронизация

  1. Offline First в мобильных приложениях. Кэширование

    Чтобы приложение работало без стабильной сети.

  2. Работа с данными в мобильных приложениях. Реализуем offline хранилище и синхронизацию данных используя Microsoft Azure и SQLite

    Чтобы приложение работало без стабильной сети.

  3. Сетевой слой iOS‑приложения

    Чтобы приложение работало без стабильной сети.

  4. Offline First в мобильных приложениях. CRUD на стороне клиента

    Чтобы приложение работало без стабильной сети.

  5. Настройка Workbox Background Sync для совместимости с iOS и Android WebView

    Чтобы приложение работало без стабильной сети.

  6. Синхронизация данных Carbonio Community Edition с почтовыми клиентами и мобильными устройствами по протоколу CalDAV

    Чтобы приложение работало без стабильной сети.

Данные и производительность

  1. Блеск и нищета key-value базы данных LMDB в приложениях для iOS

    Чтобы находить узкие места и ускорять систему.

  2. Flutter Widget Previewer: разработка UI без запуска приложения

    Чтобы находить узкие места и ускорять систему.

  3. Память в Swift

    Чтобы находить узкие места и ускорять систему.

  4. Анализ производительности React Native приложений: как выявить проблемы и улучшить перформанс

    Чтобы собирать интерфейс из переиспользуемых компонентов.

  5. Путь к стабильности: как мы снизили потребление оперативной памяти в iOS-приложении

    Чтобы находить узкие места и ускорять систему.

  6. Как не забросить свой пет-проект. Мой кейс запуска приложения в App Store

    Чтобы находить узкие места и ускорять систему.

  7. О производительности Android-приложений

    Чтобы находить узкие места и ускорять систему.

  8. Оптимизация Flutter-приложения: списки, build() и утечки памяти

    Чтобы находить узкие места и ускорять систему.

  9. Сравнение производительности Xamarin (monodroid) и Java (DalvikVM) на Android устройствах

    Чтобы находить узкие места и ускорять систему.

  10. Как не потерять голову (и память) при поиске утечек в iOS

    Чтобы находить узкие места и ускорять систему.

  11. Как портировать SDK Flutter на ТВ-приставку для разработки и запуска приложений Android TV

    Чтобы находить узкие места и ускорять систему.

  12. Как мы ускорили запуск приложения Dropbox для Android на 30 %

    Чтобы находить узкие места и ускорять систему.

  13. Как сократить время запуска приложений под iOS

    Чтобы находить узкие места и ускорять систему.

Автоматизированное тестирование

  1. От ручного тестирования к автоматизированному: пишем compose UI-тест под Android

    Чтобы находить ошибки до выпуска продукта.

  2. Синергия E2E и скриншотных тестов: создание надежной системы тестирования iOS с помощью XCTest

    Чтобы находить ошибки до выпуска продукта.

  3. Внедряем Snapshot testing в UI-тесты iOS

    Чтобы находить ошибки до выпуска продукта.

  4. Snapshot тесты для iOS. быстро, стабильно на Metal

    Чтобы находить ошибки до выпуска продукта.

  5. XCUITest для начинающих: как сделать тестирование iOS красивым с Allure

    Чтобы находить ошибки до выпуска продукта.

  6. 250 тестов вручную? Нет, спасибо. Автоматизируем screenshot-тестирование через Compose Preview

    Чтобы находить ошибки до выпуска продукта.

  7. Быстрее, чище, стабильнее: как мы ускорили UI-тесты в iOS в 2,5 раза

    Чтобы находить ошибки до выпуска продукта.

  8. Rafinad: сахар для UI-тестирования iOS-приложений

    Чтобы находить ошибки до выпуска продукта.

  9. Ускоряем прохождение iOS UI-тестов. Часть 1. Запуск тестов без сборки проекта

    Чтобы находить ошибки до выпуска продукта.

  10. Как устроено автоматическое тестирование в Почте Mail.Ru под iOS

    Чтобы находить ошибки до выпуска продукта.

  11. Про тестирование мобильных приложений. Часть 4. Интеграционное тестирование

    Чтобы находить ошибки до выпуска продукта.

  12. Про тестирование мобильных приложений. Часть 2. Unit tests

    Чтобы находить ошибки до выпуска продукта.

  13. Два по цене одного: snapshot-тесты на основе SwiftUI Preview

    Чтобы находить ошибки до выпуска продукта.

CI/CD и выпуск приложения

  1. Автоматизация метаданных App Store и Google Play с fastlane и Azure Pipelines

    Чтобы автоматизировать проверки и выпуск изменений.

  2. Альтернативы Google Play и App Store или как живет Китай без Google Play

    Чтобы автоматизировать проверки и выпуск изменений.

  3. По следам публикации в Google Play/App Store/ Steam Greenlight

    Чтобы автоматизировать проверки и выпуск изменений.

  4. Эксперимент: бесплатно переводим кейворды и описание приложений для App Store и Google Play в обмен на статистику

    Чтобы автоматизировать проверки и выпуск изменений.

  5. Опыт публикации Андроид приложения в Google Play независимым разработчиком в 2024 году

    Чтобы автоматизировать проверки и выпуск изменений.

  6. Наш опыт публикации мобильных приложений. Часть 1: AppStore и Google Play

    Чтобы автоматизировать проверки и выпуск изменений.

  7. 7 основных причин, почему блокируют приложения в Google Play и AppStore

    Чтобы автоматизировать проверки и выпуск изменений.

  8. Есть ли жизнь без Google Play? Альтернативы и обновление приложений

    Чтобы автоматизировать проверки и выпуск изменений.

  9. Видео для Google Play: интерфейс, анимация или видеосъемка?

    Чтобы автоматизировать проверки и выпуск изменений.

  10. Приложение «ВКонтакте» удалено из Google Play по просьбе правообладателей музыкального контента

    Чтобы автоматизировать проверки и выпуск изменений.

  11. Android'мания: за четыре года доходы Google Play выросли более чем в 35 раз

    Чтобы автоматизировать проверки и выпуск изменений.

  12. Поисковая оптимизация для AppStore и Google Play или ASO

    Чтобы автоматизировать проверки и выпуск изменений.

Безопасность, аналитика и стабильность

  1. Tracer спустя год: новые фичи и возможности инструмента для аналитики ошибок в мобильных приложениях

    Чтобы снизить риски и защитить систему.

  2. Crash-crash, baby. Автоматический мониторинг фатальных ошибок мобильных приложений

    Чтобы снизить риски и защитить систему.

  3. Обход средств защиты в iOS-приложениях

    Чтобы снизить риски и защитить систему.

  4. Прямая без препятствий. Часть 2. Защита мобильных приложений — выход найден?

    Чтобы снизить риски и защитить систему.

  5. Безопасность iOS-приложений: гайд для новичков

    Чтобы снизить риски и защитить систему.

  6. Ошибки не должны быть безмолвными: Sentry, Firebase Crashlytics и Datadog в одном Flutter‑приложении

    Чтобы снизить риски и защитить систему.

  7. Another client side: безопасность мобильных приложений глазами атакующего

    Чтобы снизить риски и защитить систему.

  8. Всё, что нужно знать об Android 15: архивирование, защита данных и новые API

    Чтобы снизить риски и защитить систему.

  9. Фокус на безопасность мобильных приложений

    Чтобы снизить риски и защитить систему.

  10. Защита iOS-приложений от реверс-инженеринга

    Чтобы снизить риски и защитить систему.

  11. Шорт-лист мифов о безопасности мобильных приложений и неприкрытая правда

    Чтобы снизить риски и защитить систему.

  12. Аналитика мобильных приложений на Flutter. Часть 2. Подключение Firebase Analytics

    Чтобы снизить риски и защитить систему.

  13. Защита персональных данных в мобильных приложениях: как не нарушить закон

    Чтобы снизить риски и защитить систему.

Планирование разработки

  1. Планирование проекта

    Чтобы выбрать приоритеты и согласовать действия.

Все подборки для мобильного разработчика →