Маркетинг и монетизация
Дайджест интересных материалов для мобильного разработчика #291 (26 января-2 февраля)
В этом выпуске нашего дайджеста — бинарная совместимость, разбор SwiftUI, ошибки пиксель-арта, традиционный уже ад инди-разработчика, Flutter с нуля до прода, бесплатные книги и SDK для роботов. Добро пожаловать!
Бинарная совместимость Reaktive: как мы её обеспечиваем
Любая библиотека должна по возможности соблюдать бинарную совместимость. Если разные версии библиотеки в зависимостях несовместимы, то результатом будут краши в рантайме. С такой проблемой мы можем столкнуться, например, при добавлении поддержки Reaktive в MVICore.
Разбираемся с eSIM (+ интервью с экспертом)
Поговорим о eSIM (полное название embeddedSIM — то есть, встроенная SIM) — впаянных в гаджет (в отличие от привычных съёмных «симок») SIM-картах. Разберём, чем они лучше обычных SIM-карт и почему крупные мобильные операторы противодействуют внедрению новой технологии.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в Telegram-канале.
iOS
- SwiftUI по полочкам
- Apple сообщает о рекордных результатах за первый квартал
- Фишки Swift: двойное нажатие Apple Pencil
- Пошаговая инструкция по интеграции Apple Pay в ваше мобильное приложение
- Как создать карточку с видео на SwiftUI
- Интервал между символами в UILabel
- Реализация сервис-ориентированной архитектуры в Swift 5
- Пост мортем: сбой App Store 24.01.2020
- iOS 13: невоспетые герои 2019 года
- Маски и оверлеи в SwiftUI
- Превью ссылок в стиле Twitter для iOS-приложений на SwiftUI
- Лучшие практики безопасности для iOS-приложений
- 5 расширений Swift, которые упростят вам жизнь
- 13 быстрых клавиш Xcode для повышения вашей продуктивности
- Buildkite и Fastlane — iOS-разработчики станут лучше спать
- Реализация экрана поиска с использованием MVVM и RxSwift
- Instructions: руководства для пользователей на Swift
Android
- Расширения в Kotlin. Опасный атавизм или полезный инструмент?
- Как научить телефон видеть красоту
- Видео Google Play | Playtime 2019
- Фишки Kotlin: самое часто встречающееся значение
- Android Broadcast #5: Как стать крутым разработчиком
- История нашего большого переписывания Android-приложения
- Динамические экраны с использованием server-driven UI в Android
- Создание реактивного и гетерогенного адаптера в Kotlin
- Как реализовать темную тему на Android
- Корутины в Kotlin Coroutines: от простого к продвинутому
- Организация Kotlin-кода
- Безопасность Android-приложений: лучшие практики
- Android: как исправить серьезную проблему в LiveData
- Введение в анимацию с Jetpack Compose
- Android-NFC: работа с NFC на Android
Разработка
- Пиксель-арт для начинающих: исправляем типичные ошибки
- Как левел-дизайнеры используют приёмы теории архитектуры для создания игровых уровней
- Вывод внутриигровых сообщений с помощью Particle System
- Ад инди-разработчика или как довести свой проект до релиза и не застрелиться в процессе
- Весенняя стажировка для мобильных разработчиков в Redmadrobot
- Особенности установления соединения между участниками сетевой игры типа «равный к равному»
- Игра, управляемая лицом, в масках Инстаграм, или двойной клик глазами
- React Native: новая веха в мобильной разработке Shopify
- 7 этапов эволюции тестирования в компании
- Как я изучал Flutter или meows.app с 0 до прода
- Podlodka #148: Корни инженерной культуры Восточной Европы
- Flutter Dev Podcast #12: Flutter Europe и пет-проекты
- Яндекс открыл набор на летнюю стажировку
- Бесплатная книга “Создание шутера от первого лица на Unity”
- Coderslang: приложение для изучения программирования
- Один день из жизни UX менеджера
- Почему не нужно копировать UX паттерны крупных успешных компаний
- UX-тренды банкинга 2020 года: искусственный интеллект, голосовые помощники и гиперперсонализация
- Как сделать идеальное мобильное приложение для интернет-магазина
- Создание инфраструктуры персонального поиска для ваших знаний и кода
- 9 действий для лучшего обмена знаниями между командами разработчиков
- Истории в Spotify
- Почти 10 уроков разработки игр, которые я усвоил в своем инди-приключении
- Мобильный UI: 13 основных паттернов дизайна приложений, о которые нужно знать
- Как должно было быть создано приложение SoundCloud для iOS — исследование UX
- Понимание анимации загрузки — ее типы и применения
- Nebula: сетевой фреймворк от Slack
Аналитика, маркетинг и монетизация
- Google ввел ограничения на атрибуцию в App Campaigns на iOS
- Расходы европейских пользователей на приложения выросли на 19%, Россия на 4 месте
- Мессенджер для продавцов Attentive привлек еще $70 млн.
- Играть по-взрослому: кейс Kunlun и Bidease
- В 1-800-Flowers сделали AR-букеты
- Ahoi: дейтинг с видео
- Как в Fishing Clash справились со скамом в Facebook
- SuperAwesome привлек еще $17 млн на детские технологии
- Busuu покупает Verbling
- Reroll – блокнот для характеристик D&D героев. Наш опыт запуска на Kickstarter и сбора $20К за 8 часов
- Как увеличить конверсию в установки при помощи экспериментов в сторах
- CCPA – что это значит для вашего приложения
- Монетизации игр на развивающихся рынках с помощью поведенческой науки
AI, Устройства, IoT
- Адаптивная фоновая подсветка для телевизора на Raspberry Pi – аналог Ambilight
- Туториал по uplift моделированию. Часть 1
- Нейросети в производстве зубных протезов
- Хьюстон! У нас проблемы? От «умного» улья к роболетку и «кластеру» на ардуино
- Как защитить IIoT-решения, используемые в социальной инфраструктуре. И от чего?
- DDoS от кофеварки
- Бесплатная книга «Искусственный интеллект в играх 3»
- Google запустил MediaPipe в веб
- Как я переехал в США и запустил IoT-платформу с полумиллионом пользователей
- Чему учиться разработчику встраиваемых систем
- Boston Dynamics выложила SDK для робота Spot