Очередной дайджест для мобильных разработчиков — рассказываем про бесконечный скролл, про ошибочную привязку карт, про обновления и потери, A/B-тестирование и сокращение рекламных доходов.
Каждый разработчик под мобильные платформы постоянно сталкивается с задачей, которая не решается одним единственным способом. Всегда есть несколько путей, — какие-то быстрые, какие-то сложные, — и у каждого свои достоинства и недостатки.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в Telegram-канале.
iOS
• (+13) Ошибка – это не UIAlertController
• (+10) Оптимизация времени сборки — Часть 1
• (+6) AppCode 2020.1: улучшения быстродействия, автодополнение до конца индексации, генерация документации и многое другое
• (+3) CoreData модель из кода. Или «Как обойтись без .XCDataModel» (Часть 1)
• (0) Валидация полей iOS — быстро и просто
• В iOS обнаружены 2 критические уязвимости
• Все, что вы хотели знать о функции Sign in with Apple
• Новый iPhone SE вызвал ажиотажный спрос
• Эффектная радужная анимация на SwiftUI
• Как сделать многострочное текстовое поле в SwiftUI
• Коллекция слайдеров для SwiftUI
• Использование TensorFlow.js в iOS-приложении для обнаружения объектов
• Баннер уведомления на SwiftUI
• Function Builders в Swift и SwiftUI
• Возвращаем пользователей в приложение: глубокие ссылки в iOS
• Распространение скомпилированных статических Swift-библиотек и статических фреймворков Swift
• GraphQL, Combine и SwiftUI
• Инъекция зависимостей в iOS на Swift с Swinject и SwinjectStoryboard
• Proton: лучший UITextView
Android
• (+4) ПШЕ AndroidStudio
• (+4) Android в промышленном контроллере
• (+3) Backend-Driven UI с помощью виджетов
• (+3) Получаем и переключаем WebVTT субтитры в ExoPlayer
• Встраиваем In-App Updates в приложение
• Вышла третья превью-версия Android 11
• Android Broadcast #14: Android инфраструктура Авито в Open Source
• Android Broadcast #13: Android SafetyNet. Надежно ли?
• Яндекс выпустил свой Android TV
• Как мы использовали Kotlin для создания приложения для мобильного дизайна
• Android Dev Podcast #112: Новости. Subscriptions best practices. Merge Adapter. LayoutInspector 3D. CameraX
• Google потребовала от разработчиков приложений чётко показывать стоимость и условия отмены подписки
• Сканирование QR с помощью CameraX
• Realtime Database против Firestore: 9 основных отличий
• Database Inspector
• One Tap sign in для Android-приложений
• Создаем плеер YouTube на Kotlin
• Как настроить биометрическую аутентификацию в Android
• Отмены в корутинах
• Кастомные Listener-ы в Android
• ProtonMail: защищенная почта
• Uber Car Animation Android: анимация машины
• Kiwi Browser: быстрый браузер для Android
Разработка
• (+53) Яндекс автоматически привязывает карту к другому аккаунту
• (+25) Рассказы разработчиков ваших любимых игр о том, чем они гордятся
• (+23) Как изгонять вирусов на Corona SDK
• (+19) Оптимизация рендера под Mobile, часть 2. Основные семейства современных мобильных GPU
• (+15) Создание интерфейса для игры
• (+12) Hive — быстрая локальная база для Flutter, Dart
• (+8) Ошибки, которые погубят проект любой сложности. Опыт менеджеров Redmadrobot
• (+4) Как тестировать на удаленке, чтобы не запороть продукт и свою жизнь
• Podlodka #160: Машинный перевод
• 500,000 разработчиков использует Flutter каждый месяц
• IT-отрасль может сократиться на 18–20 тыс. программистов
• Google объявил о доступности Cloud Healthcare API
• Как я потратил полгода на обновление приложения и потерял 10 тысяч пользователей
• Как сделать красивый Low Poly арт для игры (Blender, Unity)
• Если бы языки программирования имели честные слоганы
• Firebase Realtime Database и логин в систему для Android и iOS
• 7 шагов к тому, чтобы стать Моцартом программирования до конца карантина
• Миграция Flutter приложения в Web
• Audio Player for Flutter: плеер в стиле Apple Music
• 33 GitHub-репозитория для разработчиков мобильных приложений
Аналитика, маркетинг и монетизация
• (+44) Как перестать беспокоиться и начать верить A/B-тестам
• (+6) Большой гайд по A/B-тестированию
• (+6) Postman — Автотестирование метрики в AppMetrica
• (+3) 9 идей A/B-тестирования роликов для мобильных игр
• Суперпозиция аналитика: Парадоксы и когнитивные искажения. Как аналитику маневрировать в потоке данных.
• App Annie назвала самые популярные приложения среди россиян в период с января по апрель 2020 года
• В Epic Games сдались — Fortnite вышел в Google Play
• OneSignal запустил Advanced Analytics
• FunCorp: доходы от мобильной рекламы в марте упали на 50%
• Houseparty: видеоконференции с играми
• Откровенная история российского стартапа, который привлёк более $1 млн в приложение для детей
• Как продвигать приложение: полное руководство 2020
AI, Устройства, IoT
• (+57) Боремся с пробками в маленьком городе за небольшой бюджет: результаты 6 месяцев проекта
• (+18) Artefact: AR в музее глазами разработчика, аналитика, искусствоведа
• (+13) Базы данных в IIoT-платформе: как Mail.ru Cloud Solutions работают с петабайтами данных от множества устройств
• (+12) Object Detection. Распознавай и властвуй. Часть 2
• (+5) Ошибки при проектировании интерфейса VR, VR для дизайнеров интерфейсов
• (+4) Часто задаваемые вопросы о VR шлемах и играх
• Magic Leap увольняет половину сотрудников и уходит с потребительского рынка
• Искусственный интеллект Accenture, Sulubaii и Intel помогает сохранять коралловый риф
• Падение на рынке смартфонов в третьем квартале 2020 года составит не менее 40%
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Каждый разработчик под мобильные платформы постоянно сталкивается с задачей, которая не решается одним единственным способом. Всегда есть несколько путей, — какие-то быстрые, какие-то сложные, — и у каждого свои достоинства и недостатки.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в Telegram-канале.
iOS
• (+13) Ошибка – это не UIAlertController
• (+10) Оптимизация времени сборки — Часть 1
• (+6) AppCode 2020.1: улучшения быстродействия, автодополнение до конца индексации, генерация документации и многое другое
• (+3) CoreData модель из кода. Или «Как обойтись без .XCDataModel» (Часть 1)
• (0) Валидация полей iOS — быстро и просто
• В iOS обнаружены 2 критические уязвимости
• Все, что вы хотели знать о функции Sign in with Apple
• Новый iPhone SE вызвал ажиотажный спрос
• Эффектная радужная анимация на SwiftUI
• Как сделать многострочное текстовое поле в SwiftUI
• Коллекция слайдеров для SwiftUI
• Использование TensorFlow.js в iOS-приложении для обнаружения объектов
• Баннер уведомления на SwiftUI
• Function Builders в Swift и SwiftUI
• Возвращаем пользователей в приложение: глубокие ссылки в iOS
• Распространение скомпилированных статических Swift-библиотек и статических фреймворков Swift
• GraphQL, Combine и SwiftUI
• Инъекция зависимостей в iOS на Swift с Swinject и SwinjectStoryboard
• Proton: лучший UITextView
Android
• (+4) ПШЕ AndroidStudio
• (+4) Android в промышленном контроллере
• (+3) Backend-Driven UI с помощью виджетов
• (+3) Получаем и переключаем WebVTT субтитры в ExoPlayer
• Встраиваем In-App Updates в приложение
• Вышла третья превью-версия Android 11
• Android Broadcast #14: Android инфраструктура Авито в Open Source
• Android Broadcast #13: Android SafetyNet. Надежно ли?
• Яндекс выпустил свой Android TV
• Как мы использовали Kotlin для создания приложения для мобильного дизайна
• Android Dev Podcast #112: Новости. Subscriptions best practices. Merge Adapter. LayoutInspector 3D. CameraX
• Google потребовала от разработчиков приложений чётко показывать стоимость и условия отмены подписки
• Сканирование QR с помощью CameraX
• Realtime Database против Firestore: 9 основных отличий
• Database Inspector
• One Tap sign in для Android-приложений
• Создаем плеер YouTube на Kotlin
• Как настроить биометрическую аутентификацию в Android
• Отмены в корутинах
• Кастомные Listener-ы в Android
• ProtonMail: защищенная почта
• Uber Car Animation Android: анимация машины
• Kiwi Browser: быстрый браузер для Android
Разработка
• (+53) Яндекс автоматически привязывает карту к другому аккаунту
• (+25) Рассказы разработчиков ваших любимых игр о том, чем они гордятся
• (+23) Как изгонять вирусов на Corona SDK
• (+19) Оптимизация рендера под Mobile, часть 2. Основные семейства современных мобильных GPU
• (+15) Создание интерфейса для игры
• (+12) Hive — быстрая локальная база для Flutter, Dart
• (+8) Ошибки, которые погубят проект любой сложности. Опыт менеджеров Redmadrobot
• (+4) Как тестировать на удаленке, чтобы не запороть продукт и свою жизнь
• Podlodka #160: Машинный перевод
• 500,000 разработчиков использует Flutter каждый месяц
• IT-отрасль может сократиться на 18–20 тыс. программистов
• Google объявил о доступности Cloud Healthcare API
• Как я потратил полгода на обновление приложения и потерял 10 тысяч пользователей
• Как сделать красивый Low Poly арт для игры (Blender, Unity)
• Если бы языки программирования имели честные слоганы
• Firebase Realtime Database и логин в систему для Android и iOS
• 7 шагов к тому, чтобы стать Моцартом программирования до конца карантина
• Миграция Flutter приложения в Web
• Audio Player for Flutter: плеер в стиле Apple Music
• 33 GitHub-репозитория для разработчиков мобильных приложений
Аналитика, маркетинг и монетизация
• (+44) Как перестать беспокоиться и начать верить A/B-тестам
• (+6) Большой гайд по A/B-тестированию
• (+6) Postman — Автотестирование метрики в AppMetrica
• (+3) 9 идей A/B-тестирования роликов для мобильных игр
• Суперпозиция аналитика: Парадоксы и когнитивные искажения. Как аналитику маневрировать в потоке данных.
• App Annie назвала самые популярные приложения среди россиян в период с января по апрель 2020 года
• В Epic Games сдались — Fortnite вышел в Google Play
• OneSignal запустил Advanced Analytics
• FunCorp: доходы от мобильной рекламы в марте упали на 50%
• Houseparty: видеоконференции с играми
• Откровенная история российского стартапа, который привлёк более $1 млн в приложение для детей
• Как продвигать приложение: полное руководство 2020
AI, Устройства, IoT
• (+57) Боремся с пробками в маленьком городе за небольшой бюджет: результаты 6 месяцев проекта
• (+18) Artefact: AR в музее глазами разработчика, аналитика, искусствоведа
• (+13) Базы данных в IIoT-платформе: как Mail.ru Cloud Solutions работают с петабайтами данных от множества устройств
• (+12) Object Detection. Распознавай и властвуй. Часть 2
• (+5) Ошибки при проектировании интерфейса VR, VR для дизайнеров интерфейсов
• (+4) Часто задаваемые вопросы о VR шлемах и играх
• Magic Leap увольняет половину сотрудников и уходит с потребительского рынка
• Искусственный интеллект Accenture, Sulubaii и Intel помогает сохранять коралловый риф
• Падение на рынке смартфонов в третьем квартале 2020 года составит не менее 40%
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Bringoff
А как же эпический баг в Google Maps SDK, из-за которого крашились все приложения, использующие этот SDK, которые открывались в период, когда с сервера раздавался битый конфиг?
RoboForm
Согласен, упустил. Добавлю в своей версии, спасибо.