В этом дайджесте ускорение отладчика и увеличение размера приложений, увеличение скорости и автоматизация тестирования, координация релизов, объективно субъективный улучшатель, модальные окна и многое другое!
![](https://habrastorage.org/r/w780q1/webt/cg/-c/r_/cg-cr_xq9x_krhlt9jbwc8ejcwk.jpeg)
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
iOS
•
Как мы ускоряли работу отладчика Swift
•
DI в iOS: Complete guide
•
Запуск игры на Unity из приложения SwiftUI для iOS
• Средний размер игр в App Store вырос на 76% за 5 лет
• Telegram объявил конкурс на создание приложения для WatchOS 6+
•
Кастомные UIButtons — тени, анимации, Lottie и т.д.
•
SwiftGen: генератор Swift кода
•
Почему ссылочные типы Swift плохо влияют на время запуска приложения
•
Самый заминусованый вопрос Stack Overflow о Swift
•
Как разработать приложение для стриминга для iOS на SwiftUI за 7 дней
•
Создание панели поиска на чистом SwiftUI
•
Осваиваем превью SwiftUI
•
5 способов хранить пользовательские данные в iOS-приложении
•
SwiftVideoBackground: фоновое видео для UIView
•
XUI: архитектуры SwiftUI
Android
•
Как мы в 2 раза увеличили скорость формирования ленты в UGC-приложении
•
Reaction — обработка результатов методов в Kotlin
•
Kotlin. Лямбда vs Ссылка на функцию
•
Как реализовать отслеживание местоположения андроид устройства на своем сайте
•
Получаем результат правильно (Часть 1). Activity Result API
•
Играем с CLIP. Создаем универсальный zero-shot классификатор на Android
•
Kotlin Best Practices
• Jetpack Activity Result API. Часть 1. Практическое использование
•
Сказка об изогнутом Recycler View
•
Как создать приложение для Android на Raspberry Pi за 7 шагов
•
Navigation Rail для Android
•
Навигация в Jetpack Compose
•
Кеширование данных в Android
•
Ускоряем CI-конвейер для Android с помощью модульных проверок в Github Action
•
Переход с Mac на Ubuntu в разработке под Android
•
Внедрение Kotlin в Prime Video для большего удовлетворения разработчиков и меньшего количества кода
•
Пока LiveData, привет SharedFlow
•
StackExpandableView: стек, как на iOS
•
MarkdownText: разметка для Jetpack Compose
Разработка
•
Как выйти на китайский рынок с mini-app для WeChat, чтобы не прогореть
•
Автоматизация тестирования мобильных приложений. Часть 1: проверки, модули и базовые действия
•
Как устроена библиотека дизайн-системы Авито в Фигме
•
World of Tanks Blitz: Автоматизированное тестирование производительности
•
Flutter 2: что нового
•
Тупые способы сэкономить на мобильной разработке
•
2 шага к построению адаптивной верстки Flutter-приложения
•
Как я навел порядок страниц в Фигме
•
Кроссплатформенные OpenGL + Python при помощи Kivy
• Сушите вёсла #13: сделай мне красиво
• Podlodka #206: Clojure
• Руководство для инженеров о том, как сказать «нет»
• Дизайн приложений: примеры для вдохновения #35
• Runway помогает координировать релизы приложений
• Руководство для инженеров по рефакторингу кода
• Мобильные модальные окна: 8 лучших примеров использования
• Наушники для программиста: поток и защита
• От робота-рекрутера до UGC-приложения голосовых пародий для 2 млн пользователей. Личный опыт и немного аутстаффа
• Разработка идеального поиска для Википедии под Android
•
Верхняя или боковая навигация: что лучше для вашего продукта?
•
Упростите развертывание с помощью Continuous Delivery и GitHub Actions
•
Прощай Electron, здравствуй Flutter
•
Новый революционный UI не за горами — вот признаки
•
3 книги для развития карьеры разработчика
•
Aurora UI — новый визуальный тренд на 2021 год
•
История переписывания любого ПО
•
Как писать ужасные комментарии к коммитам
Аналитика, маркетинг и монетизация
•
Игры, которые играют в людей: что книга “Игра в цифры” рассказывает об игровой аналитике
• Мобильные игроки 45+ в 2020 показали наибольший прирост
• Как разработчики приложений меняют стратегию и добиваются успеха в новых условиях
• Как эксперименты с ценой увеличили мой доход на 500%
• Step: банк для молодежи
• Самые скачиваемые приложения в феврале 2021
AI, Устройства, IoT
•
Вкусовщина и AI: как мы в Prisma Labs делали объективно субъективный автоматический улучшатель фотографий
•
Оживление портрета с помощью Realistic Neural Talking Head Models
•
Сказ о том, как я Home Assistant настраивал
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
![](https://habrastorage.org/webt/cg/-c/r_/cg-cr_xq9x_krhlt9jbwc8ejcwk.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)
• Средний размер игр в App Store вырос на 76% за 5 лет
• Telegram объявил конкурс на создание приложения для WatchOS 6+
•
![](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)
•
![](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)
• Jetpack Activity Result API. Часть 1. Практическое использование
•
![](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)
•
![](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)
• Сушите вёсла #13: сделай мне красиво
• Podlodka #206: Clojure
• Руководство для инженеров о том, как сказать «нет»
• Дизайн приложений: примеры для вдохновения #35
• Runway помогает координировать релизы приложений
• Руководство для инженеров по рефакторингу кода
• Мобильные модальные окна: 8 лучших примеров использования
• Наушники для программиста: поток и защита
• От робота-рекрутера до UGC-приложения голосовых пародий для 2 млн пользователей. Личный опыт и немного аутстаффа
• Разработка идеального поиска для Википедии под Android
•
![](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)
• Мобильные игроки 45+ в 2020 показали наибольший прирост
• Как разработчики приложений меняют стратегию и добиваются успеха в новых условиях
• Как эксперименты с ценой увеличили мой доход на 500%
• Step: банк для молодежи
• Самые скачиваемые приложения в феврале 2021
![](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)
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.