В новом дайджесте трудности перевода приложений и импакт-анализ, Force Update и тренды Android-разработки, шрифты в играх и история игрового композитора, экраны загрузки, использование приложений, GitHub Actions и многое другое!

У нас есть Telegram-канал Mobile Insights, где подборки статей и новостей выходят каждый день, а так же AppFiles с библиотеками и самыми интересными статьями о мобильной разработке!
iOS
• 15 стран, 9 языков: трудности перевода одного iOS-приложения
• Почему я против enum
• Восемь вопросов от iOS-разработчиков на собесах в hh.ru
• Повышаем FPS приложений
• Развитие способностей коллекций в Swift (на примере функции suffix)
• Обзор решений для навигации в iOS
• Автор iBeer поделился тем, как зарабатывал до $20K в ранние дни App Store
• Обновлен App Store Connect API
• Разработчики жалуются на недоступность iCloud
• Apple опубликовала данные о принятии iOS 15
• Оптимизация рендера в iOS: frame buffer, Render Server, FPS, CPU vs GPU
• Идентификаторы элементов в XCUITest
• «Горячие» и «холодные» Feature toggles: принципы работы
• iPhone смогут принимать платежи для бизнеса
•
Программирование Auto Layout в примерах
•
Раскрашивание логов Xcode для улучшения понимания
•
Сокращение времени сборки на 50%
•
Themes, Elements и Structure в SwiftUI
•
Лучшие практики модульных тестов в Xcode и Swift
•
Поддержка async/await в качестве владельца модуля
•
Устраняем «массивные AppDelegate» в iOS
•
Анимации внутри ScrollView с SwiftUI
•
Управление Core Image Filter Processing с параллелизмом в Swift
•
Создаем гибкий пикер с помощью SwiftUI
•
Переосмысливаем Координаторы в iOS
•
4 малоизвестные функции Swift
•
Автоматический повтор асинхронных задач Swift
•
Интеграция RxSwift как XCFramework с CocoaPods
•
Skailer: плеер в неоморфизме на SwiftUI
•
Swimat: форматирование Swift-кода
Android
• Импакт-анализ на примере Android-проекта
• Android Broadcast. Тренды Android разработки в 2022
• «Ваше приложение нарушает правила Google Play»: сводки из ада
• Введение в Jetpack DataStore
• Вышла Android Studio Bumblebee (2021.1.1)
• Android 12. Splash Screen API. Делаем анимированный экран загрузки
• Android Studio. Kotlin. Динамическая подгрузка данных в список RecyclerView
•
Объяснение монад в Kotlin
•
Аутентификация на Android с помощью библиотеки AppAuth
•
Как создать Bottom Navigation, как Pinterest
•
Введение в Jetpack DataStore
•
Использование Hilt на полную — наша история успеха!
•
Традиционный MVVM с Jetpack Compose и StateFlow
•
Как я использую шаблон Фабричный метод в Android-разработке
•
Дорожная карта для Android-разработчиков на 2022 год: часть 1
•
Анимации в Jetpack Compose с примерами
•
Повторяем уведомления ежедневно в определенное время в Android
•
Ваши глубокие ссылки могут быть неработающими: Web Intent-ы и Android 12
•
Чем отличается Kotlin?
•
Начинаем маленькими шагами работу с GraphQL для Android</a
•
Butterfly: адаптивный и отзывчивый UI для Android
•
Faradle: Wordle на Jetpack Compose
•
WindowState: состояние складывающихся окон для Jetpack Compose
Разработка
• Шрифты в играх: как из 191 Мб сделать 12 Мб
• Исправление снижения производительности до того, как оно произойдет
• От идеи до игры за 24 часа
• Как стать игровым композитором: поиск себя, нетворкинг и везение
• Внутриигровые эмодзи: как мы создаем анимации для Rush Royale
• Мифы и легенды о тестировании
• Особенности сканирования штрих-кодов в средней полосе России
• Как меня разорили мои облачные расходы
• Force Update — механизм принудительного обновления мобильных приложений
• Набор правил для общения между разработчиком и QA инженером
• Схематичное отображение машин на маршруте
• Psion PDA — как он выглядит сегодня?
• С чего начать учить Android и iOS? Ошибки новичков в мобильной разработке
• Podlodka #252: теория игр
• VK запускает программу стажировки
• Программисты и сисадмины наиболее часто преданы своей профессии
• Учебный курс по GitHub Actions
• Andromeda могла стать собственной ОС Microsoft для Surface Duo
•
Поддержка бэкенда продуктов, которые обслуживают миллионы пользователей по всему миру
•
Flutter: работа кода в фоновом режиме
•
Как мы запускаем новые продуктовые команды
•
Если вы хотите масштабировать свое приложение, узнайте, как использовать асинхронность
•
Редизайн RedBus: кейс UI/UX
•
Собеседование с 20-летним Senior-разработчиком. Шутка или новая реальность?
Аналитика, маркетинг и монетизация
• Количество используемых приложений снизилось
• Как мы подняли ретеншн третьего дня на 30% у североамериканских игроков в World of Tanks Blitz
• Как пользовались приложениями во время новогодних праздников?
• Apple Search Ads начала поддерживает продуктовые страницы
• Apple запустила кастомные промо-коды для подписок
• Самые зарабатывающие приложения декабря в США
• Как продолжить расти после хайпа с помощью продуктовой аналитики (качать retention) — кейс QuizUp
• Победить хаос в аналитике продукта, если раньше этим не занимались. Кейс фото-приложения VSCO
• В Google Play появится раздел «Предложения»
AI, Устройства, IoT
• Операционная система Phantom от российского разработчика: возможности и нюансы
• Kincony KC868-A4: ультимативный гайд. Часть 1. Обзор и железо
• Векторное представление товаров Prod2Vec: как мы улучшили матчинг и избавились от кучи эмбеддингов
• $35 млн в Серии B: Censys — защита IoT и облака
? Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.

У нас есть Telegram-канал Mobile Insights, где подборки статей и новостей выходят каждый день, а так же AppFiles с библиотеками и самыми интересными статьями о мобильной разработке!

• 15 стран, 9 языков: трудности перевода одного iOS-приложения
• Почему я против enum
• Восемь вопросов от iOS-разработчиков на собесах в hh.ru
• Повышаем FPS приложений
• Развитие способностей коллекций в Swift (на примере функции suffix)
• Обзор решений для навигации в iOS
• Автор iBeer поделился тем, как зарабатывал до $20K в ранние дни App Store
• Обновлен App Store Connect API
• Разработчики жалуются на недоступность iCloud
• Apple опубликовала данные о принятии iOS 15
• Оптимизация рендера в iOS: frame buffer, Render Server, FPS, CPU vs GPU
• Идентификаторы элементов в XCUITest
• «Горячие» и «холодные» Feature toggles: принципы работы
• iPhone смогут принимать платежи для бизнеса
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• Импакт-анализ на примере Android-проекта
• Android Broadcast. Тренды Android разработки в 2022
• «Ваше приложение нарушает правила Google Play»: сводки из ада
• Введение в Jetpack DataStore
• Вышла Android Studio Bumblebee (2021.1.1)
• Android 12. Splash Screen API. Делаем анимированный экран загрузки
• Android Studio. Kotlin. Динамическая подгрузка данных в список RecyclerView
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• Шрифты в играх: как из 191 Мб сделать 12 Мб
• Исправление снижения производительности до того, как оно произойдет
• От идеи до игры за 24 часа
• Как стать игровым композитором: поиск себя, нетворкинг и везение
• Внутриигровые эмодзи: как мы создаем анимации для Rush Royale
• Мифы и легенды о тестировании
• Особенности сканирования штрих-кодов в средней полосе России
• Как меня разорили мои облачные расходы
• Force Update — механизм принудительного обновления мобильных приложений
• Набор правил для общения между разработчиком и QA инженером
• Схематичное отображение машин на маршруте
• Psion PDA — как он выглядит сегодня?
• С чего начать учить Android и iOS? Ошибки новичков в мобильной разработке
• Podlodka #252: теория игр
• VK запускает программу стажировки
• Программисты и сисадмины наиболее часто преданы своей профессии
• Учебный курс по GitHub Actions
• Andromeda могла стать собственной ОС Microsoft для Surface Duo
•

•

•

•

•

•


• Количество используемых приложений снизилось
• Как мы подняли ретеншн третьего дня на 30% у североамериканских игроков в World of Tanks Blitz
• Как пользовались приложениями во время новогодних праздников?
• Apple Search Ads начала поддерживает продуктовые страницы
• Apple запустила кастомные промо-коды для подписок
• Самые зарабатывающие приложения декабря в США
• Как продолжить расти после хайпа с помощью продуктовой аналитики (качать retention) — кейс QuizUp
• Победить хаос в аналитике продукта, если раньше этим не занимались. Кейс фото-приложения VSCO
• В Google Play появится раздел «Предложения»

• Операционная система Phantom от российского разработчика: возможности и нюансы
• Kincony KC868-A4: ультимативный гайд. Часть 1. Обзор и железо
• Векторное представление товаров Prod2Vec: как мы улучшили матчинг и избавились от кучи эмбеддингов
• $35 млн в Серии B: Censys — защита IoT и облака
? Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.