"Были же люди, как люди и вдруг все сразу стали ИИ. Парадокс” (С) App Store вслед за Google Play планирует внедрить ИИ-суммаризацию в страницы приложений. Докладывают, что Apple разработала новую систему, которая будет использовать все отзывы пользователей в App Store для создания сводки, выделяющей «наиболее распространенные характеристики». Идея заключается в том, чтобы пользователям было проще определить, когда приложение не соответствует тому, что оно обещает в App Store. Поскольку резюме будут генерироваться автоматически, разработчики, по словам Apple, смогут сообщать, когда они считают резюме «неточным». Подробностей о том, когда именно заработает новая функция, пока нет, но, учитывая, что ее уже можно найти в API App Store, предположительно это произойдет очень скоро.
Разработка
• GitHub обновляет Copilot
• Более четверти нового кода в Google создается ИИ
• Using an 8K TV as a monitor
• On One-on-Ones - Insights From 1,500 Meetings
Маркетинг и монетизация
• App Store будет показывать сводку отзывов, сделанную ИИ
Кроссплатформа
• Kotlin Multiplatform Development Roadmap for 2025
• Using Vertex AI in a Compose/Kotlin Multiplatform project
• I built a web app with Flutter and this is how I feel about it
• Yellowtoast/breaking-up-with-getx-know-the-facts-before-you-judge-f298d32cdfe7">Breaking Up with GetX: Know the Facts Before You Judge
#mobile #dev
iOS
• Paralayout — пиксельно идеальная верстка в iOS
• Installing and Using Copilot in Xcode: AI Code Completion
• The Strategy Pattern
• Problematic Swift Concurrency Patterns
• Introducing Swift Testing. Lifecycle.
• Implement blurring when multitasking in SwiftUI
#ios
🔨 + 🧑✈️ Copilot от GitHub наконец-то добрался до Xcode. Сегодня на конференции Universe анонсировали ряд крупных новинок, включая проект Spark для написания приложений полностью ИИ, а также поддержку нескольких моделей для Copilot. Но для нас самое интересное - интеграция в главную IDE. Пока основное внимание уделяется завершению кода, но Copilot Chat и другие его функции, вероятно, со временем появятся в Xcode. Конечно, хотя сам Copilot никогда не поддерживал Xcode, мы видели несколько проектов, таких как расширение CopilotForXcode, которые использовали API GitHub, чтобы принести завершение кода Copilot в Xcode. Кроме того, сама Apple говорит о собственных ИИ-инструментах для разработчиков. Так что скоро у нас будет конкуренция и в этой области.
Разработка
• How to build the perfect mobile release train
• Amphion: OS audio, music & speech generation toolkit
Маркетинг и монетизация
• Маркетологи в мобайле: Любовь Бондарева (Rostic’s)
• My 9 Favorite Growth Framework
Кроссплатформа
• Создан Flock — форк Flutter
• Пробуем Flutter в Telegram Mini Apps: Насколько хорошее решение для разработки?
• React Native полностью переделан
• How to Migrate from Dagger 2 / Hilt to Koin for KMP
• Architect Your React Native app to handle Millions of Users and Large Development Teams
• koreshreyash/inspektor-multiplatform-http-inspection-library-for-ktor-6c78ae5e5661">Inspektor — Multiplatform HTTP inspection library for KTOR
iOS
• Copilot появился в Apple Xcode
• Реализуем Face ID аутентификацию в iOS-приложении
• Swift TaskGroup на примерах
• Making illegal states unrepresentable
• Measuring View Visibility Percentage in SwiftUI Using PreferenceKeys
• Using the #require macro for Swift Testing
• batrakov.vitaly/coordinators-swiftui-569a7f9a22c6">Coordinators & SwiftUI
#ios
Ребята из Emerge Tool разобрались в том, как и почему отличаются размеры приложений для Android и iOS. Действительно, на первый взгляд, например, Gmail в Google Play весит 34 Мб, а в App Store 547. Резонный вопрос - что за фигня? Но все не так просто. Начиная с того, что Play указывает размер скачиваемого пакета, а App Store - установленного. Заканчивая разницей в языках, платформах, слайсинге и некоторых других технологиях. В общем, если вам интересно - прочитайте разбор от Emerge и больше не жалуйтесь ☺️
Разработка
• Правда ли, что приложения для Android намного меньше, чем для iOS?
• Обзор Lenovo ThinkBook Plus Gen 5 Hybrid: больше безумных ноутбуков!
• Backend vs Frontend: сравниваем опыт разработчиков — что сложнее, перспективнее и кому больше платят
• Grafana: инструкция по применению
• Тесты с душком
• Как писать библиотеки: проектирование API, обратная совместимость
• ИИ Anthropic теперь может писать и выполнять код
• Write code that is easy to delete, not easy to extend
• Investigation of a Workbench UI Latency Issue
Маркетинг и монетизация
• Как я использовал Keynote для создания скриншотов и роликов для App Store
• Приложение Screenable превращает любой iPhone в стартовый телефон для детей
Кроссплатформа
• Шеринг файлов локализации между несколькими пакетами в Flutter
• sys.int64/flutter-raii-simplifying-resource-management-in-your-apps-8d7cc5e46f8b">Flutter RAII: Simplifying Resource Management in Your Apps
iOS
Обратите внимание - Apple обновила TestFlight несколькими новыми фичами.
• Apple обновляет TestFlight
• CoreDataEvolution — безопасная многопоточность для Core Data
• Избавляемся от Context в бизнес логике — как ответить на собеседовании
• Apple открывает исследование безопасности Private Cloud Compute
• App development on iPad
• Why is xcodebuild slower than the Xcode GUI?
• Understanding actors in Swift
• Implement Face ID Authentication in the iOS App
• Simplify Your iOS CI with Makefiles
#ios
Видео и подкасты за неделю на @AppFiles
• (iOS En)
CocoaHeadsNL Meetup
• (iOS En)
Google Engineer Teaches Us How to Set Up Firebase in Your iOS Project
• (iOS En)
App-Wide Overlays | SwiftUI
• (iOS En)
MockData, PreviewModifiers and PreviewTraits in SwiftUI
• (And Ru)
Избавляемся от Context в бизнес логике — как ответить на собеседовании
• (And En)
Studio Jewelry - Android Developers Backstage
• (And En)
How to Migrate Your App to Support the NEW Predictive Back Gestures On Android
• (And En)
How to Implement Image Compression On Android
• (And En)
Practical Tips and Tricks to Improve Your Compose Previews
• (Dev Ru)
Backend vs Frontend: сравниваем опыт разработчиков — что сложнее, перспективнее и кому больше платят
• (Dev Ru)
Grafana: инструкция по применению
• (Dev Ru)
Тесты с душком
• (Dev Ru)
Как писать библиотеки: проектирование API, обратная совместимость
• (Dev En)
Learn Claude AI – Build Text Summarizers, Image Describers, and More with the Anthropic API
• (Dev En)
Gemma Developer Day Tokyo
#ios #android #mobile #video
🥽 Совершенно ожидаемо Apple начала сворачивать производство Vision Pro и может полностью прекратить выпуск текущей версии устройства еще до конца 2024 года. По многочисленным сообщениям, Vision Pro пользуется слабым спросом из-за недостаточного количества контента и высокой цены. Как пишут, поставщики Vision Pro уже произвели достаточно компонентов для 500-600 тысяч гарнитур. Некоторые фабрики приостановили производство компонентов Vision Pro еще в мае, основываясь на слабых прогнозах Apple по продажам, и склады по-прежнему заполнены десятками тысяч непоставленных деталей. Apple, по всей видимости, приостановила работу над вторым поколением Vision Pro как минимум на год, чтобы сосредоточиться на разработке более дешевой гарнитуры. Интересно, что Apple говорила поставщикам подготовиться к производству четырех миллионов недорогих гарнитур за весь жизненный цикл будущего продукта. Это вдвое меньше общего количества Vision Pro, которые Apple предполагала произвести, что говорит о том, что ожидания по продажам более дешевой гарнитуры еще ниже.
Разработка
• Задачи с собеседований: Leetcode — Сложите два числа
• Raspberry Pi выпускает новые ИИ-дополнения
• HUGS упрощают развертывание открытых ИИ-моделей
• A New Coding Paradigm: Declarative Domain Programming
Маркетинг и монетизация
• The future of mobile measurement playbook
Кроссплатформа
• React Native – New Architecture is here
• gizemgizgg/deep-linking-integration-with-flutter-7072a621b2ad">Deep Linking Integration with Flutter
iOS
• Вышла бета-версия iOS 18.2 с Apple Intelligence
• Apple может прекратить выпуск Vision Pro к концу 2024 года
• KeyboardKit Pro — кастомные клавиатуры для iOS и iPadOS
• Изменение модели данных CoreData для iOS приложения с iCloud синхронизацией
• Области тьмы: разбираем неочевидные моменты при использовании памяти в Swift
• How I Used Keynote to Create iOS App Screenshots and Preview Videos from the Same File
• Creating view transitions in SwiftUI
• My Journey as an iOS Developer Intern at Teads
• camposbrunocampos/collapsible-headers-in-swiftui-it-took-three-attempts-to-get-it-just-right-9bd63b06d19e">Collapsible Headers in SwiftUI: It Took Three Attempts to Get It Just Right
#ios
Android
• GroupTrack — семейный локатор
• Kotlin Under the Hood: Exploring Constructors and Init Blocks
• Implementing Overslide interaction in Jetpack Compose
• Use Case: Bypassing In-App Purchase By Payment Client-Side Validation
#android
Сорен Иверсон придумывать и публикует в Х новые функции для знакомых нам всем приложений. Например, он предлагает, чтобы Tinder предупреждал о слишком устаревших фотографиях. Или мессенджер показывал, сколько времени пользователь читал сообщение. У него так же есть погода в котах и собаках и с гороскопами, встроенная покупка для того, чтобы посмотреть, что удалил пользователь в переписке, F̶i̶n̶d̶ ̶m̶y̶ ̶f̶r̶i̶e̶n̶d̶s̶ Find me friends, анализатор дыхания для ответа бывшей, красные точки для всех уведомлений и много другого полезного. Казалось бы юмор, но нет. Используйте в своих проектах.
Читать полностью…Android
• Анализ сведений о запуске и завершении приложений в Android 15
• Как в eXpress достигали мгновенного рендера отправки сообщения: оптимизация локальной базы данных
• Using popBackStack()? Then Your App Likely Has a Bug.
• Reusable Styles in Compose
• omarsahl/advanced-kotlin-exploring-the-lesser-known-syntax-and-features-0f49e5da9c15">Advanced Kotlin: Exploring Lesser-Known Syntax and Features
• Changes in Android 15 for developers
• Get your App Performance Score
#android
🤮 Сравнение доходов App Store и Google Play в категории Образование в США
Решил перепроверить вчерашние данные про доходы App Store и Google Play и в качестве примера с помощью AppMagic залез в категорию Образование в США.
Попробуйте сами предсказать разделение доходов по платформам?
• В целом Топ-10 приложений в двух магазинах за сентябрь заработали $35 619 120. Для сравнения, в сентябре 2023 года этот показатель — $33 692 080.
• Примечательно, что Duolingo получает 45% всей прибыли этой мобильной категории, еще 16% пользователи платят ClassDojo, а все остальные имеют только однозначный процент доходов. Если взять Топ-100 приложений, то Duolingo получает еще больше, почти половину — 49%.
• Как же доходы распределяются по платформам? На самом деле, тут это распределение практически вторит полученному AppFigures. В App Store Топ-10 приложений для образования в сентябре заработали $29 486 938, а в Google Play $6 558 869. Это, соответственно, 18 и 82% от дохода.
И что: в других категориях и/или странах все немного по другому. Поставьте 👍, если хотите продолжения.
Android
• Суд приостановил решение об открытии Google Play и Android
• Lets-Plot — мультиплатформенное черчение
• Как следить за качеством работы вашего кода. Tracer. Кирилл Попов
• 1000 откликов и 0 собеседований — как не войти в айти в 2024: кодревью
• Замена иконок — что может быть проще?
• Забудьте про терминал! Как я избавлялся от рутинных ADB команды с помощью Shortcuts
• Implementing Overslide interaction in Jetpack Compose
• Unplugged DI - DI.Y Basics
• Making my concurrent algorithm 6000% better
• Using Kotlin Reflection to Automate Compose Navigation
• Analyzing App Startup and Shutdown details in Android 15
• That Weird Compose Crash
• Circular Reveal Animations in Jetpack Compose
#android
🌐🤖 Где деньги: сравнение доходов App Store и Google Play
Очевидный ответ — в App Store больше денег. Стандартное распределение считается как 1 к 2 - на каждый доллар трат пользователей в Google Play приходится 2 доллара трат в App Store. Однако новое исследование AppFigures показывает несколько иную картину.
• В сентябре только 16% всех доходов было получено от покупок в Google Play и 84% — в App Store.
• Если говорить о конкретных долларах, то, по оценкам аналитики, в сентябре потребители потратили на приложения и игры $16.2 миллиарда. На долю Google Play пришлось $2.5 млрд, а на долю App Store — оставшиеся $13.7 млрд. Это валовой доход, то есть то, что пользователи потратили на покупки в приложениях до того, как Apple и Google взяли свои комиссионные.
• Не все категории одинаковы. Больше всего денег потребители потратили на игры — $5.1 млрд в App Store и Google Play. $3.9 млрд, или 75%, пришлось на App Store, так что если у вас есть игра, App Store — самое подходящее место. Забавный факт — App Store дает играм наименьшую долю по сравнению со всеми остальными категориями, кроме одной (Покупки).
• Помимо игр, в пятерку лучших категорий по общему объему трат входят Развлечения, Стиль жизни и Знакомства, Социальные сети и Фото и видео. На долю App Store приходится от 83 до 97% дохода этих категорий.
И что: есть много причин выпускать приложение на обеих платформах, но если доход - ваша главная цель, начните с App Store.
Android
• Поиск регрессий в Compose
• Главный метод Android-приложения
• amarkumarprajapti/tips-to-improve-frame-rates-in-android-apps-67cecb6bb64e">Tips to Improve Frame Rates in Android Apps
• azizbek.rasulmetov2000/android-interview-questions-about-activity-component-68a7f4ffdb5b">Android interview questions about Activity component
#android
Более четверти нового кода в Google создается ИИ
Сегодня был отчет о квартальных прибылях и убытках Google. Все выросло, но самое интересное другое.
Более четверти всего нового кода в Google генерируется искусственным интеллектом, затем проверяется и принимается инженерами, — заявил генеральный директор Сундар Пичаи в ходе отчета.
Android
• Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 5
• Lawnchair — лаунчер для Android
• Как написать Android приложение, которое не будет стыдно положить в портфолио. Гайд для новичков в Android разработке
• 5th элемент корпоративной мобильности: разбираемся с Separated apps в KNOX Service Plugin (KSP)
• saadkhan.cdz/generating-code-coverage-report-with-jacoco-a-complete-guide-for-android-part-3-a7c57561bcda">Generating Code Coverage Report with JaCoCo: A Complete Guide for Android
• Mastering DisposableEffect in Jetpack Compose: Managing Side Effects Effectively
• Gradle Modularisation
#android
Flock - форк Flutter
Очевидно, что Flutter если не находится в упадке, то явно притормозил свое развитие. Команда минимальна, многие тикеты могут лежать в бэклоге годами, 3 из 6 поддерживаемых платформ находятся в "режиме обслуживания".
Тут появляется форк Flock. Его описывают как Flutter+, другими словами, авторы не хотят и не собираются форкать сообщество Flutter, а хотят просто добавлять важные исправления ошибок и популярные фичи от сообщества, которые команда Flutter либо не может, либо не хочет реализовать.
Форк даст следующие возможности:
• Позволит набрать гораздо большую команду PR рецензентов, чем в команде Flutter. Это означает более быстрое рассмотрение.
• За счет этого создаст поддержку более широкой аудитории контрибьюторов.
• Упростит и оптимизирует политику разработки.
• Позволит использовать успехи для социального поощрения еще большего количества контрибьюторов.
Первым шагом Flock станет зеркалирование Flutter и оно вроде как уже работает. Сейчас работа с Flock никак не отличается от работы с Flutter, а организаторы привлекают ревьюверов и лидов для работы над платформой.
Android
• Google работает над аналогом Dynamic Island для Android
• Android Compose Accessibility Techniques — лучшие практики доступности
• Кастомный Date and Time picker как в Telegram на Kotlin Jetpack Compose
• Gemini on Android, The story so far
• Compose Performace - Finding Regressions
• How To Create a Parallax Movie Pager In Jetpack Compose
• Koin Annotations 1.4 stable & First 2.0 beta version
• Droidcon Lisbon 2024
• binod.basnet777/automating-versioning-and-apk-naming-in-gradle-for-android-projects-c58e98298ef0">Automating Versioning and APK Naming in Gradle for Android Projects
#android
Крутить и не кусаться
Подборка всех статей и новостей за неделю - ключевые изменения в UIKit и восстановление удаленных сообщений в Telegram, самые весёлые TODO из Android-фреймворка и короткий путь с Senior-ами, инфляция званий, сравнение доходов App Store и Google Play, Yolo на пятирублёвой монете и многое другое. Подключайтесь!
🇿🇼 Apple открывает исследование безопасности Private Cloud Compute
Private Cloud Compute (PCC) — это облачная система, которую Apple разработала для приватной работы искусственного интеллекта. Именно ее Apple использует для обеспечения безопасности запросов Apple Intelligence, когда они должны обрабатываться в облаке.
• Сегодня Apple открыла виртуальную исследовательскую среду для Private Cloud Compute и опубликовала другие материалы для всех исследователей безопасности.
• Виртуальная исследовательская среда - это набор инструментов, позволяющий исследователям проводить собственный анализ безопасности PCC с помощью компьютера Mac.
• Наряду с инструментами, Apple расширяет программу Apple Security Bounty, добавляя в нее вознаграждения за уязвимости, которые демонстрируют нарушение фундаментальных гарантий конфиденциальности и безопасности Private Cloud Compute. Исследователи безопасности, обнаружившие уязвимости, могут заработать до 1 миллиона долларов - эту премию вручат за выполнение в облаке произвольного кода с произвольными правами. За обнаружение менее важных уязвимостей можно получить от $250 до $50 тысяч.
Android
• Пример: взлом покупок в Android-приложении и защита от этого
• Самые весёлые TODO из Android-фреймворка
• Build Stunning Grids in Minutes with LazyVerticalGrid
• Understanding JankStats: Optimizing Your Android App’s Performance
• Rethinking Exception Handling with Kotlin's Result Type
#android
Huawei презентовал свою новую HarmonyOS NEXT, лишенную наследства (и совместимости) с Android. Начато “официальное публичное бета-тестирование и Huawei также утверждает, что на момент анонса в HarmonyOS было запущено более 15,000 нативных приложений и метасервисов. Правда, Huawei сообщает, что в настоящее время не планирует предлагать HarmonyOS NEXT за пределами Китая. И это несмотря на то, что ранее компания заявляла, что планировала вывести предыдущую версию HarmonyOS на мировой рынок. Так что писать под нее что-то, кажется, особого смысла нет. Впрочем, для любопытствующих могу порекомендовать пост Алексея.
Разработка
• Huawei окончательно отказывается от Android и запускает HarmonyOS NEXT
• Звания инженеров-программистов (почти) утратили свой смысл
• Новая модель искусственного интеллекта от Anthropic теперь может управлять компьютером
• Attacking the Samsung Galaxy A* Boot Chain
Маркетинг и монетизация
• Disney+ и Hulu отказываются от встроенных покупок Apple
Кроссплатформа
• Save Time by Copying Pre-Made Flutter Code Right into Your Project
• Scatter And Surface Plots
iOS
• Apple работает над новым App Store для игр
• Comprehensive Guide to Mastering KeyPath in Swift
• Beginner’s Guide to Protocol Buffers and gRPC with Swift
• SwiftUI or UIKit in 2024 & 2025
• How to Create Interactive Table View in SwiftUI
• iosdev.abhi/building-a-2048-powerplay-game-for-apple-watch-with-swiftui-235e71d667c3">Building a 2048 PowerPlay Game for Apple Watch with SwiftUI
#ios
Помните, как автор TBH продал его второй раз? Складывается ощущение, что автор Daze учился там, где он преподавал. Раньше Саймонс работал над “инновационным” мессенджером Muze. В 2022, судя по всему, разосрался со своими со-основателями и Muze загнулся. Сейчас он снова делает Daze, точно такой же “инновационный” мессенджер, правда уже в одиночку. Пишут, что еще до выхода у него случился небывалый ажиотаж на видео в Тиктоке. Запуск приложения назначен на ноябрь, но я бы сказал, что и конец у Daze будет похож на Muze.
Разработка
• Introducing Mellum: JetBrains’ New LLM Built for Developers
• Using AI Generated Code Will Make You a Bad Programmer
• 3 Lessons from the Smartest Developers I’ve Worked With
Маркетинг и монетизация
• Daze, креативное приложение для обмена сообщениями с ИИ для Поколения Z, набирает аудиторию еще до запуска
• Сравнение доходов App Store и Google Play в категории Образование в США
• Как потратить шесть лет и быть невидимкой в Play Market
Кроссплатформа
• Интеграция TFLite во Flutter: внедряем модели машинного обучения в мобильное приложение
• rudresh.narwal/top-10-flutter-design-patterns-in-2024-0a8473ca3828">Top 10 Flutter Design Patterns in 2024
• Advanced Flutter Techniques Every Mobile Developer Should Know
iOS
• Создание настраиваемого сегментированного контрола в SwiftUI
• PIPKit — картинка в картинке на iOS
• Objective-C не кусается: как перестать бояться Legacy и стать настоящим iOS-ниндзя
• SwiftUI: Build Our Own Container
• Vapor and Swift Testing: Running tests in parallel
• Making Accessibility Accessible
• How to use Cursor for iOS development
• AnyView is everywhere in Xcode 16
#ios
Как и предполагалось с самого начала, суд отложил требования о запуске альтернативных магазинов в Google Play и практически всех остальных пунктов нашумевшего две недели назад решения. Пока осталось только то, что начиная с 1 ноября 2024 года Google запрещено заключать сделки с операторами связи или производителями устройств, которые блокируют предустановку конкурирующих магазинов приложений в обмен на деньги, долю прибыли или льготы. Все остальное будет предметом апелляции. Которая, как заведено и как показывает пример Apple, может идти годами.
Разработка
• Короткий путь с Senior-ами
• Собеседование продуктового аналитика в Авито: кейс-интервью
• Shape Up, scrum out. Как решать проблемы юзеров за дни, а не за сторипоинты
• AI в медицине
• Software Engineer Titles Have (Almost) Lost All Their Meaning
Маркетинг и монетизация
• Azar пытается вернуть случайные видеочаты Поколению Z
• Где деньги: сравнение доходов App Store и Google Play
Кроссплатформа
• dmilicic/writing-a-personal-website-in-flutter-web-238cb7e69086">Writing a personal website in Flutter Web
• mobileatexxeta/developing-accessible-mobile-apps-with-flutter-1f04cc8be83e">Developing accessible mobile apps with Flutter
iOS
• iOS Swift for VS Code — iOS-разработка в VS Code
• Макросы в Swift: Практическое руководство по использованию
• Внедряем снепшот-тестирование, или пять стадий принятия неизбежного
• Modular Navigation in SwiftUI: A Comprehensive Guide
• Improve your app's UX with SwiftUI's task view modifier
• Migrating Combine to AsyncAlgorithms
• Create ZIP files in Swift without third-party dependencies
• How Do Binaries work together? What breaks ABI?
• Building a Customizable Segmented Control in SwiftUI
• How to significantly improve incremental build time with xcodebuild
#ios
Видео и подкасты за неделю @AppFiles
• (iOS En)
WWDC22: Visualize and optimize Swift concurrency
• (iOS En)
Principal Engineer shares tips to Master System Design and Architecture
• (iOS En)
SwiftUI Toasts
• (iOS En)
How to get started with Swift Testing
• (iOS En)
Create a Bold SwiftUI Flight Boarding Widget
• (iOS En)
Add Micro Interactions to your Tab Bar | SwiftUI
• (iOS En)
iOS/SwiftUI Chat App With Cursor
• (And Ru)
Как следить за качеством работы вашего кода. Tracer. Кирилл Попов
• (And Ru)
1000 откликов и 0 собеседований — как не войти в айти в 2024: кодревью
• (And Ru)
Замена иконок — что может быть проще?
• (And En)
Custom Adaptive layouts in Compose
• (And En)
Region specific resources and broken localization
• (And En)
Applying the Builder Pattern in Kotlin
• (Crs En)
Mobile App Development Course with React Native, Supabase, Next.js
• (Anl Ru)
Собеседование продуктового аналитика в Авито: кейс-интервью
• (Dev Ru)
Shape Up, scrum out. Как решать проблемы юзеров за дни, а не за сторипоинты
• (Tch Ru)
AI в медицине
#ios #android #mobile #video