Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
iOS
- @Once: однократные замыкания
- Разбираемся с AsyncImage в SwiftUI
- Плавный скролл онлайн гипермаркета
Реализация Feature Flagging в iOS Как Rappi справляется с размером iOS-приложения Три умных расширения Swift для повышения вашей эффективности Почему вы не можете использовать Async/Await Как правильно расширить или создать Издателя в Combine Создание сложных модульных архитектур с помощью SwiftUI, Combine и Swift Package Manager (SPM) Определяем музыку с ShazamKit Адаптивная верстка для iOS в Swift Диалоги подтверждения в SwiftUI Как в iOS показать View Controller с размытым фоном MIFieldValidator: валидация полей
Android
- Работа с фоновыми задачами в Android 12: переезжаем с foreground service на expedited jobs
- Способы инжектить ViewModel с помощью Dagger: что может пойти не так
- Используем join в SQLite-запросах Room для android
- Как перенести нейросеть на мобильное устройство
- Собеседование Гончаров-Бадретдинов
- Вышла Android Studio Arctic Fox + Jetpack Compose 1.0
- Android 13 станет «Тирамису»
Оптимизируем вашу Kotlin сборку Крестики-нолики в Android Studio за 30 минут Обновляем ваши виджеты для Android 12 Создание корпоративного плагина IntelliJ для Android-разработчиков Создание и стилизация выпадающих меню в Android Поддержка RTL-дизайна на Android Обновление 170 библиотек в крупномасштабном приложении для Android Обновляйте StateFlow в Kotlin безопасно Интеграция фильтра OpenGL в FFmpeg на Android – несколько советов 5 советов, которые должен знать каждый Android-разработчик Переводим текст на Android-устройстве с помощью Google ML Kit Voyager: Compose на сверхсветовой скорости Pix: пикер в стиле WhatsApp
Разработка
- Путь от хаоса к порядку. Как справляться с инцидентами и успевать достигать цели? Делимся опытом
- Проблемы скорости сборки, или что делать, если время сборки игрового билда увеличивается в 10 раз
- Музыка для игр: где брать треки инди-разработчикам
- Построение процессов в QA: проблемы и решения
- Как мы ускорили разработку и тестирование мобильных приложений
- Неправильный путь в backend driven UI. Доклад Яндекса
- Когда можно назвать себя Senior разработчиком?
- Дизайн приложений: примеры для вдохновения #50
- Задачи с собеседований: шарик с гелием
- GitHub предложит бесплатную юридическую помощь разработчикам
- Отсутствие одного «&» вызвало сбой в Chrome OS
- 15 советов для улучшения UX форм регистрации и входа в систему
Мой друг-программист утроил свою зарплату за счет нетворкинга и ведения блога Создайте свое мобильное приложение за 10 дней с React Native Лучшие библиотеки React Native 2021 Как создать удобную sidebar навигацию? Почему программистам не следует надолго оставаться в одной компании Как сделать фортепиано на Flutter Чему я научился как продукт-менеджер в Google Создание безопасного мобильного приложения с помощью React Native 5 самых важных черт, на которые я обращаю внимание, нанимая разработчика 700000 строк кода, 20 лет и один разработчик: как делается Dwarf Fortress Разъяснение двух самых известных вопросов кодинг интервью BlurHash: цветные плейсхолдеры для изображений Clockwise: калькулятор стоимости встреч
Аналитика, маркетинг и монетизация
- Маркетологи в мобайле: Александр Муравский (Alconost)
- 2 года на разработку, доход $194, отток 100%: 8 бесценных уроков
- Obe Fitness: развлекательный фитнес
- Как продвигать свой бренд на подключенных ТВ: руководство Adjust
- История монетизации видеоигр
- Scrum для аналитиков. Как мы построили процессы в Кошельке
- SubHub Podcast: Андрей Михайлюк (Flo)
- Android vs iOS: отличия в шопинге
- Как паблишер Wowmaking повышает монетизацию продуктов и строит партнерские отношения с разработчиками
- Модели атрибуции трафика. Почему модель атрибуции должна изменяться вместе с каналами продвижения, продуктом, маркетинговой задачей и внешней средой
Прекратите выбирать доход в качестве главной метрики