В нашем новом дайджесте новости с WWDC, многомодульный BDSM и стабильный Android 13, Flutter для Web (который все еще отстой), паттерны и практики написания кода, коварные фильтры и многое другое!
Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.
![](https://habrastorage.org/r/w1560/webt/66/6h/sw/666hswx0khq0qm8n4ioydrcfhek.png)
iOS
• Почему в России перестали работать Universal Links?
• Рейтинг инструментов iOS разработки 2022
• Рисуем интерактивный линейный график на iOS с помощью Charts
• Как работает новая система модульности Independency в Авито
• KeyChain. Аккаунт пользователя
• UserDefaults. Настройки пользователя
• Apple готовит новые MacBook Air и Pro
•
Повышаем рейтинг приложений с помощью SKStoreReviewController
•
Советы по внедрению универсальных ссылок в ваши приложения для iOS
•
Почему модульное тестирование в iOS не похоже на другие?
•
Github Copilot для разработчиков Swift
•
Используйте Markdown, чтобы улучшить Swift код в XCode
•
Swift — 6 вещей, которые вы могли знать, но забыли
•
В чем разница между any и some в Swift 5.7?
•
Food Truck: мультиплатформенное приложение на SwiftUI от Apple
•
NotificationBanner: уведомления для iOS-приложений
Android
• Многомодульный BDSM: как связать Gradle модули и как с ними общаться после этого?
• Как сделать Android-приложение тестируемым? Часть 1 — MVP и MVVM
• Google запускает App Actions в Android Shortcuts
• Google Play открывает новый Акселератор и Фестиваль инди-игр
• Android 13 достиг стабильности
•
Обновление UI с помощью управления состоянием в Jetpack compose
•
Три функции Android Studio, которые вы, возможно, пропустили
•
Когда Jetpack Glance встретил своего коллегу Work Manager
•
Многомодульная архитектура в Android
•
Принцип разделения интерфейса в Android с расширениями Kotlin и inline функциями
•
Погружение в безопасность Android
•
Управление состоянием UI в Jetpack Compose с помощью Sealed классов
•
Руководство по вашему первому процессору аннотаций с KSP
•
Самое популярное заблуждение относительно RxJava
•
ViMusic: проигрыватель для YouTube Music
•
Conferences4Hall: конференции на Kotlin Multiplatform
Кроссплатформа
• Flutter for Web: гайд для начинающих
• QML Самоучитель
• Как сделать юзерам хорошо? Разработка внутренних продуктов на React Native
• Как без боли сделать мультиплеер на Godot, который будет работать в браузере
• Создай себе инструмент. Часть 1: скрипт на Dart
• О Flutter 3
• Ещё о Flutter 3
• Как применить БЭМ методологию во Flutter проекте
• Flutter и SonarQube для статического анализа кода
•
Другая сторона Flutter/Dart
•
Создание дизайн-системы с использованием методологии атомарного проектирования во Flutter
•
Нативные модули в React Native с использованием Java и Swift
•
Расширенные перечисления во Flutter 3
•
Год спустя Flutter для Web все еще отстой
•
Изучаем конструкторы Dart
Разработка
• Курс «Паттерны и практики написания кода»
• Как создать мобильную ферму, или Вжух! И ты мобильный фермер
• Анализ тестов — как выкидывать лишнее
• 10 распространенных ошибок в пользовательских интерфейсах
• Как следить за здоровьем морских свинок с помощью Machine Learning и мобильного приложения
• Дизайн приложений: примеры для вдохновения #78
• Почему не стоит использовать IDE для написания кода
• Podlodka #271: налоговое резидентство
• Как всегда оставаться перспективным разработчиком
• Компенсационные пакеты для сотрудников в IT: исследование SuperJob
•
Закончили курс Google UX? И что теперь?
•
Сложность убивает разработчиков
•
Продукт нельзя оставлять на продукт-менеджеров
•
Работа с производительностью кода — микро- и макрооптимизация
•
Работать больше глупо — план, чтобы получить больше свободного времени и меньше работать
•
Как правильно рассчитать время на проект
•
RustDesk: удаленный рабочий стол на Rust
Аналитика, маркетинг и монетизация
• Коварные перцентильные фильтры
• “Аппокалипсис сегодня”: мобильный маркетинг становится сложнее
• Pokémon GO заработал $6 млрд
• Маркетологи в мобайле: Summer Edition. Елизавета Жаркова (игровая платформа «ВКонтакте»)
• Загрузки Coinbase в 2022 упали вдвое
AI, Устройства, IoT
• Как мы заняли 1-е место в задаче Matching в соревновании Data Fusion Contest 2022, или как нейронка обогнала бустинг
• Telegram бот с языковой моделью, обученной на 2ch
• DIY: ретранслятор на micro:bit и радиомодуле LoRa увеличивает дальность связи
• $23.9 млн в Серии А: Gantry — оценка и улучшение ИИ
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.
![](https://habrastorage.org/webt/66/6h/sw/666hswx0khq0qm8n4ioydrcfhek.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• Почему в России перестали работать Universal Links?
• Рейтинг инструментов iOS разработки 2022
• Рисуем интерактивный линейный график на iOS с помощью Charts
• Как работает новая система модульности Independency в Авито
• KeyChain. Аккаунт пользователя
• UserDefaults. Настройки пользователя
• Apple готовит новые MacBook Air и Pro
WWDC
• Apple обновляет Nearby Interaction
• Победители Apple Design Awards 2022
• Бенчмарки в App Analytics
• Apple открывает WeatherKit API
• Начинаем работу с WeatherKit
• WWDC 2022. Что нового в SwiftUI
• Создание и настройка диаграмм с помощью нового Swift Charts Framework
• Что нового в Xcode?
• Улучшения в Xcode 14
• Обновления StoreKit
• В iOS и watchOS появился Режим разработчика
• Новые API для разработчиков с WWDC 2022
• Улучшения для Swift и SwiftUI
• Xcode Cloud теперь доступен для всех
• Apple представила процессор M2
•Что нового в Swift 5.7
•Что нового в SwiftUI для iOS 16
•Что нового в SwiftUI на WWDC22
•Встречайте WeatherKit и Swift Charts
•
![](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)
• Многомодульный BDSM: как связать Gradle модули и как с ними общаться после этого?
• Как сделать Android-приложение тестируемым? Часть 1 — MVP и MVVM
• Google запускает App Actions в Android Shortcuts
• Google Play открывает новый Акселератор и Фестиваль инди-игр
• Android 13 достиг стабильности
•
![](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/webt/ma/lx/8h/malx8hbgozt6lee8rmxmg96_s6a.png)
• Flutter for Web: гайд для начинающих
• QML Самоучитель
• Как сделать юзерам хорошо? Разработка внутренних продуктов на React Native
• Как без боли сделать мультиплеер на Godot, который будет работать в браузере
• Создай себе инструмент. Часть 1: скрипт на Dart
• О Flutter 3
• Ещё о Flutter 3
• Как применить БЭМ методологию во Flutter проекте
• Flutter и SonarQube для статического анализа кода
•
![](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/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
• Курс «Паттерны и практики написания кода»
• Как создать мобильную ферму, или Вжух! И ты мобильный фермер
• Анализ тестов — как выкидывать лишнее
• 10 распространенных ошибок в пользовательских интерфейсах
• Как следить за здоровьем морских свинок с помощью Machine Learning и мобильного приложения
• Дизайн приложений: примеры для вдохновения #78
• Почему не стоит использовать IDE для написания кода
• Podlodka #271: налоговое резидентство
• Как всегда оставаться перспективным разработчиком
• Компенсационные пакеты для сотрудников в IT: исследование SuperJob
•
![](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/getpro/habr/post_images/509/dc9/bde/509dc9bde69347ecbe0c21ff2973d7e7.jpg)
• Коварные перцентильные фильтры
• “Аппокалипсис сегодня”: мобильный маркетинг становится сложнее
• Pokémon GO заработал $6 млрд
• Маркетологи в мобайле: Summer Edition. Елизавета Жаркова (игровая платформа «ВКонтакте»)
• Загрузки Coinbase в 2022 упали вдвое
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• Как мы заняли 1-е место в задаче Matching в соревновании Data Fusion Contest 2022, или как нейронка обогнала бустинг
• Telegram бот с языковой моделью, обученной на 2ch
• DIY: ретранслятор на micro:bit и радиомодуле LoRa увеличивает дальность связи
• $23.9 млн в Серии А: Gantry — оценка и улучшение ИИ
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.