В нашем новом дайджесте последствия App Tracking Transparency и борьба с зависимостями, новые MacBook Pro и летающая пицца, идеальный код, оффбординг, траты жителей разных стран на приложения и многое другое!
![](https://habrastorage.org/webt/wq/sh/pl/wqshploq6h-pzsav7gfk8b9eptm.jpeg)
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
iOS
• App Tracking Transparency: что изменилось с новой политикой приватности от Apple
• Как ATT повлиял на мобильную рекламу?
• Борьба с зависимостями: как мы переводили проект на SwiftPM (и сделали еще хуже, чем было)
• Обработка жестов в iOS
• Composable Contexts Architecture
• Apple запускает Tech Talks
• Новые MacBook Pro с чипами M1 Pro и M1 Max
• Apple представляет AirPods нового поколения
•
Стили навигации iOS и какой из них выбрать для приложения?
•
6 принципов написания лучших модулей для ваших iOS-приложений
•
Прогресс загрузки с Awaited сетевыми задачами
•
SuperPlayer: способ включить AVPlayer в Composable архитектуру
•
Шаблон MVVM — Введение
•
Чистая архитектура в SwiftUI 5.5
•
Начинаем работать с Appwrite iOS SDK
•
Делаем TikTok: создаем плавную прокрутку видео фида в Swift
•
Когда SwiftUI заменит UIKit?
•
Validator: проверка ввода
•
SwiftyWalkthrough: обучающие инструкции на Swift
•
OnboardKit: настраиваемый онбординг на Swift
Android
• Почему любой Android снимает видео хуже iPhone?
• Летающая пицца в мобильном приложении: как делали промоушен комбо «Дюна»
• Что будет, если у программиста появится хобби кулинария
• Обзор Google Play Billing 4.0.0
• Разработка приложений с Windows Subsystem for Android
• Работа с ML Kit в Android: как распознавать штрихкоды
• Google представил Pixel 6 и Pixel 6 Pro
• Google Play снижает комиссии на подписки
• Возможности OkHttp о которых вы не знали
• Facebook открыл статический анализатор кода для Android — Mariana Trench
• Android Parcelable или Serializable?
• Google представил Pixel 6 и Pixel 6 Pro
•
Room в Android с корутинами Kotlin
•
Что нового в kotlinx.serialization 1.3
•
RecyclerView с Compose View не работает
•
Проблемы создания RecyclerView с ConcatAdapter в сетке
•
Как я взломал приложение для Android, чтобы получить премиум-функцию
•
Compose for Wear OS: Scaffold
•
Почему опытные разработчики используют геттеры и сеттеры
•
50 самых популярных вопросов по ООП на собеседованиях Java-разработчиков
•
Как проверять поля с помощью Jetpack Compose в Android
•
Как сгенерировать Kotlin DSL Client по схеме GraphQL
•
Как выполнить Android UI тесты в CI и остаться в живых
•
Awesome KMM: библиотеки Kotlin Multiplatform Mobile
•
Einsen: приоритеты задач на Jetpack Compose
Разработка
• Как я случайно заблокировал 10 000 телефонов в Южной Америке
• Оптимизируем физику Shadow Fight Arena — мобильного файтинга с синхронным PvP
• Flutter: как мы выбирали навигацию для мобильного приложения?
• Идеальный код: битва при Sonar
• ТОП-5 вопросов начинающего автоматизатора про автотесты
• Локализация и мультиязычность во Flutter
• Определение App flavors для приложений Flutter
• AltUnity Tester для автоматизации Unity проектов
• Podlodka #238: JavaScript
• Flutter Dev Podcast #31: cпособы хранения данных
• Оксана Мельникова: QA о работе за рубежом, как войти в айти и трудностях автотестов
• Qodana: новая платформа “обеспечения качества кода” от JetBrains
• Дизайн приложений: примеры для вдохновения #61
• Unity Gaming Services помогает в разработке кроссплатформенных многопользовательских игр
• Visual Studio Code теперь доступна в виде веб-приложения
• Intel открывает ControlFlag, ИИ-инструмент для поиска ошибок в коде
• Учитесь быстрее, используя технику Фейнмана
• Вебинар «Практики безопасной разработки»
• Flutter Dev Podcast #31: cпособы хранения данных
• Только 4 из 10 программистов удовлетворены своей зарплатой
• Каким законам UX-дизайна следуют крупные приложения: Spotify, YouTube, Medium, Twitter, Pinterest, Netflix, Uber, Instagram и т.д.
•
8 инструментов, которые удвоят вашу продуктивность программирования в 2021
•
10 принципов архитектуры в Salesforce
•
Как мы создали социальное приложение без программирования (и стали #2 на ProductHunt!)
•
Кейс: фитнес-приложение с дополненной реальностью
•
Вы не должны измерять производительность отдельного программиста
•
Кейс: создание прибыльного приложения за 30 дней
•
Жизненный цикл приложения во Flutter
•
Делаем приложения Flutter без бэкенда?
•
Как среднему программисту опережать конкурентов
Аналитика, маркетинг и монетизация
• Чеклист: как увеличить органический трафик игры в Google Play?
• Оффбординг: прощание с изяществом
• Вашей целевой аудитории не существует
• Япония остается лидером по мобильным расходам на душу населения
• Оцените эффективность Apple Search Ads с помощью бесплатного аудита SearchAds.com
• AppsFlyer выпустил 13-ый Performance Index
• Spinn: Dyson в мире кофемашин
• Доля Apple Search Ads выросла в 3 раза после изменения конфиденциальности в iOS
• Раскрутка с нулевым бюджетом. История маленького приложения
• Приложение Практика – увеличение органического трафика на 67% с помощью Checkaso
• С книжной полки на рынок мобильных приложений. История Laoshi.io
AI, Устройства, IoT
• DeepMind купил и открывает физический симулятор MuJoCo
• Новый бесплатный курс Microsoft «Наука о данных для начинающих»
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
![](https://habrastorage.org/webt/wq/sh/pl/wqshploq6h-pzsav7gfk8b9eptm.jpeg)
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
![](https://habrastorage.org/webt/5e/k7/bf/5ek7bfhjzilma-pbharuioaa7lw.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• App Tracking Transparency: что изменилось с новой политикой приватности от Apple
• Как ATT повлиял на мобильную рекламу?
• Борьба с зависимостями: как мы переводили проект на SwiftPM (и сделали еще хуже, чем было)
• Обработка жестов в iOS
• Composable Contexts Architecture
• Apple запускает Tech Talks
• Новые MacBook Pro с чипами M1 Pro и M1 Max
• Apple представляет AirPods нового поколения
•
![](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/e1a/3cf/2a8/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png)
• Почему любой Android снимает видео хуже iPhone?
• Летающая пицца в мобильном приложении: как делали промоушен комбо «Дюна»
• Что будет, если у программиста появится хобби кулинария
• Обзор Google Play Billing 4.0.0
• Разработка приложений с Windows Subsystem for Android
• Работа с ML Kit в Android: как распознавать штрихкоды
• Google представил Pixel 6 и Pixel 6 Pro
• Google Play снижает комиссии на подписки
• Возможности OkHttp о которых вы не знали
• Facebook открыл статический анализатор кода для Android — Mariana Trench
• Android Parcelable или Serializable?
• Google представил Pixel 6 и Pixel 6 Pro
•
![](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/getpro/habr/post_images/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
• Как я случайно заблокировал 10 000 телефонов в Южной Америке
• Оптимизируем физику Shadow Fight Arena — мобильного файтинга с синхронным PvP
• Flutter: как мы выбирали навигацию для мобильного приложения?
• Идеальный код: битва при Sonar
• ТОП-5 вопросов начинающего автоматизатора про автотесты
• Локализация и мультиязычность во Flutter
• Определение App flavors для приложений Flutter
• AltUnity Tester для автоматизации Unity проектов
• Podlodka #238: JavaScript
• Flutter Dev Podcast #31: cпособы хранения данных
• Оксана Мельникова: QA о работе за рубежом, как войти в айти и трудностях автотестов
• Qodana: новая платформа “обеспечения качества кода” от JetBrains
• Дизайн приложений: примеры для вдохновения #61
• Unity Gaming Services помогает в разработке кроссплатформенных многопользовательских игр
• Visual Studio Code теперь доступна в виде веб-приложения
• Intel открывает ControlFlag, ИИ-инструмент для поиска ошибок в коде
• Учитесь быстрее, используя технику Фейнмана
• Вебинар «Практики безопасной разработки»
• Flutter Dev Podcast #31: cпособы хранения данных
• Только 4 из 10 программистов удовлетворены своей зарплатой
• Каким законам UX-дизайна следуют крупные приложения: Spotify, YouTube, Medium, Twitter, Pinterest, Netflix, Uber, Instagram и т.д.
•
![](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)
• Чеклист: как увеличить органический трафик игры в Google Play?
• Оффбординг: прощание с изяществом
• Вашей целевой аудитории не существует
• Япония остается лидером по мобильным расходам на душу населения
• Оцените эффективность Apple Search Ads с помощью бесплатного аудита SearchAds.com
• AppsFlyer выпустил 13-ый Performance Index
• Spinn: Dyson в мире кофемашин
• Доля Apple Search Ads выросла в 3 раза после изменения конфиденциальности в iOS
• Раскрутка с нулевым бюджетом. История маленького приложения
• Приложение Практика – увеличение органического трафика на 67% с помощью Checkaso
• С книжной полки на рынок мобильных приложений. История Laoshi.io
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• DeepMind купил и открывает физический симулятор MuJoCo
• Новый бесплатный курс Microsoft «Наука о данных для начинающих»
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.