В этом выпуске новый Android 11, открытая палеонтология, удаленная работа и проектирование темных тем, загадочное уведомление «1» от Samsung и разработка игр в Иране. С праздником!
![](https://habrastorage.org/r/w780q1/webt/em/er/u9/emeru9ivgjwy_lfaocrgbvodzbm.jpeg)
Версия сырая, в неё могли попасть не все готовящиеся фичи (что-то привлекательное небось припасли для Google I/O), и часть вещей до релиза ещё могут откатить обратно. Но всё равно же интересно разобраться, что нового! Наше расписание электричек смотрит в день 600 тысяч человек. Причём с каждым годом всё больше — через мобильное приложение. Мы подумали и решили сделать версию для часов.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
iOS
• (+16) VoiceOver на iOS: каждый контрол ведёт себя по-разному
• (+7) Сохранение логики фильтрации в Swift Combine. Часть 2
• (+4) Современный подход к тестированию локализации на iOS
• (+3) Применение статического анализатора кода SwiftLint в iOS мобильных приложениях банка
• Успешное проектирование приложения для iOS
•
Как создать Activity Ring на SwiftUI
•
Воссоздание неоморфизма на SwiftUI
•
Структуры данных в Swift
•
Добавляем, изменяем, перемещаем и перетаскиваем строки в списках со SwiftUI
•
Анимация в SwiftUI — 3D-вращение
•
Советы по производительности iOS, о которых вы, вероятно, не знали (от бывшего инженера Apple)
•
Все, что вы хотели знать о замыканиях в Swift
•
Нет, я клянусь, мое приложение для iOS не зависает при запуске!
•
Создание кастомных интерактивных push-уведомлений в iOS
•
Видео SwiftConf ’19
•
iOS 13 GUI: скриншоты и компоненты
•
FacebookLikeReaction: реакции, как в Facebook
Android
• (+9) Мне 14 и я решил разработать игру
• (+3) Торжественное переоткрытие Store: загрузка данных в Android с помощью корутин
• Google удалил более 600 приложений с 4.5 млрд. установок
• Google работает над “инкрементальной” файловой системой
• Как (Android) разработчику найти первую работу?
• Вышла Developer Preview версия Android 11
• Android Broadcast #7: «На старт! Внимание! Build!» Ускоряем Gradle
•
Использование view binding для замены findViewById
•
Тестируем первое правило lint для Android
•
Защищаем секреты в Android-проекте
•
Обработка файлов в коде после выхода Android 10
•
Разработка собственного Dynamic Feature
•
Использование foreground сервисов плана для выполнения длительных процессов в Android
•
Функциональная чистая архитектура в Android
•
Paleontologas: открытая палеонтология
•
Android Localization Library: простое переключение языков
•
Android OpenPush: открытые пуш-уведомления
Разработка
• (+23) Про удаленную работу
• (+17) Golang + Phaser3 = MMORPG — Делаем базу для бесконечной генерации мира
• (+7) CTO всея стартапа
• (+6) Артефакты для UX-ёров и команды: что это, зачем нужны и как выбрать
• (+4) Unity Analyzers теперь Open-Source
• (+1) Новое приложение ЕИС для мобильных – мучение или спасение для тех, кто ищет госзакупки?
• (0) Дружим React Native и Fastlane
• New.HR Podcast: Профессия: Тестировщик
• Podlodka #151: ТРИЗ
• Microsoft выпустит свой антивирус для iOS и Android
• Приложения для обучения программированию: 7 вариантов для iOS и Android
• Range: управление процессами в команде
• Пять способов развиваться и качественно писать код, когда всем плевать
• Особенности проектирования темной темы
• Телефоны с большими дисплеями: вызов для UX-дизайнера (и человеческих рук)
• Как я создавал приложение для коммуникации жильцов с управляющей компанией
• Кейс о дизайне планшетного приложения: снять скептицизм и расположить пользователей к продукту
• Memose — нескучное приложение для изучения языка
• Приложения для радио: удобство для слушателей и сжатые сроки разработки
•
Расчет числа Пи: моя попытка побить мировой рекорд
•
Настройка CI/CD во Flutter с помощью Codemagic
•
9 хитростей, чтобы программировать более продуктивно
•
Как разрабатывать мобильные приложения, которые выживают без сети
•
Ваш баланс $0.30000000004
•
9 лучших практик при разработке дашборда
•
Hearthstone – эффект параллакса на Unity
•
React Native встречает SwiftUI
•
Как разработчику торговаться за зарплату
•
Как стать продуктивным «с 9 до 5» программистом
•
Flutter для SwiftUI разработчиков
•
Группа бывших инженеров NSA и Amazon создает «GitHub для данных»
Аналитика, маркетинг и монетизация
• (+5) Интернационализация: как вывести продукт на международный рынок (и не сойти с ума)
• Adjust запускает Control Center для управления мобильной рекламой
• Как сделать приложения «умными»: последние тренды от Google
• Samsung разослал всем пуш-уведомление «1»
• Сервис для женского здоровья и планирования семьи Maven получил $45 млн.
• SimSim: видео eCommerce из Индии
• Приложение для медитации Headspace получило $93 млн.
• Как 5М геймеров обратить в зомби? Продвижение мобильной игры Age of Z командой Adsup
• В магазине Aptoide нашли поддельные приложения
• HQ Trivia закрылась
•
Разработка видеоигр в Иране: ограниченные инструменты, подставные компании и призрак войны
AI, Устройства, IoT
• (+72) Self-driving ГАЗ66 Monster Truck 1/16
• (+31) Молчание вентиляторов. Google Colab, Javascript и TensorflowJS
• (+23) Как мы предсказываем будущее в поиске Яндекса: от исправления ошибок до discovery-запросов
• (+22) Contact Center AI: третий участник в разговоре – это нормально
• (+13) 5 бесплатных курсов для ИИ-инженеров от Microsoft
• HTC представила новые VR-гарнитуры и очки
• Uber открыл Manifold — инструмент для визуальной отладки моделей машинного обучения
• Nokia планирует выпустить первый кнопочный телефон на Android
•
Обнаружение животных на заднем дворе — практическое применение глубокого обучения
•
70+ наборов данных для машинного обучения и идеи проектов — работа над проектами Data Science в режиме реального времени
•
4 примера мобильного машинного обучения, чтобы вдохновить ваш следующий проект
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
![](https://habrastorage.org/webt/em/er/u9/emeru9ivgjwy_lfaocrgbvodzbm.jpeg)
Версия сырая, в неё могли попасть не все готовящиеся фичи (что-то привлекательное небось припасли для Google I/O), и часть вещей до релиза ещё могут откатить обратно. Но всё равно же интересно разобраться, что нового! Наше расписание электричек смотрит в день 600 тысяч человек. Причём с каждым годом всё больше — через мобильное приложение. Мы подумали и решили сделать версию для часов.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
![](https://habrastorage.org/webt/5e/k7/bf/5ek7bfhjzilma-pbharuioaa7lw.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• (+16) VoiceOver на iOS: каждый контрол ведёт себя по-разному
• (+7) Сохранение логики фильтрации в Swift Combine. Часть 2
• (+4) Современный подход к тестированию локализации на iOS
• (+3) Применение статического анализатора кода SwiftLint в iOS мобильных приложениях банка
• Успешное проектирование приложения для iOS
•
![](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/getpro/habr/post_images/976/d3e/38a/976d3e38a34b003f86f91795524af9f8.gif)
•
![](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/e1a/3cf/2a8/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png)
• (+9) Мне 14 и я решил разработать игру
• (+3) Торжественное переоткрытие Store: загрузка данных в Android с помощью корутин
• Google удалил более 600 приложений с 4.5 млрд. установок
• Google работает над “инкрементальной” файловой системой
• Как (Android) разработчику найти первую работу?
• Вышла Developer Preview версия Android 11
• Android Broadcast #7: «На старт! Внимание! Build!» Ускоряем Gradle
•
![](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/getpro/habr/post_images/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
• (+23) Про удаленную работу
• (+17) Golang + Phaser3 = MMORPG — Делаем базу для бесконечной генерации мира
• (+7) CTO всея стартапа
• (+6) Артефакты для UX-ёров и команды: что это, зачем нужны и как выбрать
• (+4) Unity Analyzers теперь Open-Source
• (+1) Новое приложение ЕИС для мобильных – мучение или спасение для тех, кто ищет госзакупки?
• (0) Дружим React Native и Fastlane
• New.HR Podcast: Профессия: Тестировщик
• Podlodka #151: ТРИЗ
• Microsoft выпустит свой антивирус для iOS и Android
• Приложения для обучения программированию: 7 вариантов для iOS и Android
• Range: управление процессами в команде
• Пять способов развиваться и качественно писать код, когда всем плевать
• Особенности проектирования темной темы
• Телефоны с большими дисплеями: вызов для UX-дизайнера (и человеческих рук)
• Как я создавал приложение для коммуникации жильцов с управляющей компанией
• Кейс о дизайне планшетного приложения: снять скептицизм и расположить пользователей к продукту
• Memose — нескучное приложение для изучения языка
• Приложения для радио: удобство для слушателей и сжатые сроки разработки
•
![](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/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/getpro/habr/post_images/509/dc9/bde/509dc9bde69347ecbe0c21ff2973d7e7.jpg)
• (+5) Интернационализация: как вывести продукт на международный рынок (и не сойти с ума)
• Adjust запускает Control Center для управления мобильной рекламой
• Как сделать приложения «умными»: последние тренды от Google
• Samsung разослал всем пуш-уведомление «1»
• Сервис для женского здоровья и планирования семьи Maven получил $45 млн.
• SimSim: видео eCommerce из Индии
• Приложение для медитации Headspace получило $93 млн.
• Как 5М геймеров обратить в зомби? Продвижение мобильной игры Age of Z командой Adsup
• В магазине Aptoide нашли поддельные приложения
• HQ Trivia закрылась
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• (+72) Self-driving ГАЗ66 Monster Truck 1/16
• (+31) Молчание вентиляторов. Google Colab, Javascript и TensorflowJS
• (+23) Как мы предсказываем будущее в поиске Яндекса: от исправления ошибок до discovery-запросов
• (+22) Contact Center AI: третий участник в разговоре – это нормально
• (+13) 5 бесплатных курсов для ИИ-инженеров от Microsoft
• HTC представила новые VR-гарнитуры и очки
• Uber открыл Manifold — инструмент для визуальной отладки моделей машинного обучения
• Nokia планирует выпустить первый кнопочный телефон на Android
•
![](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)
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.