В нашем юбилейном дайджесте фантастические RecyclerView и замена APK на App Bundle, новинки StoreKit 2 и отказ Wrike от Dart, рекордные расходы пользователей, GPT-3 в домашних условиях и многое другое!



Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в Telegram-канале.

iOS

 Tuist: Xcode-проект на стероидах
 Как мы переходили с CocoaPods на Carthage
 Что нового в API StoreKit 2 и как он упростил интеграцию покупок в приложении
Как будут работать Custom Product Pages в App Store и как получить от них максимальную отдачу
Как работает цикл в Swift?
Как управлять игрой SpriteKit с помощью SwiftUI
Урок UIBezierPath: как нарисовать Cuphead в слоях
Лучшие приложения для iOS с открытым исходным кодом 2021 года, написанные на SwiftUI
Использование оберток свойств Protocols, ObservableObject и @Published в SwiftUI
Создание настраиваемого ProgressView с помощью SwiftUI
Начинаем работу с Async/Await в SwiftUI и iOS 15
Миграция с SwiftUI 2.0 на SwiftUI 3.0
Представляем DocC: новый инструмент для написания документации в Xcode
Swift — 7 мощных анимаций для улучшения интерфейса вашего приложения (англ.)
Реализуем чистую MVVM-архитектуру в SwiftUI с помощью Combine
Glideshow: слайд-шоу с анимацией
AHDownloadButton: кнопка загрузки, как в App Store

Android

 View Model не обязательно наследоваться от ViewModel
 Gradle Plugin: Что, зачем и как?
 Фантастические RecyclerView.ViewHolder и где они создаются
Google Play будет работать с App Bundle, вместо APK
Почему замена APK на Android App Bundle пугает разработчиков и экспертов
Google Play внедряет двухэтапную аутентификация разработчиков и просит больше данных
Как создавать табы с помощью Jetpack Compose
Способы анимации в Android
Эффективная стратегия тестирования для Android
Что не так с Android-разработкой?
Мифы о Scope Storage
Поддержка Edge-to-edge экранов для вашего Android-приложения с Insetter
От ничего к материальным переходам
Продвинутое использование WorkManager в многопроцессорных приложениях
PasswordStrengthView: надежность пароля
WalkThroughAndroid: красивый онбординг
Compose Arcade: кроссплатформенное судоку на KMM и Compose

Разработка

 Дизайн-система IVI. Взгляд изнутри. Часть 1
 Запихнуть многоквартирный дом в маленький телефон
 Менеджер качества, или как не спалить лоу-энд девайсы ультра-графикой
 Как перестать писать код для взаимодействия с бэкендом
 Разработка Tizen-приложений для Samsung Smart TV: полный гайд для Javascript-разработчиков
 Материалы в Unity: Акрил
 Flutter плагин для импорта стикеров в телеграм
Flutter Dev Podcast #29: Wrike отказывается от Dart
Podlodka #222: антифрод
SubHub: Сергей Маслов (Prisma Labs)
Как я научился софт-скиллам и захватил мир
Новый раунд Ably расширит их Pub/Sub платформу
Почему разработчикам не стоит гуглить решения
Graylog получает $18 млн на анализ логов
11 инструментов повышения продуктивности для разработчиков
Дизайн приложений: примеры для вдохновения #46
Сверхспособности великих продуктовых дизайнеров. Сказка о пяти магических навыках
Кейс DMV Genie: Как мы создали самое популярное в США приложение для подготовки к экзаменам по вождению
Почему студенты должны участвовать в Open Source проектах
Мастер в технических интервью: как я дважды получал предложения от Google и Facebook
Наиболее частые причины увольнения программистов
Как остановить разработчиков, создающих legacy код
Забудьте о геймификации: игровой дизайн как основа для разработки продукта
Быстрая база данных — быстрое приложение (полезные методы оптимизации производительности БД)
UX-стратегия: дайте вашему продукту преимущество
Редизайн приложения Figma Mirror — кейс продуктового дизайна
От нуля до MVP: 3 инструмента, которые я использую для быстрого создания приложений
Как мы сделали наши карты в 10 раз быстрее
Как DoorDash экспериментирует, чтобы найти Product Market Fit
7 шаблонов для быстрого старта при создании SaaS-приложения
Как создать систему, которая будет масштабироваться до ваших первых 100 миллионов пользователей
5 плохих практик, из-за которых другие разработчики ненавидят ваш код
Как работает Flutter в ByteDance
5 ментальных моделей для улучшения восприятия продукта и принятия решений
Глубокое погружение в Server-Driven UI систему Airbnb

Аналитика, маркетинг и монетизация

Mojang закрывает Minecraft Earth
Расходы на приложения во 2 квартале поставили новый рекорд в $34 млрд
Brickit: LEGO для взрослых
Расходы потребителей на приложения в первой половине 2021 выросли на 24% и достигли $65 млрд
Конференция Up My App 2021. Кейсы, культурализация приложений и ASO-стратегии для разных типов трафика

AI, Устройства, IoT

 30 миллиардов параметров: реально ли обучить русский GPT-3 в «домашних» условиях?
 MLflow в облаке. Простой и быстрый способ вывести ML-модели в продакшен
 Уязвимости NFC позволяют взломать банкомат, просто взмахнув смартфоном
Volvo делает свою ОС для автомобилей
Copilot от GitHub и OpenAI пишет код с помощью ИИ
4 обязательных курса по Data Science для абсолютных новичков

< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.