В новой подборке знакомимся с async/await и запускаем первые тесты, делаем первый аккорд в Jetpack Compose и сравниваем его со SwiftUI, участвуем в чемпионатах и решаем проблемы склада с помощью приложения. Все это и многое другое в нашем новом дайджесте!

Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
iOS
• Знакомимся с async/await в Swift
• Диспетчеризация в main thread с помощью MainActor
• Уязвимости в iOS
• Apple будет определять в фотографиях пользователей «чувствительный контент»
• Apple продвигала в подборках App Store мошеннические приложения
•
Как загружать изображения параллельно со Swift Concurrency
•
Кричащая архитектура для iOS-проектов
•
Добавление нескольких проектов в один проект Xcode
•
Внедрение зависимостей SwiftUI с использованием фреймворка Uber Needle
•
Пишите лучший код на Swift с помощью With()
•
Swift — let против var
•
7 способов связать представления SwiftUI со сценой SpriteKit
•
Программный AutoLayout в MVVM
•
CardNavigation: навигация карточками
•
Clean Architecture SwiftUI: чистая архитектура и SwiftUI
•
SwiftUI Stock Charts: интерактивные графики
Android
• Kaspresso tutorials. Часть 1. Запуск первого теста
• Как я познал «Гармонию» и попробовал программировать на устройстве для иллюстраторов
• Accompanist — первый аккорд. Обзор библиотеки для Jetpack Compose
• Android in-app purchases, часть 2: инициализация и обработка покупок
•
Словарь терминов Jetpack Compose
•
Туториал по Android Sleep API: начало работы
•
Как сделать server-driven строку на Kotlin в Android?
•
Атомарные обновления на MutableStateFlow
•
Что такое FragmentContainerView? Его преимущества перед FrameLayout
•
Google Play Asset Delivery в Android
•
Переписываем приложения AOSP календаря на Kotlin
•
Понимаем Reflection с помощью Kotlin
•
Как приложение OkCredit ускорило холодный запуск на 70%
•
•
Анимации в Navigation Compose
•
Лучшие Android MVI библиотеки в 2021
•
Compose Richtext: работа с текстом в Compose
•
Pluto: on-device отладчик для Android
Разработка
• Потратить время сейчас, чтобы сэкономить потом: как мы выстраивали процессы разработки и планирования на игровом проекте
• Из Unity в Godot. Первое впечатление
• Как боты помогают тестировать игры
• Как сделать Swift-friendly API с Kotlin Multiplatform Mobile
• Грешка, заблуда и буболечка, или как я погружалась в мобильное тестирование болгарского банка
• Flutter + Socket.io — Обмен информацией в режиме реального времени
• Flutter: открытие виджетов ключами
• Firebase Test Lab. Авто-тесты без кода на физических устройствах
• Podlodka #227: статический анализ кода
• SwiftUI против Jetpack Compose: почему Android выигрывает не напрягаясь
• Дизайн приложений: примеры для вдохновения #51
• Почему программистам не надо надолго оставаться в одной компании
• Разрабатываем с Firebase
• Mail.ru Group открывает набор на бесплатные курсы по мобильной разработке
• Вышла альфа-версия Compose Multiplatform
• Stack Overflow опубликовал результаты ежегодного опроса разработчиков
• X5 проводит ИТ-чемпионат
• Открыта регистрация на чемпионате по программированию Yandex Cup
• Чему я научилась, работая Продуктовым Менеджером в Google
• Хорошие и плохие продуктовые дизайнеры
• Как мы решили комплексные проблемы склада Lamoda всего одним приложением
•
Можете ли вы объяснить свой код?
•
Библиотеки React Native для «нативных функций»
•
7 побочных проектов, приносящих прибыль, которые вы можете реализовать как разработчик
•
Изучите эти 9 правил, чтобы сразу же начать писать чистый код
•
5 практик чистого кода для каждого программного проекта
•
Учимся создавать таббары у TikTok, Youtube, Pinterest, Spotify, Instagram, Slack, Duolingo и пр.
•
Повышаем производительности React Native приложения
•
12 навыков высокоэффективных разработчиков
•
Нет, 10x разработчики не легенды и у них нет сверхспособностей
•
Действительно ли карьера разработчиков заканчивается в 35 лет?
•
Глассморфизм? Как создать UI с эффектом неонового стекла
•
9 техник Code Review, которым должен следовать каждый программист
•
Как правильно хранить пароли в базе данных
Аналитика, маркетинг и монетизация
• Elude: куда съездить с имеющимся бюджетом
• MY.GAMES Venture Capital и Google запустили второй сезон Game Drive
• Match Group добавляет аудио и видео чаты в свои приложения
• NetEase и SocialPeta начали стратегическое сотрудничество в области креативов для мобильных игр
• Как работает Content Team в Wowmaking
• Novakid привлек $35 млн на изучение английского детьми
• «Справочник по мобильному росту 2021» от Branch
• Adjust начинает сотрудничество с Salesforce Marketing Cloud
• Inshorts: локальные видео новости
• Louis Vuitton выпускает игру с NFT
• Высококачественные креативы помогают китайским игровым компаниям привлекать пользователей по всему миру
• Фреймворк Google Heart для продуктовых метрик
•
Книга навыков продукт-менеджмента
AI, Устройства, IoT
• Киберпанк, который мы заслужили, или как Prisma превращает ваши селфи в произведение искусства
• Распознавание блюд в кафетерии банка
• Google показал Pixel 6 и Pixel 6 Pro
•
Работа на Amiga в 2021 году
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.

Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
iOS• Знакомимся с async/await в Swift
• Диспетчеризация в main thread с помощью MainActor
• Уязвимости в iOS
• Apple будет определять в фотографиях пользователей «чувствительный контент»
• Apple продвигала в подборках App Store мошеннические приложения
•
Как загружать изображения параллельно со Swift Concurrency•
Кричащая архитектура для iOS-проектов•
Добавление нескольких проектов в один проект Xcode•
Внедрение зависимостей SwiftUI с использованием фреймворка Uber Needle•
Пишите лучший код на Swift с помощью With()•
Swift — let против var•
7 способов связать представления SwiftUI со сценой SpriteKit•
Программный AutoLayout в MVVM•
CardNavigation: навигация карточками•
Clean Architecture SwiftUI: чистая архитектура и SwiftUI•
SwiftUI Stock Charts: интерактивные графики
Android• Kaspresso tutorials. Часть 1. Запуск первого теста
• Как я познал «Гармонию» и попробовал программировать на устройстве для иллюстраторов
• Accompanist — первый аккорд. Обзор библиотеки для Jetpack Compose
• Android in-app purchases, часть 2: инициализация и обработка покупок
•
Словарь терминов Jetpack Compose•
Туториал по Android Sleep API: начало работы•
Как сделать server-driven строку на Kotlin в Android?•
Атомарные обновления на MutableStateFlow•
Что такое FragmentContainerView? Его преимущества перед FrameLayout•
Google Play Asset Delivery в Android•
Переписываем приложения AOSP календаря на Kotlin•
Понимаем Reflection с помощью Kotlin•
Как приложение OkCredit ускорило холодный запуск на 70%•
•
Анимации в Navigation Compose•
Лучшие Android MVI библиотеки в 2021•
Compose Richtext: работа с текстом в Compose•
Pluto: on-device отладчик для Android
Разработка• Потратить время сейчас, чтобы сэкономить потом: как мы выстраивали процессы разработки и планирования на игровом проекте
• Из Unity в Godot. Первое впечатление
• Как боты помогают тестировать игры
• Как сделать Swift-friendly API с Kotlin Multiplatform Mobile
• Грешка, заблуда и буболечка, или как я погружалась в мобильное тестирование болгарского банка
• Flutter + Socket.io — Обмен информацией в режиме реального времени
• Flutter: открытие виджетов ключами
• Firebase Test Lab. Авто-тесты без кода на физических устройствах
• Podlodka #227: статический анализ кода
• SwiftUI против Jetpack Compose: почему Android выигрывает не напрягаясь
• Дизайн приложений: примеры для вдохновения #51
• Почему программистам не надо надолго оставаться в одной компании
• Разрабатываем с Firebase
• Mail.ru Group открывает набор на бесплатные курсы по мобильной разработке
• Вышла альфа-версия Compose Multiplatform
• Stack Overflow опубликовал результаты ежегодного опроса разработчиков
• X5 проводит ИТ-чемпионат
• Открыта регистрация на чемпионате по программированию Yandex Cup
• Чему я научилась, работая Продуктовым Менеджером в Google
• Хорошие и плохие продуктовые дизайнеры
• Как мы решили комплексные проблемы склада Lamoda всего одним приложением
•
Можете ли вы объяснить свой код?•
Библиотеки React Native для «нативных функций»•
7 побочных проектов, приносящих прибыль, которые вы можете реализовать как разработчик•
Изучите эти 9 правил, чтобы сразу же начать писать чистый код•
5 практик чистого кода для каждого программного проекта•
Учимся создавать таббары у TikTok, Youtube, Pinterest, Spotify, Instagram, Slack, Duolingo и пр.•
Повышаем производительности React Native приложения•
12 навыков высокоэффективных разработчиков•
Нет, 10x разработчики не легенды и у них нет сверхспособностей•
Действительно ли карьера разработчиков заканчивается в 35 лет?•
Глассморфизм? Как создать UI с эффектом неонового стекла•
9 техник Code Review, которым должен следовать каждый программист•
Как правильно хранить пароли в базе данных
Аналитика, маркетинг и монетизация• Elude: куда съездить с имеющимся бюджетом
• MY.GAMES Venture Capital и Google запустили второй сезон Game Drive
• Match Group добавляет аудио и видео чаты в свои приложения
• NetEase и SocialPeta начали стратегическое сотрудничество в области креативов для мобильных игр
• Как работает Content Team в Wowmaking
• Novakid привлек $35 млн на изучение английского детьми
• «Справочник по мобильному росту 2021» от Branch
• Adjust начинает сотрудничество с Salesforce Marketing Cloud
• Inshorts: локальные видео новости
• Louis Vuitton выпускает игру с NFT
• Высококачественные креативы помогают китайским игровым компаниям привлекать пользователей по всему миру
• Фреймворк Google Heart для продуктовых метрик
•
Книга навыков продукт-менеджмента
AI, Устройства, IoT• Киберпанк, который мы заслужили, или как Prisma превращает ваши селфи в произведение искусства
• Распознавание блюд в кафетерии банка
• Google показал Pixel 6 и Pixel 6 Pro
•
Работа на Amiga в 2021 году← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
