В новом дайджесте многомодульность, интерфейсы и протоколы, лучшие практики и советы, непредсказуемые интеллект, псевдокод и многое другое.
![](https://habrastorage.org/r/w1560/webt/gf/gy/mv/gfgymv7gdde0ostdfgf7sioyopa.png)
У нас есть Telegram-канал Mobile Insights, где подборки статей и новостей выходят каждый день, а так же AppFiles с библиотеками и самыми интересными статьями о мобильной разработке!
iOS
• Лайфхаки по многомодульности в iOS
• Александр Пряничников (Кошелёк): как варить дизайн-систему для живого приложения
• MVI в iOS-приложении
• Интерфейсы/протоколы для начинающих
• Создаём стираемую карту (scratch card) для iOS-приложения
• Unit тесты в Swift (модульное тестирование)
• Magic Trackpad, Magic Keyboard и Magic Mouse в новых цветах
• Apple выпустила третью версию iPhone SE
• Apple анонсировала Mac Studio
•
Анимации в UIStackView
•
SceneKit со SwiftUI
•
Лучшая производительность с Canvas в SwiftUI
•
Создаем собственный Service Manager в Swift без использования Alamofire
•
SwiftUI ZStack против Overlay Modifier: сходства и различия
•
Оптимизация в Swift
•
Async/Await: сетевой уровень на Swift 5.5
•
Пишем тестируемый код SwiftUI
•
Как удалить неиспользуемый код в Swift
•
SkeletonView: «скелеты» для iOS
•
SwiftDate: работа с датами и временем
Android
• Google Play приостанавливает прием платежей в России
• Удаленный доступ к IP камерам. Часть 2. Мобильное приложение
• С нуля в Android разработку: история одного джуна
• Лучшие практики разработки SDK для Android
• Android Vitals — Почему запустился мой процесс?
• Single Activity с Navigation Component. Или как я мучался с графами. Boilerplate ч. 1
• Уязвимость в ядре Linux угрожает пользователям Android
• Стабильный Android 12L выходит на Google Pixel
• Manifest Merger. Как формируется андроид манифест
• Как перейти на Jetpack Compose? Забываем про XML. Полный гайд
•
Композиционный детектор взаимных блокировок с открытым исходным кодом для Android Java
•
Шпаргалка для интервью по Kotlin
•
Тестирование быстродействия UI в Android
•
Рекомендации по разработке Android SDK
•
Доступность Jetpack Compose
•
Удовольствие от Jetpack Compose GraphicsLayer Modifier
•
Пример Android-проекта: чистая архитектура MVVM с корутинами + советы
•
Две цели, одна стрела: сокращение размера нашего приложения и времени запуска на Android
•
Создание формы аутентификации с помощью Jetpack Compose
•
Как зашифровать конфиденциальные данные Android-приложения с помощью Jetpack Security
•
AvatarView для Android: изображения профиля на новом уровне
•
Разработка Kotlin Multiplatform приложений с использованием архитектуры VIPER
•
SharedFlow и StateFlow
•
Полное руководство по Rich Text в Jetpack Compose
•
Jetpack Compose Tutorials: примеры Jetpack Compose
•
Warden: простая работа с разрешениями в Android
•
RasmView: рисование на картинках
Разработка
• 50 советов инди-разработчику
• Проектирование непредсказуемого интеллекта в играх. Часть 2 — интеллект толпы
• По колено в JVM куче, или на пороге потери данных
• Code Insights от Sourcegraph позволяет лучше понять свою кодовую базу
• Исследователи выпустили PolyCoder, open source ИИ платформу генерации кода
• Кто теперь ответственен за качество: Quality Architect Elevator
• Повышение производительности в Unity. Как я поднял показатель FPS с 15 до 60
• Разработка игры на Unity с нуля до релиза. Часть 2 + Часть 1
• Псевдокод для тестирования
• Podlodka #258: распределенные вычисления
• Как изучать структуры данных и алгоритмы
•
Поток данных в разработке игр (или как избежать спагетти-кода)
•
Как умные разработчики принимают неверные стратегические решения
•
Полнотекстовый поиск в Firestore с Meili
•
Как исправить macOS Target Mismatch в Flutter
•
Плохой UX-дизайн — 13 худших примеров которых нужно избежать в вашем SaaS
•
Открытый исходный код в Microsoft Mobile
•
12 лучших инструментов Flutter-разработки
•
Как создать недорогую бессерверную базу данных
•
Введение в чистую архитектуру Flutter
•
Меньше инноваций в продуктовом дизайне лучше?
•
Как создавать и развертывать приложения React Native с помощью Fastlane
Аналитика, маркетинг и монетизация
• Бизнес-анализ и мобильные приложения: почему заказчики не видят ценности в аналитике и как им её донести
• Apple Search Ads останавливает работу в России
• Руководство по мобильному росту 2022
AI, Устройства, IoT
• Умный дом на основе API Telegram
• Проверка дальности LoRa
• ML в продукте: зачем, сколько стоит, когда нужен?
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
![](https://habrastorage.org/webt/gf/gy/mv/gfgymv7gdde0ostdfgf7sioyopa.png)
У нас есть Telegram-канал Mobile Insights, где подборки статей и новостей выходят каждый день, а так же AppFiles с библиотеками и самыми интересными статьями о мобильной разработке!
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• Лайфхаки по многомодульности в iOS
• Александр Пряничников (Кошелёк): как варить дизайн-систему для живого приложения
• MVI в iOS-приложении
• Интерфейсы/протоколы для начинающих
• Создаём стираемую карту (scratch card) для iOS-приложения
• Unit тесты в Swift (модульное тестирование)
• Magic Trackpad, Magic Keyboard и Magic Mouse в новых цветах
• Apple выпустила третью версию iPhone SE
• Apple анонсировала Mac Studio
•
![](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/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)
• Google Play приостанавливает прием платежей в России
• Удаленный доступ к IP камерам. Часть 2. Мобильное приложение
• С нуля в Android разработку: история одного джуна
• Лучшие практики разработки SDK для Android
• Android Vitals — Почему запустился мой процесс?
• Single Activity с Navigation Component. Или как я мучался с графами. Boilerplate ч. 1
• Уязвимость в ядре Linux угрожает пользователям Android
• Стабильный Android 12L выходит на Google Pixel
• Manifest Merger. Как формируется андроид манифест
• Как перейти на Jetpack Compose? Забываем про XML. Полный гайд
•
![](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/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/getpro/habr/post_images/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
• 50 советов инди-разработчику
• Проектирование непредсказуемого интеллекта в играх. Часть 2 — интеллект толпы
• По колено в JVM куче, или на пороге потери данных
• Code Insights от Sourcegraph позволяет лучше понять свою кодовую базу
• Исследователи выпустили PolyCoder, open source ИИ платформу генерации кода
• Кто теперь ответственен за качество: Quality Architect Elevator
• Повышение производительности в Unity. Как я поднял показатель FPS с 15 до 60
• Разработка игры на Unity с нуля до релиза. Часть 2 + Часть 1
• Псевдокод для тестирования
• Podlodka #258: распределенные вычисления
• Как изучать структуры данных и алгоритмы
•
![](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/getpro/habr/post_images/509/dc9/bde/509dc9bde69347ecbe0c21ff2973d7e7.jpg)
• Бизнес-анализ и мобильные приложения: почему заказчики не видят ценности в аналитике и как им её донести
• Apple Search Ads останавливает работу в России
• Руководство по мобильному росту 2022
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• Умный дом на основе API Telegram
• Проверка дальности LoRa
• ML в продукте: зачем, сколько стоит, когда нужен?
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.