Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день!

iOS

- SwiftUI все еще не готов к продакшену
- Правильно подключаем тяжелые зависимости к Xcode проекту через Swift Package Manager
- Асинхронный код синхронно: как устроено юнит-тестирование в СберМаркете
- Бесплатные книги по Swift от Flight School
- 6 советов, как улучшить программирование в Swift
- Золотые правила “weak self”
- Регулировка contentOffset с помощью UICollectionViewLayout
- Pull to refresh в SwiftUI
- Координация навигации по вью в SwiftUI с помощью паттерна Flow Coordinator
- В Apple показали гарнитуру смешанной реальности
- Apple представила новые функции доступности
- Apple разрешает автоматически увеличивать цены на подписку
Цикл рендеринга SwiftUI SwiftUI все еще не готов к продакшену Значения среды как альтернатива внедрению зависимостей в SwiftUI Предварительная выборка в iOS Расширенные протоколы в Swift SwiftUI для разработчиков UIKit Создание кастомной геометрии со стандартными формами в SceneKit под SwiftUI Разница между singleton и Singleton в Swift Как внедрить шаблон MVVM в разработку приложений для iOS Заполнители типов взгляд на новую функцию Swift 5.6 Фингерпринтинг локального устройства в iOS Туториал по Vision Framework для iOS: обнаружение контуров Соединяем iOS AppDelegate, SceneDelegate и ViewController Шаблон Xcode MVVM-C для сокращения времени разработки 7 шорткатов Xcode для больших проектов Apple GPU и невозможная ошибка Colorue: рисование на iOS Sankey: диаграммы Санки для iOS Runestone: текстовый редактор для iOS
Android
- Знакомьтесь: библиотека TiRecycler
- Как и зачем собирать Android приложение в docker контейнере
- Как работает UI в Android. Не все так сложно
- Запросы в сеть с Clean Architecture и MVVM. Boilerplate ч. 2
Каталоги версий Gradle для отличного управления зависимостями Новый способ совершать сетевые звонки на Android Вопросы для собеседования среднего уровня по Android Ищем ошибки в UI с помощью CPU профайлера в Android Studio Повышение качества кода Kotlin для кодовой базы Faire Fastlane: автоматизируйте развертывание и выпуск бета-версий приложений для Android Jetpack Compose для поздних последователей Кастомные анимации Canvas в Jetpack Compose Оставьте Retrofit, переходите на Ktor в Android Делаем Android-приложение библиотечным модулем Девять кругов ада в миграции проекта Kotlin Multiplatform на koin-annotations Используете ли вы самый мощный инструмент Kotlin? API сканирования штрихкодов Google — сканирование кодов без разрешения камеры MiStoryView: истории для Android-приложения Floating Action Button Speed Dial: плавающая кнопка с действиями
Кроссплатформа
- Flutter 3: что нового
- Начинаем работу с Flutter Casual Games Toolkit
- Как на Flutter-проекте реализовать разделение Google-сервисов и Huawei-сервисов
- Нестандартное оформление кнопок, текстовых полей и других элементов управления Flutter
- Тестирование Flutter-приложений: гайд по разработке тестов на Flutter
- Выразительные Unit тесты в Dart/Flutter
- Flutter каналы платформы
- Kotlin Multiplatform Mobile — совместное управление состоянием пользовательского интерфейса
- Kotlin 1.5.30 и KMM/KMP
Пинболл с I/O на базе Flutter и Firebase 7 удивительных инструментов разработки приложений на Flutter Адаптивные макеты во Flutter Повышает ли Flutter производительность разработчиков? Анонс набора инструментов для казуальных игр Flutter Воркшопы DartPad от GDE по Flutter Оптимизируем React Native Ускоряем Kotlin Multiplatform Автоматический перевод приложения Flutter
Разработка
- Как выжить при быстром росте аудитории, когда игра за день становится хитом
- Модель игрового цикла: как устроены хорошие игры
- Мой вопрос с кодинг интервью в Google
- Эволюция инди-игры: от Google Play до собственного магазина
- Туда, не зная куда: каким мы увидели Qase
- История телепортации в андроиде
- Многие софтверные компании — посмешище
- 7 причин, по которым я объясняю ответы во время технического интервью
- Найти всё, что скрыто. Поиск чувствительной информации в мобильных приложениях
- Инструменты разработки и LiveOps: Как стабильно управлять тоннами контента игры
- Дизайн приложений: примеры для вдохновения #76
- Подборка новых, необычных и стильных мобильных iOS приложений
- Видео Ozon Tech Mobile Meetup
- Podlodka #268: формальные методы и верификация программ
- Jellyfish запускает отраслевые бенчмарки для команд разработки
- VK открывает набор на оплачиваемую стажировку для начинающих разработчиков игр
- Facebook замораживает найм в продуктовые команды
- VPS и ARCore Geospatial API
- $20 млн: Pipedream — простая интеграция API
- $42 млн в Серии B: Komodor — платформа устранения сбоев в Kubernetes
- Что не так с UX-ом подписок
Кейс UX/UI — Drill IT Модульные тесты замедляют меня Как я выторговал офер в 300 000 от Google Прекратите создавать UI компоненты с нуля Системный дизайн и рекомендательные алгоритмы 20 крупных компаний 26 главных вопросов по программированию, которые помогут пройти собеседование в Microsoft
Аналитика, маркетинг и монетизация
- Самые популярные категории приложений 2022
- MyTracker открывает возможность для создания кастомизированных метрик
- AppsFlyer запустил Единый источник истины для iOS
- «Не унывайте, пацаны»: основатели российского приложения для медитации ещё не вышли в прибыль, но уже идут в США
- В России начал работать магазин приложений NashStore — российский аналог Google Play
- Минцифры и VK анонсировали запуск магазина Android-приложений RuStore
- Мобильный маркетинг в 2022: спасибо, что живой
AI, Устройства, IoT
- Мой опыт с резиновым мужиком. Github Copilot
- Kincony KC868-A16: контроллер 16-го уровня
- Находим главное в отзывах. Опыт разработчиков геопоиска Яндекса
- Практические применения генеративных моделей: как мы делали суммаризатор текстов
- 55+ перспективных технологий IoT, которые вы должны иметь на своем радаре (обновление 2022 года)