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

В нашем новом дайджесте модульная разработка, чаты и карточки, полмиллиарда на Arcade, ульи и роботележки, ярость, время, ловушки и многое другое. Подключайтесь!

dzyaii7lbdq3u306kwfrvyzrbf4.jpeg

В приложениях Райффайзенбанка каждый экран состоит из нескольких, максимально независимых друг от друга модулей. «Модулем» мы называем визуальный компонент, имеющий своё представление. При проектировании приложения очень важно писать логику так, чтобы модули были независимыми и их легко можно было добавлять или убирать, не прибегая к рефакторингу. Все эти слова гораздо сильнее связаны с мобильной разработкой, чем кажется на первый взгляд: гексагональные ускорители уже помогают обучать нейронные сети на мобильных устройствах; алгебра и матан пригодится, чтобы устроиться работать в Apple;, а GPU-программирование не только позволяет ускорять приложения, но и учит видеть суть вещей.

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

f1930ac4945596eb9707bc7a01bc5bdc.pngiOS

(+17) AppCode 2019.1: Swift 5, улучшенная работа подсветки, навигации и автодополнения, перемещение выражений и многое другое
(+14) Самый простой способ сделать чат в iOS приложении
(+12) Создание карточек как Tinder на Swift
(+11) Автоматические размеры хедера и футера UITableView с AutoLayout
• Apple задерживает перевод денег разработчикам
• Apple потратит до $500 млн на эксклюзивы для Arcade
imageModel-View-Controller (MVC) в iOS — современный подход
imageОткрываем приложение на определенном экране при тапе на пуш-уведолмении
imageОбзор MVVM шаблона в Swift
imageУлучшение продуктивности iOS-команды через создание фич как фреймворков
imageНачинаем работу с RxSwift и RxCocoa
imageКак сделать мосты между фреймворками в iOS-приложении
imageKotlin Multiplatform для iOS-разработчиков
imageКак сделать серверные пуши для событий в iOS
imageГлубокие ссылки в iOS
96716bcb926741e79bb1c284a88083ca.pngSwash: динамическое управление шрифтами

e1a3cf2a8b65a0da69bbdd5c0ad040fe.pngAndroid

(+28) Секреты API Android-устройств. Доклад Яндекса
(+16) Определяем породу собаки: полный цикл разработки, от нейросети на Питоне до приложения на Google Play
(+15) Эволюция или делаем базу для роботележки на ARDUINO платформе, а сенсоры и видео гоним на компьютер через смартфон
(+15) Робо-футболист от начинающих. Соревнования в МФТИ. Android & Arduino & Bluetooth
(+13) Создание калькулятора чаевых на Kotlin: как это работает?
(+10) Cloud Firestore + Android это просто
(+3) Как работать с ViewPager2
(+1) Как в Android’е передать переменную из фрагмента в активность?
• Вышла Android Studio 3.4
• Запускается новый Indie Games Accelerator
• Google сделает общение с разработчиками Play более человечным
imageКак распространять Android-библиотеки
image«В первую очередь офлайн» подход
imageОдин простой трюк, который сэкономит вам часы при разработке приложений для Android
imageСовременное время на Android
imageТестирование Espresso с Android Architecture Components
imageКастомная галерея для Android
image976d3e38a34b003f86f91795524af9f8.gifВидео Droidcon Italy 2019
imageИсправление утечек памяти в 2019
imageУлучшение UI тестов с MockWebServer

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

(+27) Записки фрилансера: разработка первого React Native-приложения
(+12) Патенты в дизайне: часть первая (общие положения, примеры от Apple, Facebook)
(+8) Визуальный редактор логики для Unity3d. Часть 1
• Podlodka #107: Юридические риски
• Яндекс проведёт чемпионат по программированию
imageРуководство разработчика игр: как стать несчастным за 10 простых шагов
imageСоздание текстового игрового движка на C++ с нуля в ReactOS
imageDine Rite: исследование UX
imageКак наш редизайн позволил вырасти в 10 раз за год: исследование UX
imageРуководство для начинающих разработчиков по написанию суперчистого и читабельного кода
imageРаспространенные ловушки разработки, с которыми даже senior-ы сталкиваются
imageМои советы UX-дизайнерам к их первой работе
imageЯрость против кода: программисты и негатив
imageПочему программные проекты занимают больше времени, чем вы думаете — статистическая модель
imageПриложение для продуктивности Goalful: исследование UX
image21 сайт для бесплатного изучения программирования
imageКак сделать круглый слайдер во Flutter
imageПервый взгляд на firstBorn — новую библиотеку компонентов React Native
image5 советов по улучшению навигации в продукте/сервисе
imageСоздание UI для мобильного приложения YouTube в React Native
imageHistorical Source: исходники классических игр Infocom

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

(+16) WhatsApp на ладони: где и как можно обнаружить криминалистические артефакты?
• Видеоблогеры как способ продвижения продукта
• Tencent получил 15% доходов всего игрового рынка
• Гороскопы — новая популярная категория рынка приложений
• Создание комюнити для вашей игры с нуля
• Dashlane: менеджер паролей и центр безопасности
• Как издать мобильную игру и не совершить ошибок
• Brawl Stars заработали $200 млн. за 4 месяца
• Мобильные игры — одна из лучших платформ для рекламы
• TikTok заблокировали в Индии
• Рекламодатели в России потратили 4 млрд рублей на мобильную видеорекламу в 2018 году
imageКак НЕ надо продвигать приложение

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

(+29) SMS-мониторинг веса трех ульев за 35$
(+29) Основы Natural Language Processing для текста
(+8) Mozilla WebThings — настройка шлюза
(+7) Mozilla WebThings на Raspberry Pi — начало работы
• Компания Mozilla представила платформу WebThings
• Microsoft купила разработчика RTOS для Интернета вещей
• Количество умных колонок почти удвоится за год
imageСоздание законченного веб-приложения с машинным обучением на React и Flask
imageМашинное обучение расширяет разрыв между знаниями и пониманием
imageПредсказание спроса на велосипеды с C# и ML.NET

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

© Habrahabr.ru