В нашем новом дайджесте последствия App Tracking Transparency и борьба с зависимостями, новые MacBook Pro и летающая пицца, идеальный код, оффбординг, траты жителей разных стран на приложения и многое другое!
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в 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 «Наука о данных для начинающих»
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в 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 «Наука о данных для начинающих»
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.