Дайджест интересных материалов для мобильного разработчика #323 (18 — 24 ноября)

В нашем новом выпуске разработка для Авроры, Дубай Молл в смартфоне, тренды UX-дизайна, инструменты HTML5-разработки, доходы 1% топовых издателей, которые получают 93% денег всего рынка приложений. Интересный дайджест у нас получился!

m3cwpgafprn3ir5rnvtsm5fl8ty.jpeg

Наша команда разработала и поддерживает корпоративное мобильное приложение по приёму платежей в рамках платёжной системы для крупного заказчика. Теперь оно используется сотрудниками клиента на устройствах под управлением операционной системы Аврора (ранее Sailfish Mobile OS RUS) в тридцати семи российских регионах. В этом посте я коротко расскажу об этом проекте и более подробно — о самой операционке. Исходная постановка задачи в упрощённом виде: хочется иметь возможность визуализировать схему этажа в вашем мобильном приложении и уметь показывать на нём местоположение конкретной организации. Хотелось бы ещё и местоположение пользователя видеть, но здесь проблема в технической плоскости — нужно оборудование, которое позволит вам получать координаты устройства внутри помещения. Так что этот аспект оставим за рамками статьи и сосредоточимся на программной части.

Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в 5ek7bfhjzilma-pbharuioaa7lw.pngTelegram-канале.

f1930ac4945596eb9707bc7a01bc5bdc.pngiOS

(+74) Как Apple убивает веб технологии
(+10) Redux — подобные контейнеры состояния в SwiftUI. Основы
(+4) Redux — подобные контейнеры состояния в SwiftUI. Рекомендации
(+3) Swift.assert — жизнь после релиза
• Apple расширяет программу Everyone Can Code
976d3e38a34b003f86f91795524af9f8.gifOn-Demand ресурсы в iOS
• Apple назовет лучшие приложения и игры 2 декабря
• Вышло приложение Apple Developer
• Что делать, если вас копирует Apple
• Apple изменит подход к разработке операционных систем из-за ошибок в iOS 13
377ae0333d0f4b7b97307c9eea5ee21a.gifСканер документов для iOS с Vision API
377ae0333d0f4b7b97307c9eea5ee21a.gifОтладка с Swift Combine Framework
377ae0333d0f4b7b97307c9eea5ee21a.gifКак создавать обновляемые модели в Core ML 3
377ae0333d0f4b7b97307c9eea5ee21a.gifПростой способ реализовать демонстрационный режим в iOS-приложении
377ae0333d0f4b7b97307c9eea5ee21a.gifiOS 13 Compositional Layouts в CollectionView
377ae0333d0f4b7b97307c9eea5ee21a.gifSwift на Raspberry Pi
377ae0333d0f4b7b97307c9eea5ee21a.gifВнедряем темный режим на iOS
377ae0333d0f4b7b97307c9eea5ee21a.gifМикросервисы SwiftUI
96716bcb926741e79bb1c284a88083ca.pngLoady: кнопки с индикаторами загрузки
96716bcb926741e79bb1c284a88083ca.pngOpenSwiftUI: открытый SwiftUI
96716bcb926741e79bb1c284a88083ca.png5 iOS-библиотек для анимирования вашего приложения

e1a3cf2a8b65a0da69bbdd5c0ad040fe.pngAndroid

(+21) Quality pipelines в мобильной разработке, часть 1: Android
• Google предлагает $1 млн. за уязвимости в Android
976d3e38a34b003f86f91795524af9f8.gifAndroid-разработчик в США
• Google и Udacity открыли курс «Продвинутый Android в Kotlin»
• Магазин приложений Epic Games получил вторую игру
377ae0333d0f4b7b97307c9eea5ee21a.gifНавигация с динамическими функциональными модулями
377ae0333d0f4b7b97307c9eea5ee21a.gifКак разместить прогрессивное веб-приложение в магазине Google Play
377ae0333d0f4b7b97307c9eea5ee21a.gifKotlin/Native в iOS
377ae0333d0f4b7b97307c9eea5ee21a.gifТрюки с Dagger: Рефакторинг
377ae0333d0f4b7b97307c9eea5ee21a.gifПонимаем, как рендерится View в Android
377ae0333d0f4b7b97307c9eea5ee21a.gifКак сделать корпоративное мобильное приложение единственным на устройстве с помощью Android Management API
377ae0333d0f4b7b97307c9eea5ee21a.gifЛогин в Kotlin через Firebase — Twitter, Facebook, Google, GitHub
377ae0333d0f4b7b97307c9eea5ee21a.gifGoogle хочет, чтобы Android использовал обычное ядро Linux
96716bcb926741e79bb1c284a88083ca.pngStoryView: сториз для Android

7081c634ec176ab6b953d9d19e82a09a.pngРазработка

(+28) Цепи Маркова для процедурной генерации зданий
(+19) Extension в Dart (Flutter)
(+19) Нескучный матчмейкинг без дисбаланса и очередей: практическое руководство
(+12) За какими трендами UX-дизайна следить в 2020 году
(+11) Как работает Flutter
(+11) Дизайн система Societe Generale: Гармония дизайна и разработки
(+8) Проверка идеи будущего приложения. Претотип. Или как сэкономить много денег
• Почему вам стоит бояться призрачных кнопок
• Все инструменты, которые мы использовали для создания популярной HTML5-игры Curious Expedition
• Звуковые эффекты, голоса и музыка в Humble Bundle
• В Firebase Authentication заработал Sign in with Apple
• Как заработать на приложении во время праздников?
• Платформа Miro запустила конкурс приложений
• В России создадут приложение для оценки состояния двигателя по звуку
• Microsoft закрывает приложения Cortana
976d3e38a34b003f86f91795524af9f8.gifВидео MobileOptimized 2019
• Опрос: Инструменты дизайна и прототипирования приложений
• Руководство по дизайну мобильных приложений под iOS и Android. Основные различия платформ
• Как использовать сценарии в разработке мобильных приложений
• Организация пространства в дизайне. Отступы, сетки и лейауты
377ae0333d0f4b7b97307c9eea5ee21a.gifПростой 3D-движок во Flutter
377ae0333d0f4b7b97307c9eea5ee21a.gifКак улучшить свою работу junior-разработчика
377ae0333d0f4b7b97307c9eea5ee21a.gifЛучший отзыв в Code Review из всех, что я получал
377ae0333d0f4b7b97307c9eea5ee21a.gifВаше следующее приложение может не иметь серверной части
377ae0333d0f4b7b97307c9eea5ee21a.gifРаспространенные ошибки, которые делают программисты. Даже хорошие.
377ae0333d0f4b7b97307c9eea5ee21a.gifЛучшие шаблоны и темы для мобильных приложений 2019
377ae0333d0f4b7b97307c9eea5ee21a.gifДелайте аннотации, они сделают ваших разработчиков счастливыми
377ae0333d0f4b7b97307c9eea5ee21a.gif20 шорткатов VS Code  для быстрого программирования
377ae0333d0f4b7b97307c9eea5ee21a.gifЛучшие практики UX: регистрация
377ae0333d0f4b7b97307c9eea5ee21a.gifИспользование библиотеки Device_Calendar во Flutter для связи с календарем в Android/iOS
377ae0333d0f4b7b97307c9eea5ee21a.gifПринятие кроссплатформенной стратегии для мобильных приложений
377ae0333d0f4b7b97307c9eea5ee21a.gif8 причин отказаться от разработки гибридных приложений
377ae0333d0f4b7b97307c9eea5ee21a.gifМерджим работу 1000+ разработчиков
377ae0333d0f4b7b97307c9eea5ee21a.gif11 основных концепций мета-знаний, необходимых для ускорения программирования
96716bcb926741e79bb1c284a88083ca.pngOpenDiablo2: открытый движок Diablo 2

509dc9bde69347ecbe0c21ff2973d7e7.jpgАналитика, маркетинг и монетизация

(+36) Локализация приложения за 10 шагов
(+10) Как я начал уметь в маркетинг
(+2) Кейс от Narcade: разработчики из Турции рассказывают о локализации мобильных игр и турецком игровом рынке
• Россия станет третьим по величине рынком для видеоигр в Европе
• Топ 1% издателей получает 80% установок и 93% доходов всего рынка приложений
• Тейн Лайман (Wargaming): игры, с которыми есть эмоциональная связь
• myTarget запускает маркетплейс рекламных приложений
• Ocean Engine охватывает треть мировой мобильной аудитории
• Clumio получает $186 млн. на облачное резервное копирование
• SmartNews: лучший способ читать новости
• Приложения для покупок поставили рекорд по загрузкам
• WeWork запускает в России программу развития стартапов
• Доходы платных игр в App Store постоянно снижаются
• Яндекс.Деньги выпустили игру в формате чат-квеста
• Wire: самый безопасный мессенджер

8538129f5e7b404a720121cb9c3814db.jpgAI, Устройства, IoT

(+11) Этапы внедрения моделей машинного обучения на крупных предприятиях
(+10) Новый бесплатный онлайн-курс от Samsung по анализу текста при помощи нейросетей
(+7) 10 лайфхаков разработки рекомендательных систем
(+5) Разработка IoT-шлюза на базе Raspberry CM3+

← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.

© Habrahabr.ru