Очередной выпуск рассказывает про морок функционального программирования, солидный Swift для солидных программистов, дорожную карту Android-разработки, стабильность модного приложения, путаницу переключателей и многое другое.
![](https://habrastorage.org/webt/kh/ny/3i/khny3i-spzxvunslvdt38ozs0ck.png)
Уметь программировать в функциональном стиле полезно, чтобы упрощать себе работу, и сейчас мы посмотрим, как этим воспользоваться! Нам самим не верится, но мы записали сто выпусков, и это отличный повод отметить в кругу старых друзей.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
iOS
• (+7) Сила дженериков в Swift. Часть 1
• (+36) Челобитная в Apple
• Apple расширила программу поиска уязвимостей и увеличила премию до $1 млн.
• ФАС возбудила дело против Apple по заявлению «Лаборатории Касперского» + Ответ Apple
• В iOS 13 ограничат фоновую работу VoIP
• Юнит-тестирование асинхронного кода в Swift
• Combine против RxSwift: стоит ли переключиться на Combine?
•
SOLID-ный Swift
•
Хаки, делающие работу с Xcode проще
•
Создаем приложение для распознавания номеров для iOS
•
Большие View Controller-ы или плохой стиль программирования?
•
Как сделать Siri Shortcuts
•
Создание FAB на SwiftUI
Android
• (+27) Видео докладов с Summer Droid Meetup
• (+26) Отчет Kotlin / Everywhere — Showcase practice: 31 июля
• (+12) Дорожная карта Android-разработчика в 2019 году
• (+11) Android Environments
• (+8) Hunt the Wumpus или опыт написания классической игры для Android
• Вышла последняя бета Android Q
•
Мнение Android-разработчика: Flutter выглядит хорошо, но работать с ним больно
•
Готовый шаблон приложения на Flutter
•
Принятие расширения маркировки памяти Arm в Android
•
Простые Android Preferences с Bulldog
•
Рисование Android Canvas: полезные классы и операции
•
React Native: от установки expo до Google Play Store
•
Юнит-тестирование в Android с JUnit5
•
Shark: умные отчеты для анализа кучи для Kotlin
•
Чистая архитектура для Android
•
Делаем игру “виселица” для Android
•
MVI: хороший, плохой, злой
•
Google Play и автоматическое развертывание с AAB
•
Руководство по миграции на Dagger 2.24
•
Sign In with Apple Button for Android: авторизация в Apple для Android
•
MyS3Chat: open source чат для Android
•
Quirk: открытое приложение для КПТ
•
Bourbon Engine: UI из JSON
Разработка
• (+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 с засечками: что это значит для веб-дизайна
•
5 лучших советов о том, как начать инди разработку игр
•
Pill Trakk: напоминание о приеме лекарств – исследование UX
•
Разница между Junior, Mid-Level и Senior разработчиком
•
Booking.com – исследование UX
•
12 вещей для успешного пользовательского тестирования
•
Лучшие инструменты отслеживания быстродействия приложений
•
Я написал скрипт для отправки сообщений родителям в WhatsApp за 20 строк кода на Python
•
Магия метапрограммирования
Аналитика, маркетинг и монетизация
• (+10) Как Крис Жуковский учился клиентской поддержке своих игр в аэропорту
• Медленный и дорогой процесс масштабирования приобретения пользователей
• IKEA выпустила приложение для развития экологических привычек
• Journey вышла на iOS
• Facebook подал в суд на разработчиков за фрод
• FairBid – новая платформа медиации от Fyber
• Babylon Health: медицинские чат-боты на $2 млрд
• ВКонтакте запускает свой дейтинг Lovina
• Начата работа над Monument Valley 3
• Дело о Маленьких и Больших Буквах
• Увеличить количество пользователей со 100 тысяч до 2 млн за семь лет: техники роста языкового сервиса Duolingo
•
Руководство по размеру скриншотов для App Store и Google Play 2019
•
Как мы в 3 раза увеличили органические установки за 30 дней с помощью ASO
•
7 шагов для понимания поведения пользователей: глубокое погружение
•
Преимущества push-уведомлений
AI, Устройства, IoT
• (+43) ShIoTiny: малая автоматизация, интернет вещей или «за полгода до отпуска»
• (+23) Нейросети и глубокое обучение, глава 5: почему глубокие нейросети так сложно обучать?
• Каждый десятый россиянин потратил более 20,000 рублей на технологии «умного дома»
• Qualcomm и Tencent создают игровые смартфоны
•
Кускус или не кускус – решаем с помощью CoreML
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
![](https://habrastorage.org/webt/kh/ny/3i/khny3i-spzxvunslvdt38ozs0ck.png)
Уметь программировать в функциональном стиле полезно, чтобы упрощать себе работу, и сейчас мы посмотрим, как этим воспользоваться! Нам самим не верится, но мы записали сто выпусков, и это отличный повод отметить в кругу старых друзей.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
![](https://habrastorage.org/webt/5e/k7/bf/5ek7bfhjzilma-pbharuioaa7lw.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• (+7) Сила дженериков в Swift. Часть 1
• (+36) Челобитная в Apple
• Apple расширила программу поиска уязвимостей и увеличила премию до $1 млн.
• ФАС возбудила дело против Apple по заявлению «Лаборатории Касперского» + Ответ Apple
• В iOS 13 ограничат фоновую работу VoIP
• Юнит-тестирование асинхронного кода в Swift
• Combine против RxSwift: стоит ли переключиться на Combine?
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/e1a/3cf/2a8/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png)
• (+27) Видео докладов с Summer Droid Meetup
• (+26) Отчет Kotlin / Everywhere — Showcase practice: 31 июля
• (+12) Дорожная карта Android-разработчика в 2019 году
• (+11) Android Environments
• (+8) Hunt the Wumpus или опыт написания классической игры для Android
• Вышла последняя бета Android Q
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/708/1c6/34e/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 с засечками: что это значит для веб-дизайна
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/976/d3e/38a/976d3e38a34b003f86f91795524af9f8.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/509/dc9/bde/509dc9bde69347ecbe0c21ff2973d7e7.jpg)
• (+10) Как Крис Жуковский учился клиентской поддержке своих игр в аэропорту
• Медленный и дорогой процесс масштабирования приобретения пользователей
• IKEA выпустила приложение для развития экологических привычек
• Journey вышла на iOS
• Facebook подал в суд на разработчиков за фрод
• FairBid – новая платформа медиации от Fyber
• Babylon Health: медицинские чат-боты на $2 млрд
• ВКонтакте запускает свой дейтинг Lovina
• Начата работа над Monument Valley 3
• Дело о Маленьких и Больших Буквах
• Увеличить количество пользователей со 100 тысяч до 2 млн за семь лет: техники роста языкового сервиса Duolingo
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• (+43) ShIoTiny: малая автоматизация, интернет вещей или «за полгода до отпуска»
• (+23) Нейросети и глубокое обучение, глава 5: почему глубокие нейросети так сложно обучать?
• Каждый десятый россиянин потратил более 20,000 рублей на технологии «умного дома»
• Qualcomm и Tencent создают игровые смартфоны
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.