В новом дайджесте много корутинов, немного темных тем, экономики приложений, спасения тревожных миллениалов, VPS, Swift и Kotlin. Подключайтесь!
Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.
iOS
• В экономике iOS-приложений в США занято 2.2 млн человек
• Школа мобильной разработки 2021: iOS
• Удаление учетных записей в iOS-приложениях станет обязательным с 30 июня
• Apple говорит о покупке EA
• SwiftUI — простое управление состоянием MVVM
• 6 причин, по которым команда MEGA полностью перешла на SwiftUI
• Редактирование пакетов Swift в Visual Studio Code
• 100 рецептов SwiftUI
• Освоение TimelineView в SwiftUI
• Создаем красивый экран загрузки для вашего iOS-приложения
• Выводим приложение в оффлайн с Salesforce Mobile SDK
• Инъекция кода с Dyld Interposing
• Объяснение замыканий в Swift
• Как делать автоматические вычисления тригонометрии в Swift
• SwiftUI в 2022 году
• Как повысить производительность кода за счет сокращения инициализации типа коллекции
• 16 полезных расширений для SwiftUI
• Как адаптировать View для каждого устройства
• Кто еще хочет улучшить качество кодовой базы
• Как создать Redux-подобный контейнер в Swift с нуля
• Реализуем шаблон Координатор с помощью Combine
• Spiral: спирали для SwiftUI
• Swift Algorithm Club: алгоритмы и структуры данных с объяснениями
Android
• Многомодульный BDSM: стоит ли внедрять Gradle модули и какие типы модулей бывают?
• Онлайн-собеседование, корутины
• Путь Android-приложения к поддержке темной темы: пример Tokopedia
• Школа мобильной разработки 2021: Android
• Бесплатный курс по корутинам
• Google Play временно разрешает сторонние платежи
• Используете ли вы самый мощный инструмент Kotlin?
• В Google Play появились теги доступности
• VK запустила бета-версию магазина приложений RuStore
• Более чистый способ взаимодействия между Composable и ViewModel в Jetpack Compose
• Простая инъекция зависимостей с помощью Koin 3.2 и аннотаций Koin
• Первый взгляд: «песочница конфиденциальности» Google и ее влияние на SDK
• Кастомный прогресс бар с Jetpack Compose Canvas API
• 5 шагов к Google Fonts в Jetpack Compose
• Как мы уменьшили наш ANR в три раза
• Навигация в Compose за 3 минуты
• Путь Tokopedia к поддержке темного режима
• Jetpack Compose под капотом: события касания
• Стратегии управления зависимостями Gradle
• Lazy Grid макеты в Compose
• Как создать ярлыки в приложении для Android
• 15 лучших библиотек Android на 2022 год
• Slack Clone: Jetpack Compose и чистая архитектура
• Compose Reports to HTML: отчеты компилятора в HTML-страницах
• ComposePPT: презентации PowerPoint на Compose
Кроссплатформа
• Как заработать 1000 евро и набрать миллионы игроков на браузерной игре
• Как подружить Elementary и BLoC
• Dart 2.17: Продуктивность и интеграция
• VFX Graph и вихри
• 11 вещей, о которых вы должны помнить перед стартом нового проекта на Flutter
• Сборка приложений и игр для MacOS на Flutter 3.0
• 15 лучших инструментов Flutter, которые вы должны знать
• Кастомные сообщения во Flutter
• Лучший пакет навигации во Flutter
• Зачем (и когда) использовать Flutter вместо Unity
• Основные ошибки, которые допускают разработчики во Flutter
• Эффект тени во Flutter
Разработка
• 14 Важных UI/UX типсов для твоего дизайна
• Спасаем тревожных миллениалов от необходимости звонить: как в приложении для заказа пиццы появился чат
• Вы против мира глупости: советы разгневанным разработчикам
• 1000 и 1 нюанс. UX-проектирование и тестирование сложного функционала или почему не нужно спешить делать дизайн
• Уроки 5 лет аудита кода стартапов
• Ошибки на технических собеседованиях
• Niantic запускает VPS и социальную сеть
• Go в API для мобильного приложения. Создаем совместный список покупок с мгновенными уведомлениями
• Нелегкий путь к динамическому анализу мобильных приложений
• GraphQL, что ты такое?
• Podlodka #269: интернет-реклама
• Visual Studio 2022 получает поддержку ARM и компьютер Project Volterra
• ARCore Geospatial API улучшает создание мирового AR-контента
• Стойте! Вы используете пул-реквесты неправильно
• Почему я избегаю async/await
• Stack Overflow уничтожает разработчиков
Аналитика, маркетинг и монетизация
• Видео Avito Analytics meetup
• Как качественно измерять трафик в мобильных приложениях
• Мобильная реклама в России и Украине: отчет Appodeal
• Стандартных метрик уже недостаточно: как найти и удержать ядро своей mid-core игры
• Важность локализации рекламных креативов для игр в Китае
• Рекламная стратегия в условиях рецессии
• VK Play провела исследование игровой аудитории в России
AI, Устройства, IoT
• Долго. Дорого… Делать гаджет в России – учиться, терять деньги, жить на работе
• Насколько естественен естественный язык? Представляем датасет RuCoLA
• Как начать работать с библиотекой для машинного обучения Metaflow
• TinyML — машинное обучение на микроконтроллерах
• V Bionic — победитель 2022 Imagine Cup
• Что я узнал из 50 собеседований ML-инженеров
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.
iOS
• В экономике iOS-приложений в США занято 2.2 млн человек
• Школа мобильной разработки 2021: iOS
• Удаление учетных записей в iOS-приложениях станет обязательным с 30 июня
• Apple говорит о покупке EA
• SwiftUI — простое управление состоянием MVVM
• 6 причин, по которым команда MEGA полностью перешла на SwiftUI
• Редактирование пакетов Swift в Visual Studio Code
• 100 рецептов SwiftUI
• Освоение TimelineView в SwiftUI
• Создаем красивый экран загрузки для вашего iOS-приложения
• Выводим приложение в оффлайн с Salesforce Mobile SDK
• Инъекция кода с Dyld Interposing
• Объяснение замыканий в Swift
• Как делать автоматические вычисления тригонометрии в Swift
• SwiftUI в 2022 году
• Как повысить производительность кода за счет сокращения инициализации типа коллекции
• 16 полезных расширений для SwiftUI
• Как адаптировать View для каждого устройства
• Кто еще хочет улучшить качество кодовой базы
• Как создать Redux-подобный контейнер в Swift с нуля
• Реализуем шаблон Координатор с помощью Combine
• Spiral: спирали для SwiftUI
• Swift Algorithm Club: алгоритмы и структуры данных с объяснениями
Android
• Многомодульный BDSM: стоит ли внедрять Gradle модули и какие типы модулей бывают?
• Онлайн-собеседование, корутины
• Путь Android-приложения к поддержке темной темы: пример Tokopedia
• Школа мобильной разработки 2021: Android
• Бесплатный курс по корутинам
• Google Play временно разрешает сторонние платежи
• Используете ли вы самый мощный инструмент Kotlin?
• В Google Play появились теги доступности
• VK запустила бета-версию магазина приложений RuStore
• Более чистый способ взаимодействия между Composable и ViewModel в Jetpack Compose
• Простая инъекция зависимостей с помощью Koin 3.2 и аннотаций Koin
• Первый взгляд: «песочница конфиденциальности» Google и ее влияние на SDK
• Кастомный прогресс бар с Jetpack Compose Canvas API
• 5 шагов к Google Fonts в Jetpack Compose
• Как мы уменьшили наш ANR в три раза
• Навигация в Compose за 3 минуты
• Путь Tokopedia к поддержке темного режима
• Jetpack Compose под капотом: события касания
• Стратегии управления зависимостями Gradle
• Lazy Grid макеты в Compose
• Как создать ярлыки в приложении для Android
• 15 лучших библиотек Android на 2022 год
• Slack Clone: Jetpack Compose и чистая архитектура
• Compose Reports to HTML: отчеты компилятора в HTML-страницах
• ComposePPT: презентации PowerPoint на Compose
Кроссплатформа
• Как заработать 1000 евро и набрать миллионы игроков на браузерной игре
• Как подружить Elementary и BLoC
• Dart 2.17: Продуктивность и интеграция
• VFX Graph и вихри
• 11 вещей, о которых вы должны помнить перед стартом нового проекта на Flutter
• Сборка приложений и игр для MacOS на Flutter 3.0
• 15 лучших инструментов Flutter, которые вы должны знать
• Кастомные сообщения во Flutter
• Лучший пакет навигации во Flutter
• Зачем (и когда) использовать Flutter вместо Unity
• Основные ошибки, которые допускают разработчики во Flutter
• Эффект тени во Flutter
Разработка
• 14 Важных UI/UX типсов для твоего дизайна
• Спасаем тревожных миллениалов от необходимости звонить: как в приложении для заказа пиццы появился чат
• Вы против мира глупости: советы разгневанным разработчикам
• 1000 и 1 нюанс. UX-проектирование и тестирование сложного функционала или почему не нужно спешить делать дизайн
• Уроки 5 лет аудита кода стартапов
• Ошибки на технических собеседованиях
• Niantic запускает VPS и социальную сеть
• Go в API для мобильного приложения. Создаем совместный список покупок с мгновенными уведомлениями
• Нелегкий путь к динамическому анализу мобильных приложений
• GraphQL, что ты такое?
• Podlodka #269: интернет-реклама
• Visual Studio 2022 получает поддержку ARM и компьютер Project Volterra
• ARCore Geospatial API улучшает создание мирового AR-контента
• Стойте! Вы используете пул-реквесты неправильно
• Почему я избегаю async/await
• Stack Overflow уничтожает разработчиков
Аналитика, маркетинг и монетизация
• Видео Avito Analytics meetup
• Как качественно измерять трафик в мобильных приложениях
• Мобильная реклама в России и Украине: отчет Appodeal
• Стандартных метрик уже недостаточно: как найти и удержать ядро своей mid-core игры
• Важность локализации рекламных креативов для игр в Китае
• Рекламная стратегия в условиях рецессии
• VK Play провела исследование игровой аудитории в России
AI, Устройства, IoT
• Долго. Дорого… Делать гаджет в России – учиться, терять деньги, жить на работе
• Насколько естественен естественный язык? Представляем датасет RuCoLA
• Как начать работать с библиотекой для машинного обучения Metaflow
• TinyML — машинное обучение на микроконтроллерах
• V Bionic — победитель 2022 Imagine Cup
• Что я узнал из 50 собеседований ML-инженеров
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.