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

Очередной выпуск рассказывает про морок функционального программирования, солидный Swift для солидных программистов, дорожную карту Android-разработки, стабильность модного приложения, путаницу переключателей и многое другое.

khny3i-spzxvunslvdt38ozs0ck.png

Уметь программировать в функциональном стиле полезно, чтобы упрощать себе работу, и сейчас мы посмотрим, как этим воспользоваться! Нам самим не верится, но мы записали сто выпусков, и это отличный повод отметить в кругу старых друзей.

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

f1930ac4945596eb9707bc7a01bc5bdc.pngiOS

(+7) Сила дженериков в Swift. Часть 1
(+36) Челобитная в Apple
• Apple расширила программу поиска уязвимостей и увеличила премию до $1 млн.
• ФАС возбудила дело против Apple по заявлению «Лаборатории Касперского» + Ответ Apple
• В iOS 13 ограничат фоновую работу VoIP
• Юнит-тестирование асинхронного кода в Swift
• Combine против RxSwift: стоит ли переключиться на Combine?
377ae0333d0f4b7b97307c9eea5ee21a.gifSOLID-ный Swift
377ae0333d0f4b7b97307c9eea5ee21a.gifХаки, делающие работу с Xcode проще
377ae0333d0f4b7b97307c9eea5ee21a.gifСоздаем приложение для распознавания номеров для iOS
377ae0333d0f4b7b97307c9eea5ee21a.gifБольшие View Controller-ы или плохой стиль программирования?
377ae0333d0f4b7b97307c9eea5ee21a.gifКак сделать Siri Shortcuts
377ae0333d0f4b7b97307c9eea5ee21a.gifСоздание FAB на SwiftUI

e1a3cf2a8b65a0da69bbdd5c0ad040fe.pngAndroid

(+27) Видео докладов с Summer Droid Meetup
(+26) Отчет Kotlin / Everywhere — Showcase practice: 31 июля
(+12) Дорожная карта Android-разработчика в 2019 году
(+11) Android Environments
(+8) Hunt the Wumpus или опыт написания классической игры для Android
• Вышла последняя бета Android Q
377ae0333d0f4b7b97307c9eea5ee21a.gifМнение Android-разработчика: Flutter выглядит хорошо, но работать с ним больно
377ae0333d0f4b7b97307c9eea5ee21a.gifГотовый шаблон приложения на Flutter
377ae0333d0f4b7b97307c9eea5ee21a.gifПринятие расширения маркировки памяти Arm в Android
377ae0333d0f4b7b97307c9eea5ee21a.gifПростые Android Preferences с Bulldog
377ae0333d0f4b7b97307c9eea5ee21a.gifРисование Android Canvas: полезные классы и операции
377ae0333d0f4b7b97307c9eea5ee21a.gifReact Native: от установки expo до Google Play Store
377ae0333d0f4b7b97307c9eea5ee21a.gifЮнит-тестирование в Android с JUnit5
377ae0333d0f4b7b97307c9eea5ee21a.gifShark: умные отчеты для анализа кучи для Kotlin
377ae0333d0f4b7b97307c9eea5ee21a.gifЧистая архитектура для Android
377ae0333d0f4b7b97307c9eea5ee21a.gifДелаем игру «виселица» для Android
377ae0333d0f4b7b97307c9eea5ee21a.gifMVI: хороший, плохой, злой
377ae0333d0f4b7b97307c9eea5ee21a.gifGoogle Play и автоматическое развертывание с AAB
377ae0333d0f4b7b97307c9eea5ee21a.gifРуководство по миграции на Dagger 2.24
96716bcb926741e79bb1c284a88083ca.pngSign In with Apple Button for Android: авторизация в Apple для Android
96716bcb926741e79bb1c284a88083ca.pngMyS3Chat: open source чат для Android
96716bcb926741e79bb1c284a88083ca.pngQuirk: открытое приложение для КПТ
96716bcb926741e79bb1c284a88083ca.pngBourbon Engine: UI из JSON

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

(+34) Ограничения 8-битных игр и их точное воссоздание в Unity
(+26) Автоверстка и стили в Unity: наш новый пайплайн и инструменты для UI
(+16) Как мы поддерживаем стабильность приложения Lamoda
(+16) Шейдеры интерактивных карт в Unity
(+11) Flutter в примерах. Deep Links в приложениях на Flutter
(+6) Цифровая трансформация обучения и аттестации полевых сотрудников
(+6) Секреты, советы, запреты: как создать крутой экшен для Google Ассистента
• Huawei представил Harmony OS
• Podlodka #123: Голосовые ассистенты
• Опираться на данные? Если хотите быть креативным, то не надо!
• Почему кнопки переключения (Toggle Buttons) сбивают с толку
• Шрифт New York от Apple с засечками: что это значит для веб-дизайна
377ae0333d0f4b7b97307c9eea5ee21a.gif976d3e38a34b003f86f91795524af9f8.gif5 лучших советов о том, как начать инди разработку игр
377ae0333d0f4b7b97307c9eea5ee21a.gifPill Trakk: напоминание о приеме лекарств — исследование UX
377ae0333d0f4b7b97307c9eea5ee21a.gifРазница между Junior, Mid-Level и Senior разработчиком
377ae0333d0f4b7b97307c9eea5ee21a.gifBooking.com — исследование UX
377ae0333d0f4b7b97307c9eea5ee21a.gif12 вещей для успешного пользовательского тестирования
377ae0333d0f4b7b97307c9eea5ee21a.gifЛучшие инструменты отслеживания быстродействия приложений
377ae0333d0f4b7b97307c9eea5ee21a.gifЯ написал скрипт для отправки сообщений родителям в WhatsApp за 20 строк кода на Python
377ae0333d0f4b7b97307c9eea5ee21a.gifМагия метапрограммирования

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

(+10) Как Крис Жуковский учился клиентской поддержке своих игр в аэропорту
• Медленный и дорогой процесс масштабирования приобретения пользователей
• IKEA выпустила приложение для развития экологических привычек
• Journey вышла на iOS
• Facebook подал в суд на разработчиков за фрод
• FairBid — новая платформа медиации от Fyber
• Babylon Health: медицинские чат-боты на $2 млрд
• ВКонтакте запускает свой дейтинг Lovina
• Начата работа над Monument Valley 3
• Дело о Маленьких и Больших Буквах
• Увеличить количество пользователей со 100 тысяч до 2 млн за семь лет: техники роста языкового сервиса Duolingo
377ae0333d0f4b7b97307c9eea5ee21a.gifРуководство по размеру скриншотов для App Store и Google Play 2019
377ae0333d0f4b7b97307c9eea5ee21a.gifКак мы в 3 раза увеличили органические установки за 30 дней с помощью ASO
377ae0333d0f4b7b97307c9eea5ee21a.gif7 шагов для понимания поведения пользователей: глубокое погружение
377ae0333d0f4b7b97307c9eea5ee21a.gifПреимущества push-уведомлений

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

(+43) ShIoTiny: малая автоматизация, интернет вещей или «за полгода до отпуска»
(+23) Нейросети и глубокое обучение, глава 5: почему глубокие нейросети так сложно обучать?
• Каждый десятый россиянин потратил более 20,000 рублей на технологии «умного дома»
• Qualcomm и Tencent создают игровые смартфоны
377ae0333d0f4b7b97307c9eea5ee21a.gifКускус или не кускус — решаем с помощью CoreML

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

© Habrahabr.ru