В этой подборке протоколы Swift и дружба с Google Ассистентом, работа с цветами и изображениями, экспоненциальные навыки и годы тестирования, новый Flutter, доходы приложений, эмодзи 2021 и многое другое!
Подписывайтесь на наш Telegram-канал, где подборки статей и новостей для разработчиков выходят каждый день!
iOS
• AppCode 2021.3: акторы, редактор plist-файлов, улучшенная поддержка документации и многое другое
• Swift. Протоколы
• Apple пока сохранит монополию на платежи за IAP
• Как структурировать свой Swift-код
• В App Store запустили Custom Product Pages
• Удивительная цена соответствия протоколу в Swift
• Замыкания (Lambda) в Swift
• Переходы и анимации в SwiftUI
• Модульное тестирование утечек памяти в iOS
• Обработка алертов в UI-тестах в iOS
• Реализация функции принудительного обновления с помощью Firebase Remote Config в iOS
• Создание сетевого фреймворка для UDP в iOS
• Путешествие Rappi по миграции системы сборки в iOS на Bazel
• Шаринг состояний между представлениями SwiftUI
• Charles + Mockoon для iOS
• iOS Core Data с синтаксическим сахаром
• Как Crashlytics работает в iOS: обзор dSYM
• Как стать Junior iOS-разработчиком
• Sourcery в iOS
• Проверка подключения к Интернету с помощью NWPathMonitor в Swift
• Показываем кастомные тосты с помощью PowerplayToastKit
• Используем XCTest и XCTestCase в iOS тестах
• ColorKit: работа с цветами в iOS
• Messenger Clone: чат для iOS
Android
• Android: как подружить ваше приложение с Google Ассистентом?
• Первый взгляд на Material You
• Compose Multiplatform достиг версии 1.0
• Adb-server в Kaspresso
• Google переносит игры Android на Windows
• Как внедрить что-то своё в CoordinatorLayout и не умереть: путь Android-самурая
• Android App Shortcuts: static, dynamic, and pinned shortcuts. Использование в реальном проекте
• Пишем Android UI чистым кодом без дополнительных либ
• Интеграция Compose в существующий проект Android
• Android Vitals — Это холодный старт?
• Навигация на Jetpack Compose by Google
• Очередная навигация для Android Jetpack Compose? Brick
• Как сделать тестовое задание: разбор от Senior Android Developer
• Дело об исчезнувших днях
• Комбинирование с помощью Compose UI
• Первый взгляд на Material You
• Принципы S.O.L.I.D в Android-разработке
• Создание библиотеки внедрения зависимостей для Android на Kotlin с нуля
• Машинное обучение с TensorFlow Lite в мобильных приложениях Kotlin/Java
• Лучшие UI-библиотеки для Android
• Моя продуктивная настройка Android Studio
• Тестирование корутин Android с помощью runTest
• Создаем красивые случайные рисунки с помощью шума Перлина в Jetpack Compose
• Юнит-тестирование для функций и методов на Android
• MortyComposeKMM: «Рик и Морт» на Kotlin Multiplatform
• Sketch: работа с изображениями для Kotlin
• Dadb: подключение без ADB
Разработка
• 11 признаков Senior QA, к которым я пришёл за годы работы в тестировании
• 5 сложных навыков, которые экспоненциально окупаются в программировании
• Видео Mobius 2021 Moscow
• Разработка приложения на Flutter с нуля до релиза: Идея + Базовая инфраструктура
• Как тестировщику победить рутину автоматизацией
• Получил диплом благодаря своей игре на Unity
• Опыт разработки первой игры на Unity, часть 3
• Локализация в Unity
• Podlodka #245: современные IDE
• $80 млн в Серии B: Replit — браузерная IDE для совместного программирования
• $12 млн в Серии А: Dragonboat — управление разработкой продуктов
• $160 млн: Smartling — автоматизация локализации
• Flutter 2.8: игровой движок и ускорение работы
• Facebook Gaming открывает возможность играть со стримерами
• Куда катятся зарплаты разработчиков в IT?
• Суперсила Macbook Pro: разработчики делятся впечатлениями от работы на M1 Pro
• Современные тренды UI-дизайна и способы их применения в ваших мобильных приложениях
• Почему программирование просто, а программная инженерия сложна
• Не используйте поля между компонентами, используйте зазоры
• Управление состоянием в Flutter 2022
• Любовь к криволинейному дизайну
• 5 причин писать модульные тесты
• Темный дизайн UI: принципы и лучшие практики
• Создавать формы во Flutter теперь весело
• Почему мы отказываемся от модульного тестирования и фокусируемся на поведенческом подходе
Аналитика, маркетинг и монетизация
• Пуши Авито: как сделать самый навязчивый формат не таким раздражающим
• Топ-5 заблуждений в работе аналитика
• WakeApp занял места в 5 категориях 13-ого издания AppsFlyer Performance Index
• AppsFlyer совместно с Intel представляет частное облако AppsFlyer Privacy Cloud
• Рынок приложений в 2021 вырастет на 20% до $133 млрд
• Семейный трекер Life360 продает данные о геолокации своих пользователей
• Самые популярные эмодзи 2021
• Доход мобильных сканеров вырос на 68% за год
• 6 ASO идей, собранных за ноябрь 2021
• Какие тренды мобильного банкинга актуальны в 2021 году
AI, Устройства, IoT
• Рождение Albumentations
• Легковесная криптография интернета вещей
• Восстановление знаков пунктуации и заглавных букв — теперь и на длинных текстах
• Among Us переходит в VR
• Dream рисует картины по текстовому описанию
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подписывайтесь на наш Telegram-канал, где подборки статей и новостей для разработчиков выходят каждый день!
iOS
• AppCode 2021.3: акторы, редактор plist-файлов, улучшенная поддержка документации и многое другое
• Swift. Протоколы
• Apple пока сохранит монополию на платежи за IAP
• Как структурировать свой Swift-код
• В App Store запустили Custom Product Pages
• Удивительная цена соответствия протоколу в Swift
• Замыкания (Lambda) в Swift
• Переходы и анимации в SwiftUI
• Модульное тестирование утечек памяти в iOS
• Обработка алертов в UI-тестах в iOS
• Реализация функции принудительного обновления с помощью Firebase Remote Config в iOS
• Создание сетевого фреймворка для UDP в iOS
• Путешествие Rappi по миграции системы сборки в iOS на Bazel
• Шаринг состояний между представлениями SwiftUI
• Charles + Mockoon для iOS
• iOS Core Data с синтаксическим сахаром
• Как Crashlytics работает в iOS: обзор dSYM
• Как стать Junior iOS-разработчиком
• Sourcery в iOS
• Проверка подключения к Интернету с помощью NWPathMonitor в Swift
• Показываем кастомные тосты с помощью PowerplayToastKit
• Используем XCTest и XCTestCase в iOS тестах
• ColorKit: работа с цветами в iOS
• Messenger Clone: чат для iOS
Android
• Android: как подружить ваше приложение с Google Ассистентом?
• Первый взгляд на Material You
• Compose Multiplatform достиг версии 1.0
• Adb-server в Kaspresso
• Google переносит игры Android на Windows
• Как внедрить что-то своё в CoordinatorLayout и не умереть: путь Android-самурая
• Android App Shortcuts: static, dynamic, and pinned shortcuts. Использование в реальном проекте
• Пишем Android UI чистым кодом без дополнительных либ
• Интеграция Compose в существующий проект Android
• Android Vitals — Это холодный старт?
• Навигация на Jetpack Compose by Google
• Очередная навигация для Android Jetpack Compose? Brick
• Как сделать тестовое задание: разбор от Senior Android Developer
• Дело об исчезнувших днях
• Комбинирование с помощью Compose UI
• Первый взгляд на Material You
• Принципы S.O.L.I.D в Android-разработке
• Создание библиотеки внедрения зависимостей для Android на Kotlin с нуля
• Машинное обучение с TensorFlow Lite в мобильных приложениях Kotlin/Java
• Лучшие UI-библиотеки для Android
• Моя продуктивная настройка Android Studio
• Тестирование корутин Android с помощью runTest
• Создаем красивые случайные рисунки с помощью шума Перлина в Jetpack Compose
• Юнит-тестирование для функций и методов на Android
• MortyComposeKMM: «Рик и Морт» на Kotlin Multiplatform
• Sketch: работа с изображениями для Kotlin
• Dadb: подключение без ADB
Разработка
• 11 признаков Senior QA, к которым я пришёл за годы работы в тестировании
• 5 сложных навыков, которые экспоненциально окупаются в программировании
• Видео Mobius 2021 Moscow
• Разработка приложения на Flutter с нуля до релиза: Идея + Базовая инфраструктура
• Как тестировщику победить рутину автоматизацией
• Получил диплом благодаря своей игре на Unity
• Опыт разработки первой игры на Unity, часть 3
• Локализация в Unity
• Podlodka #245: современные IDE
• $80 млн в Серии B: Replit — браузерная IDE для совместного программирования
• $12 млн в Серии А: Dragonboat — управление разработкой продуктов
• $160 млн: Smartling — автоматизация локализации
• Flutter 2.8: игровой движок и ускорение работы
• Facebook Gaming открывает возможность играть со стримерами
• Куда катятся зарплаты разработчиков в IT?
• Суперсила Macbook Pro: разработчики делятся впечатлениями от работы на M1 Pro
• Современные тренды UI-дизайна и способы их применения в ваших мобильных приложениях
• Почему программирование просто, а программная инженерия сложна
• Не используйте поля между компонентами, используйте зазоры
• Управление состоянием в Flutter 2022
• Любовь к криволинейному дизайну
• 5 причин писать модульные тесты
• Темный дизайн UI: принципы и лучшие практики
• Создавать формы во Flutter теперь весело
• Почему мы отказываемся от модульного тестирования и фокусируемся на поведенческом подходе
Аналитика, маркетинг и монетизация
• Пуши Авито: как сделать самый навязчивый формат не таким раздражающим
• Топ-5 заблуждений в работе аналитика
• WakeApp занял места в 5 категориях 13-ого издания AppsFlyer Performance Index
• AppsFlyer совместно с Intel представляет частное облако AppsFlyer Privacy Cloud
• Рынок приложений в 2021 вырастет на 20% до $133 млрд
• Семейный трекер Life360 продает данные о геолокации своих пользователей
• Самые популярные эмодзи 2021
• Доход мобильных сканеров вырос на 68% за год
• 6 ASO идей, собранных за ноябрь 2021
• Какие тренды мобильного банкинга актуальны в 2021 году
AI, Устройства, IoT
• Рождение Albumentations
• Легковесная криптография интернета вещей
• Восстановление знаков пунктуации и заглавных букв — теперь и на длинных текстах
• Among Us переходит в VR
• Dream рисует картины по текстовому описанию
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.