Маркетинг и монетизация
Дайджест интересных материалов для мобильного разработчика #290 (20-26 января)
В новом дайджесте — локализация и гиперкубы, библиотеки и декларативные фреймворки, приложения, чтобы побороть зависимость от приложений, Flutter, Unity, подписки, AI для поиска уязвимостей в коде и многое другое.
Локализация приложений: как мы подружили перевод и разработку
В этой статье я расскажу, как мы выстроили процесс локализации, как подходим к контролю качества, как релизим переводы в зависимости от платформы, и главное — как мы добились того, что разработчики хорошо отзываются о нашей системе переводов.
Гиперкуб. Как мы обеспечили разработчиков тестовыми устройствами и не потеряли их
Невозможно полноценно тестировать и отлаживать мобильные приложения без тестовых устройств. Таких устройств должно быть много, потому что один и тот же код на разных моделях ведёт себя по-разному. Но как организовать учёт устройств? Как сделать так, чтобы разработчики и тестировщики быстро и без волокиты получали конкретный смартфон в необходимой конфигурации?
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в Telegram-канале.
iOS
- Swift Property Wrappers
- 20 библиотек для эффектного iOS-приложения
- Бардак на старте: постмортем на скорость запуска iOS-приложения
- Проблемы архитектуры в больших проектах
- Валидация данных в iOS приложениях
- Swift: Контейнеры для хранения значений по ключу
- Вариант работы с вебсокетами в iOS на языке Swift
- Apple ограничивает использование HTML5
- СтрижПИ, или SwiftUI на практике
- Как в два счёта профукать подписку на Apple Membership (и быстро её вернуть)
- Десять заповедей iOS-разработки
- Можете ли вы ответить на этот простой вопрос о Swift правильно?
- Лучшие iOS-приложения с Interaction-Driven дизайном
- Машинное обучение на устройстве с помощью SwiftUI и PyTorch Mobile
- SwiftUI: создание листаемых карточек в стиле Tinder
- Лучший способ убедиться, что ваш Swift-код больше никогда не сбойнет
- Что нового в Watch OS 6?
- Асинхронное программирование в Swift с Future и Promise
- Показ HTML-кода с картинкой в UILabel и определение нажатия на нее
- Swift: подсказки по распространенным задачам
- SwiftUI — использование Xcode 11 Canvas
- Распознавание речи и синтез речи на iOS со Swift
- Реализация контекстных меню в iOS 13 с использованием SwiftUI или UIKit
- VVVVVV для iOS и tvOS
Android
- Инкрементальный annotation proccesing для ускорения gradle-сборок
- Починить, хакнуть, раскопать. Решаем онлайн-квест Droid Mission
- Практичные способы маппинга данных в Kotlin
- Внешняя компонента для 1С Мобильной платформы (BroadcastReceiver)
- Google I/O 2020 пройдет 12-14 мая
- Microsoft выпустила SDK для смартфона с двумя экранами Surface Duo
- Google выпустил новые приложения, чтобы побороть зависимость от смартфонов
- Android Developer Roadmap 2019: карта навыков и модель развития Android-разработчика
- Welltory удалили из Google Play
- Руководство по Jetpack Compose
- Троян Shopper скачивает приложения и оставляет отзывы в Google Play
- Изменение типов в Kotlin с typealias
- Динамическое изменение темы с помощью круговой анимации на Android
- KotlinConf 2019: что нового в Java 19: Конец Kotlin?
- Компонент JetPack Navigation в Android
- Нулевая стоимость абстракции в Kotlin
- Как использовать табы в Jetpack Compose?
- Лучшие горячие клавиши Android Studio
- SharedPreferences в Android
- Квест Google I/O 2020
- KotlinMultiPlatform: кроссплатформенная погода на Kotlin
- RateBottomSheet: предложение оценить приложение
Разработка
- Простой зомби-шутер на Unity
- Физика для мобильного PvP шутера, или как мы из двумерной игру в трёхмерную переделывали
- Flutter. Часть 3. Для разработчиков React Native
- Движок, скриптовый язык и визуальная новелла — за 45 часов
- Особенности реализации динамических списков в пользовательских интерфейсах
- Основы левел-дизайна: эффект течения или как не дать заскучать игроку
- Любовь в ненависть indie gamedev’a
- Книга “Разработка мобильных приложений на C# для iOS и Android”
- Как я делал 2D тени в Unity
- Моя первая html5 игра, от Алисы Яндекса и победах в премии до мобильных приложений
- Оптимизация 3D-моделей для игровой сцены
- Мобильная разработка — это просто и скучно? Доклад Яндекса
- Пишем шейдеры кодом в Unity LWRP
- Визуальный редактор логики для Unity3d. Часть 2
- Разработка UI: кого слушать — себя или пользователя?
- Podlodka #147: Web-фреймворки
- Подождите, операция выполняется. Как главный факап в истории «Сбербанка Онлайн» изменил компанию
- Минэкономики предлагает создать российский аналог GitHub
- Основы иерархии в дизайне интерфейса
- Геймификация: что и почему это работает, часть первая
- Чему (почти) 2 года Flutter научили меня
- 8 трендов UI-дизайна на 2020 год
- 21 способ быть плохим разработчиком
- 7 способов быть хорошим разработчиком
- Как измерить свои навыки UX-дизайна?
- Nebula — открытый глоабльный сетевой стек от Slack
- 9 советов, как быстро улучшить дизайн приложения
- 5 принципов дизайна для лучших продуктов
- Видео Mobiconf 2019
- LaunchDarkly: управление фичами
Аналитика, маркетинг и монетизация
- Вступление в работу с возвратом пользователя: советы для Hooked-модели
- Отчет App Annie за 2019 год: взгляд в прошлое, заметки на будущее
- Подписки в приложениях в США выросли в 2019 на 21% до $4.6 млрд
- Игры Niantic принесли $249 млн. туристического дохода
- Стикеры Venmo
- ФАС определила список приложений для предустановки
- Реклама в приложении: чеклист
- Вышла книга о локализации и культурализации игр
- Расходы на мобильную рекламу в России вырастут на 22.2%
- Snyk получил новые инвестиции и стал единорогом
- AppsFlyer получил новые инвестиции в $210 млн.
- Ты водишь! AR-игры в сториз — главный тренд 2019 года
- «Додо Пицца» купила «Где Шаверма»
- Гонка Slack, Microsoft Teams и Workplace: одна интрига умерла, новая зародилась
- 1000 установок игры за 2 дня с помощью TikTok
- Лучше понимаем игроков с помощью аффинити обучения
- Как бороться с мошенническим шпионским ПО на Facebook?
- Проблемы ASO для мобильных игр в 2020 году
AI, Устройства, IoT
- SVM. Объяснение с нуля, имплементация и подробный разбор
- Хватит всё подряд называть ИИ
- GitHub начал использовать AI для рекомендации задач
- Uber собрал один из самых впечатляющих стеков глубокого обучения с открытым исходным кодом
-
Разработка1 месяц назад
Разработка, управляемая тестами (TDD), для исправления ошибок
-
Исследования1 месяц назад
Приложения с подпиской 2024 — отчет RevenueCat
-
Разработка1 месяц назад
Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 1
-
Статьи1 месяц назад
Что такое состояние гонки (race condition)