Дайджест интересных материалов для мобильного разработчика #290 (11 марта — 17 марта)

Новый дайджест рассказывает про идемпотентность API, борьбу Apple и Spotify, именные законы дизайна, самые зарабатывающие приложения и чистое золото мобильных игр.

fnwojhha8_u56bchgehs8ltvwjc.jpeg

Идемпотентным называют такой метод API, повторный вызов которого не меняет состояние. Здесь есть тонкий момент: результат идемпотентного вызова может меняться. Например, при повторном вызове идемпотентного API создания заказа — заказ не будет создаваться еще раз, но API может ответить как 200, так и 400.

С момента появления версии 1.0 прошло всего несколько лет, а язык приняли на вооружение многие крупные компании и разработчики. Всё благодаря тому, что создателям языка удалось добиться целей, поставленных в начале пути — разработать инструмент, который был бы удобнее и безопаснее Java, но менее сложен, чем Scala.

Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в 5ek7bfhjzilma-pbharuioaa7lw.pngTelegram-канале.

f1930ac4945596eb9707bc7a01bc5bdc.pngiOS

(+38) Как Apple готовится к эре после iPhone
(+14) Пишем свой сетевой слой на Swift: протокол-ориентированный подход
(+7) Signpost: когда брейкпоинтов недостаточно
• Spotify подал в суд на Apple
• Apple: Spotify хочет получить все преимущества бесплатного приложения, не будучи бесплатным
• Apple проведёт WWDC с 3 по 7 июня в Сан-Хосе
• Apple проведет презентацию новых продуктов 25 марта
imageКак работает приложение Public Art
imageСоздаем элементы интерфейса программно
imageЛучший синтаксис для конфигурируемой инициализации
imageЮнит-тестирование с Bloc
imageАнимация Flare для iOS и macOS
imageАнимация изменений в UITableView и UICollectionView
96716bcb926741e79bb1c284a88083ca.pngCircleBar: красивый TabBarController

e1a3cf2a8b65a0da69bbdd5c0ad040fe.pngAndroid

(+27) Coroutines: опыт практического применения
(+24) Jenkins для Android сборки, с помощью Docker
(+10) Как сделать мобильную игру командой из 2 человек с нулевым бюджетом и получить фичеринг в Google Play
(+8) Google Play Store переходит на стандартизацию значков приложений
(+7) Разбираемся с Clean Code в Android
(+6) 7 полезных советов для тех, кто использует Room
• Google выпустил превью Android Q
imageКонтекст и рамки  корутинов
imageИсследуем Android P: Priority Buckets
imageТвоя Android Studio все время медленно работает? Вот как ее ускорить
imageУправление подписками с Jetpack Lifecycle и Kotlin
imageРуководство по Kotlin для занятых Java-разработчиков
imageМиграция с Dagger2 на Koin
imageИсследуем стабильный Android Jetpack WorkManager
imageИсследуем Android Q: панель настроек
976d3e38a34b003f86f91795524af9f8.gifАвтоматизация тестирования Android-приложения с Robo

7081c634ec176ab6b953d9d19e82a09a.pngРазработка

(+34) Восемь именных законов в UX дизайне (часть 1)
(+15) Кастомные корутины в Unity с преферансом и куртизанками
(+12) Unity: процедурное редактирование Mesh
(+12) Читабельность кода
(+10) Flash-анимации в Unity3D своими руками. Часть первая, лирическая
(+8) Как белка в колесе или немного про исследования пользователей в условиях ограниченных возможностей
• Podlodka #102: Многопоточность
• Microsoft собирает инструменты в Game Stack
• LaunchDarkly получил новый раунд финансирования
• Библиотека Google делает iOS-приложения более доступными
• АйтиХайп: Александр Ложечкин
• IronSource запускает A/B-тесты для рекламной монетизации
• Google выпустил приложение Lookout для помощи плохо видящим
• Seeing AI: говорящий с фотографией
• Редизайн мобильного приложения Tesla, которое мы заслуживаем
• Telegram проводит конкурс разработки и дизайна с призовым фондом $150,000
imageТехнический долг — как тетрис
imageПрощай, объектно-ориентированное программирование
imageЛучшие экраны логина: исследование UX
imageFlutter PlatformView: как создать Widget из Native View
imageСамоуверенный дизайн приложений
imageПолное руководство по дизайну мобильных приложений
imageТехнические навыки переоценены. Сосредоточьтесь на отношениях.
imageМульти или Кросс платформа в эпоху Flutter
imageКак создать видео чат на Unity
imageCAVIAR: исследование юзабилити
imageВоссоздать Fortnite за 2 месяца — Unreal Engine и Amazon GameLift
imageДело удаления негатива из продукта
image35 ресурсов для React Native разработки

509dc9bde69347ecbe0c21ff2973d7e7.jpgАналитика, маркетинг и монетизация

(+26) Игровой рынок, тренды и прогнозы — большая аналитика от App Annie
• Dig That Gold вознаграждает игроков реальным золотом
• Школьники используют Google Docs для чатов
• 2ГИС добавил ачивменты в приложения
• Какие приложения заработали больше всего в Европе в 2018 году?
• Serial Box: текстовые и аудио сериалы
imageКак измерить эффективность мобильного приложения?
imageОбязательные ресурсы для маркетинга приложений

8538129f5e7b404a720121cb9c3814db.jpgAI, Устройства, IoT

(+73) Deep Learning — не только котики на мобилках или как мы производим дефектовку тележек локомотивов
(+35) У нейросетей удивительно простая стратегия классификации изображений
(+9) Как аэропорт Фукуоки узнал, какие меры будут эффективны для уменьшения очередей
• Google настроил ИИ на блокирование токсичных комментариев
• Новый штатив Bluesphere подержит смартфон за вас
• Технодайджест (январь-февраль 2019)
imageTop-20 API, которые вам надо знать в ИИ и машинном обучении

< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.

© Habrahabr.ru