Новый выпуск — разбираем iOS-приложение и сенсорный пин-пад, моделируем состояния ViewModel в Android и начинаем работу с LiteRT, самые трудные вопросы с собеседований, о зацикливании рекомпозиции в Jetpack Compose, алгоритмы, с помощью которых мы разрабатываем программное обеспечение и многое другое. Подключайтесь!
Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
![](https://habrastorage.org/webt/ru/nz/h_/runzh_iw3k9rsup_z22zxlr7l-q.png)
iOS
• Почему xcodebuild работает медленнее, чем Xcode?
• Разбираем iOS-приложение: код, сборка, статические и динамические библиотеки, компиляция, запуск
• Путь одного iOS-приложения
• Начинаем работу с LiteRT (Tensorflow Lite)
• Улучшения в фичеринге в App Store
•
Font modifiers in SwiftUI
•
Using ViewThatFits to Create a More Accessible List Cell in SwiftUI
•
Testing the Untestable
•
Writing a chess app
•
AnchoredRelativeFormatStyle: The Hidden Replacement for Date RelativeFormatStyle
•
Automatic Trait Tracking
•
iOS Developer Toolset to boost productivity
•
Introducing Swift Testing. Parameterized Tests.
•
How to identify data in Lists and ForEach in SwiftUI
•
Automate Apple app code signing using fastlane match
•
The End of Singleton? Why Swift 6 Actors Are the Future of iOS Development
•
Apple is Killing Swift
•
Advanced Swift Concurrency
•
So how does this whole @preconcurrency thing work?
•
What on earth is going on with awakeFromNib?
•
Detecting hand pose with the Vision framework
•
SwiftUI Tutorials: Building a Relaxing Sudoku App from Scratch
•
The Composable Architecture (TCA) — New Project Setup in SwiftUI using XCode 16 and Swift Testing
•
SwiftUI Navigation Stack Hero Animation — iOS 17 & 18
•
Google Engineer Explains How to Integrate Gemini AI in iOS
•
Reading and Parsing CSV Files in Swift
•
Github Copilot for Xcode: Let’s Explore and Discover
•
Mediator Pattern in Swift: Explaining a Real-World Example from My Job
•
Expandable Custom Slider
•
SwiftUIFormValidator — проверка форм для SwiftUI
•
Mockolo — эффективный генератор моков для Swift
Android
• Сенсорный пин-пад и как он работает
• Моделирование состояния ViewModel в Android: чистый, масштабируемый паттерн
• Как поднять инфраструктуру для запуска автотестов Android в облаках
• Самые трудные вопросы на собеседовании, которые вам задавали — Обсуждение на Reddit
• Как разобрать и собрать обратно apk под Windows
• Как силами мобильных разработчиков автоматизировать процесс разработки
• Описываем UseCase'ы правильно
• Как реализовать методы скроллов через Appium для Android-приложений
• О зацикливании рекомпозиции в Jetpack Compose
• Улучшение стабильности и производительности эмулятора Android
•
Inspektify got even better
•
Putting the Genie in the bottle
•
Credential Manager
•
Comparing SupervisorScope with viewModelScope
•
Centered Slider in Jetpack Compose
•
Skipping the invocation of intermediate composables
•
Dealing with Android’s peculiar bugs as an app developer
•
Everything you need to know about Android on Raspberry Pi
•
Running Android on Amazon EKS
•
The two best ways to secure your API keys in Android projects
•
Android Screenshot Testing — Boosting your CI pipeline
•
Exploring the Secrets of Dispatchers Default and IO in Kotlin Coroutines
•
Modeling ViewModel State in Android: A Guide to Clean, Scalable Patterns
•
How to force update (& test) your Android app using Google’s in-app update library
•
Emulating classes with functions in Kotlin for maximum performance
•
Google Maps in Jetpack Compose: Circles
•
Mastering runCatching in Kotlin: How to Avoid Coroutine Cancellation Issues
•
Leak detection using UI tests
•
Top 5 Extension Functions Every Jetpack Compose Developer Should Have
•
Android System Design Interview Questions and Answers
•
Animating the Airbnb Logo in Jetpack Compose
•
Building consistency at scale: Our journey with Compose Design System
•
Building a Simple Camera2 API App with Jetpack Compose
•
Ultra HDR images | Android Build Time
•
Exploring Android Trunk-Stable & Aconfig
•
Previewing the Unpreviewable — Placeholder Previews in Compose
•
How to Create Material3 List Items With THIS Composable
•
Fun with Function Types in Kotlinм
•
Wave Progress Compose — волновой прогресс-бар
•
LibreSudoku — судоку на Kotlin, Jetpack Compose и Material3
•
Lumolight — современный фонарик
Кроссплатформа
• Кроссплатформенные приложения на Python с Flet и FastAPI: Полное руководство по разработке
• Патчим freezed
• Один год с Duit — ретроспектива развития
• Поможет ли новая архитектура React Native отобрать лидерство у Flutter в кроссплатформенной разработке?
•
Extension Shadowing for Actual Declarations in KMP
•
Mix Native iOS Views in Compose Multiplatform With Touchlab’s New Library
•
Developing iOS & Android Home Screen Widgets in Flutter
•
North Korean hackers create Flutter apps to bypass macOS security
•
Cozy Data — A Swift-inspired Persistent Data Solution for Flutter
•
Discussion: MVVM pattern for Flutter apps
•
Design System from scratch in Flutter
•
Mastering Detox for React Native
•
How to Use Flutter Secure Storage to Keep Your App’s Data Safe
•
Optimizing Flutter Apps with RepaintBoundary
•
This needs to stop (Flock)
•
How to Monitor Internet Connection Continuously in Flutter: A Step-by-Step Guide
•
Flutter Full Stack Tutorial – Spotify Clone w/ MVVM Architecture, Python, FastAPI, Riverpod
•
Mix Native iOS Views in Compose Multiplatform With Touchlab’s New Library
Разработка
• Алгоритмы, с помощью которых мы разрабатываем программное обеспечение
• Безопасность мобильных устройств: интервью с экспертом Positive Technologies
• Как начинающему программисту получить первый оффер
• Релокация в США, часть 1: Безопасность, оружие, визы и медицина
• А/В-тесты на коленке
•
Migrating billions of records: moving our active DNS database while it’s in use
•
How I ship projects at big tech companies
•
Programming Languages That Blew My Mind
•
5 Non-LLM Software Trends To Be Excited About
•
AI Makes Tech Debt More Expensive
Аналитика, маркетинг и монетизация
• Маркетологи в мобайле: Яков Пейсахзон (директор Авито Рекламы)
• Сравнение доходов App Store и Google Play в категории Образование в Бразилии
• Статистика: доходы Gardenscapes
• В AppMetrica появилась возможность обнаруживать фрод
• CapCut поглощает рынок видеоредакторов
• Release notes. Маркетинг или искусство?
•
What budgeting apps, Peloton, and Duolingo have in common
AI, Устройства, IoT
• Подсмотрено: WB-MAP и управление насосами
• Как я с помощью AI за месяц разработала и внедрила систему учета для школьной столовой
• Apple работает над «настенным планшетом с искусственным интеллектом»
• Apple готовит два новых устройства на 2026
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
![](https://habrastorage.org/webt/ru/nz/h_/runzh_iw3k9rsup_z22zxlr7l-q.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• Почему xcodebuild работает медленнее, чем Xcode?
• Разбираем iOS-приложение: код, сборка, статические и динамические библиотеки, компиляция, запуск
• Путь одного iOS-приложения
• Начинаем работу с LiteRT (Tensorflow Lite)
• Улучшения в фичеринге в App Store
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/e1a/3cf/2a8/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png)
• Сенсорный пин-пад и как он работает
• Моделирование состояния ViewModel в Android: чистый, масштабируемый паттерн
• Как поднять инфраструктуру для запуска автотестов Android в облаках
• Самые трудные вопросы на собеседовании, которые вам задавали — Обсуждение на Reddit
• Как разобрать и собрать обратно apk под Windows
• Как силами мобильных разработчиков автоматизировать процесс разработки
• Описываем UseCase'ы правильно
• Как реализовать методы скроллов через Appium для Android-приложений
• О зацикливании рекомпозиции в Jetpack Compose
• Улучшение стабильности и производительности эмулятора Android
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/webt/ma/lx/8h/malx8hbgozt6lee8rmxmg96_s6a.png)
• Кроссплатформенные приложения на Python с Flet и FastAPI: Полное руководство по разработке
• Патчим freezed
• Один год с Duit — ретроспектива развития
• Поможет ли новая архитектура React Native отобрать лидерство у Flutter в кроссплатформенной разработке?
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
![](https://habrastorage.org/getpro/habr/post_images/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
• Алгоритмы, с помощью которых мы разрабатываем программное обеспечение
• Безопасность мобильных устройств: интервью с экспертом Positive Technologies
• Как начинающему программисту получить первый оффер
• Релокация в США, часть 1: Безопасность, оружие, визы и медицина
• А/В-тесты на коленке
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/509/dc9/bde/509dc9bde69347ecbe0c21ff2973d7e7.jpg)
• Маркетологи в мобайле: Яков Пейсахзон (директор Авито Рекламы)
• Сравнение доходов App Store и Google Play в категории Образование в Бразилии
• Статистика: доходы Gardenscapes
• В AppMetrica появилась возможность обнаруживать фрод
• CapCut поглощает рынок видеоредакторов
• Release notes. Маркетинг или искусство?
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• Подсмотрено: WB-MAP и управление насосами
• Как я с помощью AI за месяц разработала и внедрила систему учета для школьной столовой
• Apple работает над «настенным планшетом с искусственным интеллектом»
• Apple готовит два новых устройства на 2026
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.