Дайджест интересных материалов для мобильного разработчика #340 (6 — 12 апреля)
В этом выпуске новый Swift, accessibility-тестирование, преодоление Prince of persia, исследование российских команд мобильной разработки, открытая Eclipse Theia вместо VSC, полив комнатных растений и многое другое!
В конце марта вышел релиз Swift 5.2 для Xcode 11.4. В нём улучшена диагностика ошибок, анализ зависимостей, расширен функционал SwiftPM. Обзор некоторых изменений уже был опубликован на Хабре, в этой же статье рассмотрена эволюция самого языка с возможными примерами использования. Альфа-Банк входит в специальную рабочую группу, созданную ЦБ с целью повышения качества финансовых продуктов для групп населения с нарушениями зрения. Уже выработана специальная методология работы и оценок, которой придерживаются все банки.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в Telegram-канале.
iOS
• (+17) Из ошибки в алерт с действиями
• (+6) Compositional Layout в iOS 13. Основы
• (+3) Формируем View в SwiftUI, исходя из условий
• В iOS 14 запускать приложения можно будет без установки
• В App Store тоже нашли fleeceware-приложения
• Apple покупает NextVR
• Drag and drop в SwiftUI
• Как запускается iOS-приложение
• UITableViewCell с автоматическим размером с помощью UIStackView
• Руководство по документированию кода в Xcode
• Полезные глобальные функции в Swift
• Создаем лучшие приложения для Apple Watch
• Создание погодного приложения для iOS
• Добавьте эффект параллакса к статическому тексту в iOS
• Код View — управляющий фреймворк для отказа от IB
• Swift: ставка Google на дифференцированное программирование
• Playbook: создание UI-компонентов
• SimpleEngine: 2D игровой движок
Android
• (+25) Open source: CI/CD и тестовая инфраструктура Авито для Android
• (+11) Классификация изображений на Android с помощью TensorFlow Lite и сервиса Azure Custom Vision
• (+12) Перенаправление функций в native-библиотеках на Android
• (+5) Использование библиотеки ColorPicker в Android для реализации гибкого выбора цвета
• (+4) Использование библиотеки Volley в Android на примере получения данных из погодного API
• (+3) Prosto: убираем бойлерплейт при работе с RecyclerView
• Google сделал виртуальную клавиатуру Брайля
• Android Broadcast #11: Развитие мобильного разработчика
• Защита вашей игры и игроков в Google Play
• Layout Inspector в Android Studio
• Кастомизируем WorkManager — основы
• Миграция Android-приложения Duolingo на 100% Kotlin
• ViewBinding — новый стандарт обработки взаимодействия с View в Android
• Android Multi-Module & Dagger: реальный пример использования, шаг за шагом
• Сканер карт на Android с использованием Firebase ML Kit и CameraX
• Лучшая архитектура для Android: MVI + LiveData + ViewModel
• Шпаргалки по генерации кода в Dagger
• Android Canvas API: от нуба до ниндзи
• Android-тестирование батареи на Microsoft YourPhone
• Все, что вы должны знать о ViewBinding в Android
• Топ-20 плагинов для Android Studio
• Модульное приложение для Android и динамическая доставка
• Chip Navigation Bar: красивая панель навигации
• Learn Jetpack Compose By Example: учим Jetpack Compose на примерах
Разработка
• (+83) Как создателю Prince of Persia удалось преодолеть ограничения памяти Apple II
• (+35) Профессия: мобильный разработчик
• (+22) Сколько я просадил на создании мобильного приложения, и как его возродил коронавирус
• (+16) Создание навигатора с применением технологий дополненной реальности и методов машинного обучения
• (+16) Как воспроизвести реалистичный звук в компьютерных играх и VR и почему это сложно
• (+15) Плохой сетевой код убивает ваши любимые файтинги
• (+14) Создание дизайн-системы для игры: детальный разбор подхода
• (+13) Создание roguelike в Unity с нуля: генератор подземелий
• (+10) Как спастись от Covid и от слежки?
• (+9) Как попасть на работу в международный геймдев: туториал от 3D-моделлера из Ульяновска, который стал совладельцем студии
• (+8) Как НЕ стать геймдизайнером (Game Designer)
• (+6) Unity + git = дружба: часть 1 джентльменский набор
• (+6) Проблемы доставки фич в больших проектах
• (+5) Summer MVP. Насколько гибок Kotlin?
• (+3) Реалистичный боевой ИИ для 2D-игры
• (0) User flow: как создаются популярные приложения и сайты
• Podlodka #158: Локализация
• Radio QA #58: Не один дома
• Начинается Season of Docs 2020
• Исследование «Известность команд мобильной разработки 2020»
• «Ростелеком» учредил онлайн-хакатон VirusHack с призовым фондом 2.5 млн рублей
• Разработка в Grab: чему я научился, работая в большой технологической компании?
• «Карантин» — концепт приложения для выхода из дома во время COVID-19
• Ясность — главное при написании кода
• 100 дней кода — это сложно? Как насчет 1 игры в месяц?
• Чего ожидать в React Native при конвертировании iOS-приложения в Android
• Ваше приложение не должно быть идеальным
• Сторителинг в UX: микровзаимодействия, которые поддерживают путешествие героя
• Дизайн приложения для здоровья, которое мотивирует пользователей строить здоровые привычки с друзьями
• 21 ошибка в моей 21-летней карьере программиста
• Eclipse Theia: открытый расширяемый IDE
Аналитика, маркетинг и монетизация
• (+7) AdColony: 89% издателей мобильных приложений и игр используют рекламные видео
• Snapchat запустил AR-пожертвования для борьбы с коронавирусом
• Конструктор Builder.ai предлагает готовые заготовки
• Самые популярные приложения в мире в марте 2020
• Tuned — приложение для пар от Facebook
• Zoom, Skype, Кинопоиск и Premier впервые попали в Топ-10 российского App Store
• Quibi: настоящий мобильный стриминг
• Музыкальный стриминг в 2019 вырос на 32%
• Ультимейт-шаблон скриншотов для стора в Figma
AI, Устройства, IoT
• (+48) Смарт-реплай стикерами
• (+27) Raspberry Pi, Python и полив комнатных растений
• (+13) Тренируем генеративно-состязательную сеть для рисования картин на Azure ML
• (+3) Локализация QR-кода — важная задача, незаслуженно обделенная вниманием
• (+1) Индустрия 4.1: Роботовладение, нейросеть и Open Source монетизация
• Google выпустил Local Home SDK
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.