В этом выпуске цвета Swift, переиспользуемый чистый Kotlin, выход первой версии Android 12 и страсти по IDFA, дефекты Qt и бриллиантовый чекаут, секреты маркетинга приложений, игровые боты, знания за 5 минут и многое другое.
![](https://habrastorage.org/webt/m9/5a/ze/m95aze-b2sohxd47m7-fs1l2ty8.jpeg)
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
iOS
•
Предотвращаем мерж-конфликты с XcodeGen
•
Цвета в Swift: UIColor
•
Распознание блоков текста в iOS-приложении с помощью Vision
• Apple начала бороться с «иррационально высокими ценами» в приложениях?
• Забанила ли Apple аналитические SDK? Ээ… ну…
•
Взлом нативных двоичных файлов ARM64 для запуска на симуляторе iOS
•
Погружение в CFRunLoop
•
Создайте новостное приложение в SwiftUI 2.0 (Combine, API, MVVM & Swift Package Manager)
•
Используем Charles для переписывания ответов при разработке приложений для iOS
•
Clubhouse-подобное изображение в профиле на Swift
•
Создаем анимированные круговые и кольцевые диаграммы в SwiftUI
•
Создание рулетки на SwiftUI
•
OnTap: документация по SwiftUI
•
WatchLayout: круги в UICollectionView
•
SPAlert: уведомления в стиле Apple
Android
•
Как писать и переиспользовать код на «чистом» Kotlin. Заметки Android-разработчика
•
Как найти подходящую абстракцию для работы со строками в Android
•
Темы, стили и атрибуты
• Вышла превью-версия Android 12
• GitHub Actions для Android-разработки
• Как мы ускорили запуск приложения Dropbox для Android на 30%
• Как изменится дизайн в Android 12
• Контрольный список качества приложения
•
Анти-паттерны RecyclerView
•
StateFlow с одно- и двусторонним DataBinding-ом на Android
•
Как на самом деле работает RxJava
•
Готовим наши приложения к Jetpack Compose
•
Простое создание параллакса на Jetpack Compose
•
5 расширений Kotlin, которые сделают ваш Android-код более выразительным
•
IridescentView: переливающиеся изображения для Android
•
stackzyr: Jetpack Compose для десктопов
Разработка
•
Обработка дат притягивает ошибки или 77 дефектов в Qt 6
•
Запуск топ-приложения в одиночку, бесплатно и без кодинга (ну почти)
•
Как мы накосячили пока делали Бриллиантовый чекаут 9 месяцев, а планировали 2
•
1 год с Flutter в продакшне
•
Тесты должна писать разработка (?)
•
Опыт разработки первой мобильной игры на Unity или как полностью перевернуть свою жизнь
•
О поиске утечек памяти в С++/Qt приложениях
•
Стратегия тестирования краткосрочного проекта
•
Готовим Большую Фичу на Kotlin Multiplatform. Доклад Яндекса
•
ZERG — что за зверь?
• Podlodka #203: платежи
• Microsoft открывает Dapr для простого развертывания микросервисов
• Задачи с собеседований: 2 в 64 степени
• Дизайн приложений: примеры для вдохновения #32
•
Как сделать инсайты UX-исследований видимыми, прослеживаемыми и увлекательными?
•
5 вопросов на интервью для выявления выдающихся программистов
•
Как создать простое шахматное приложение с помощью Flutter
•
Создавая бэкенд Uber: пошаговое руководство по системному дизайну
•
5 удивительных преимуществ обмена знаниями в качестве разработчика
•
Чтение кода — это навык
•
Почему я перестал читать статьи «Как стать разработчиком программного обеспечения»
•
Психология дизайна и нейробиология, стоящая за классным UX
•
Удаленное определение частоты пульса с помощью веб-камеры и 50 строк кода
•
Как разозлить разработчика
•
7 обязательных навыков, чтобы стать выдающимся разработчиком
Аналитика, маркетинг и монетизация
•
Кратко о продуктовых метриках
• Маркетологи в мобайле: Денис Нуждин (Пятёрочка Доставка)
• Секреты маркетинга приложений для знакомств — новое руководство Adjust
• Среда совместного программирования Replit получила $20 млн
• Photomath получил еще $23 млн.
• Post-IDFA Alliance открыл сайт “Нет IDFA? Нет проблем”
• Взрослые в США в 2020 прибавили сразу час цифрового времени
• ВКонтакте запустил новый инструмент для автоматизированной рекламы приложений
• Отчет «Состояние рынка приложений для фитнеса и здоровья 2021»
• Jigsaw получает $3.7 млн на дейтинг с головоломкой
• Uptime: знания за пять минут
• Как запустить wellness-стартап на свои деньги, совмещать с постоянной работой и не сойти с ума
• Что будет с трекингом мобильных приложений в 2021 году
•
Новая норма: обучение в приложениях и как добиться успеха в меняющиеся времена
•
Лучшие маркетинговые метрики для отслеживания показателей роста
•
Вот почему разработчикам не удается добиться успеха в карьере
•
Как я занимался маркетингом своей игры, продажи которой за год составили 128 тысяч долларов
AI, Устройства, IoT
•
Cчетчик газа в Home Assistant без паяльника
•
Устройство игрового бота: 16-е место в финале Russian AI Cup 2020 (и 5-е после)
•
Умный дом с нуля своими руками или путешествие длиною в год
•
Как распознать рукописный текст с помощью ИИ на микроконтроллерах
•
Часы для обнаружения жестов на основе машинного обучения, ESP8266 и Arduino
•
Как преобразовать текст в речь с использованием Google Tesseract и Arm NN на Raspberry Pi
•
Быстрый прототип IIoT-решения на Raspberry PI и Yandex IoT. Часть вторая
•
Первый опыт с Raspberry Pi или микросервисы для дома
• Google сворачивает Swift для TensorFlow
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
![](https://habrastorage.org/webt/m9/5a/ze/m95aze-b2sohxd47m7-fs1l2ty8.jpeg)
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
![](https://habrastorage.org/webt/5e/k7/bf/5ek7bfhjzilma-pbharuioaa7lw.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
• Apple начала бороться с «иррационально высокими ценами» в приложениях?
• Забанила ли Apple аналитические SDK? Ээ… ну…
•
![](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)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
• Вышла превью-версия Android 12
• GitHub Actions для Android-разработки
• Как мы ускорили запуск приложения Dropbox для Android на 30%
• Как изменится дизайн в Android 12
• Контрольный список качества приложения
•
![](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)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
• Podlodka #203: платежи
• Microsoft открывает Dapr для простого развертывания микросервисов
• Задачи с собеседований: 2 в 64 степени
• Дизайн приложений: примеры для вдохновения #32
•
![](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)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
• Маркетологи в мобайле: Денис Нуждин (Пятёрочка Доставка)
• Секреты маркетинга приложений для знакомств — новое руководство Adjust
• Среда совместного программирования Replit получила $20 млн
• Photomath получил еще $23 млн.
• Post-IDFA Alliance открыл сайт “Нет IDFA? Нет проблем”
• Взрослые в США в 2020 прибавили сразу час цифрового времени
• ВКонтакте запустил новый инструмент для автоматизированной рекламы приложений
• Отчет «Состояние рынка приложений для фитнеса и здоровья 2021»
• Jigsaw получает $3.7 млн на дейтинг с головоломкой
• Uptime: знания за пять минут
• Как запустить wellness-стартап на свои деньги, совмещать с постоянной работой и не сойти с ума
• Что будет с трекингом мобильных приложений в 2021 году
•
![](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/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
• Google сворачивает Swift для TensorFlow
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.