Mobile Development by AppTractor
11K subscribers
1.89K photos
40 videos
11 files
4.72K links
Цифры, советы и все интересное о разработке мобильных приложений и сервисов. Комментарии и вопросы можно писать прямо @lbogolubov

• Аудитория https://t.iss.one/apptractor/1066
• Сайт https://apptractor.ru/
Download Telegram
Google опубликовал ежегодный отчёт о безопасности экосистемы приложений Android

По данным компании, всё меньше злоумышленников атакуют Google Play вредоносными приложениями, и этот сдвиг технологический гигант объясняет увеличением инвестиций в системы проактивной безопасности и технологии искусственного интеллекта.

Google сообщил, что в 2025 году предотвратил публикацию в Google Play 1.75 миллиона приложений, нарушающих правила, по сравнению с 2.36 миллиона в 2024 году и 2.28 миллиона в 2023.

Например, Google заявляет, что в 2025 году заблокировал более 80,000 учётных записей разработчиков, которые пытались опубликовать подобные вредоносные приложения. Этот показатель также снизился по сравнению с прошлым годом: 158,000 в 2024 году и 333,000 в 2023 году.

Google подчеркнул, что его инвестиции в ИИ и другие средства защиты в реальном времени помогают бороться с подобными угрозами, а также как они послужили сдерживающим фактором.

Google отметил, что теперь он проводит более 10,000 проверок безопасности для каждого публикуемого приложения и продолжает перепроверять приложения после публикации. Компания также интегрировала свои новейшие модели генеративного ИИ в процесс проверки приложений, что помогло экспертам быстрее выявлять более сложные вредоносные схемы. Google заявил, что планирует увеличить инвестиции в ИИ в 2026 году, чтобы опережать новые угрозы.

Зато все больше атак проходит за пределами официального магазина. Система защиты Google Play Protect провела более 20 миллиардов проверок с Play Integrity API и выявила более 27 миллионов новых вредоносных приложений и предупредила пользователей или заблокировала их запуск. Это больше, чем 13 миллионов приложений, не размещенных в Play Store, выявленных в 2024 году, и 5 миллионов в 2023 году.
📺 Видео и подкасты за неделю

(iOS Ru) Как устроена мобильная разработка в Яндекс Картах
(iOS En) New iOS 26 Style OnBoarding Animation Using SwiftUI
(iOS En) Sharing App Data with Uniform Type Identifiers and ShareSheets
(iOS En) Liquid Glass Morphing Tab bar | Expandable Tab Bar | SwiftUI
(And Ru) КодРевью лидера мнений: как можно нарушить сразу все принципы разработки
(And Ru) Ты не владелец своего Android. И вот почему
(And En) What’s so great about R8?
(And En) Top 5 Jetpack Compose Performance Killers
(And En) Kotlin Devs Diversify: Android is 25% Now
(And En) You won't believe how we created an Android Lint rule using AI - with Tor Norbye
(And En) Google’s Recommended App Architecture Explained (Android & iOS)
(Crs Ru) Твое первое приложение на KMP для ОС Аврора
(Dev Ru) 1 из 10 разработчиков ничего не делает на работе. Интервью с исследователем из Стэнфорда.
(Dev Ru) Хэш-таблицы — Open addressing, коллизии, hash

Прошлогодние видео:

(And Ru) Погружаемся в мир технологий Яндекс Переводчика
(And Ru) Мок собеседование Android разработчика в Контур: архитектура и кодинг приложения
(Dev Ru) Публичное собеседование на позицию Head of QA
(Dev Ru) Краш-курс по автоматизации тестирования

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
Ошибка обводки текста

В этом еженедельном дайджесте бесконечная история сторибордов и расцвет «достаточно хорошей» архитектуры в Android, Baseline Profiles и шейдеры, мягкая обводка текста, мобильный геймдев нулевых и многое другое. Заходите!
👍1
iOS

Широко известный Донни Уолс расписал то, как он настроил свою агентскую разработку iOS-приложений. Используемый конвейер выглядит следующим образом: хорошо прописанный файл agents.md и ИИ-навыки закладывают локальную основу. Режим планирования гарантирует правильность подхода агента до того, как он напишет хотя бы одну строку кода. BugBot обнаруживает ошибки в запросах на слияние, которые иначе можно было бы пропустить. Bitrise запускает тесты для каждого запроса на слияние, архивирует и загружает их при каждом слиянии с основной веткой. А TestFlight автоматически доставляет результаты на устройство.

Настройка конвейера доставки для ваших агентских iOS-проектов
Refreshable — pull-to-refresh для UIScrollView
Как устроена мобильная разработка в Яндекс Картах
“Swift Structs Are Always on the Stack” — I Said This in an Interview and Deeply Regretted It
Swift 6 Migration Pitfalls You Should Know
If You’re Not Versioning Your SwiftData Schema, You’re Gambling
Building a SwiftUI Toast in 5 Steps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Давно уже в Европе существует такая странная контора, как Bending Spoons. Она скупает вышедшие в тираж проекты и теперь владеет, например, Evernote, Meetup, Vimeo и AOL (да, той самой AOL). Подход их относительно однотипен - после покупки большинство работников разгоняется, цены на встроенные покупки повышаются в разы. В AppFigures собрали данные по некоторым из их самых популярных приобретений и оказывается, что стратегия в общем-то прекрасно работает. Например, за шесть месяцев до приобретения чистая выручка Evernote составляла в среднем около 1.5 млн долларов в месяц, а количество ежемесячных загрузок — около 254 тыс. За последние шесть месяцев выручка в среднем составила 2.1 млн долларов в месяц, а количество загрузок упало примерно до 92 тыс. Выручка выросла на 39%, количество загрузок снизилось на 64%. Как? Цены примерно утроились с момента приобретения, а в ноябре 2025 года они впервые в истории Evernote ввели ограничения на объем хранилища, переведя активных пользователей на тарифный план Advanced за 250 долларов в год. Пользователи недовольны изменениями, но данные о доходах показывают, что модель работает.

Разработка

1 из 10 разработчиков ничего не делает на работе. Интервью с исследователем из Стэнфорда.
Хэш-таблицы — Open addressing, коллизии, hash
I Cancelled My ~$200/mo Claude API Subscription, Again.
R.I.P. Software Developer I, II, III & IV — Congratulations on the Degree. Sorry About the Job
Writing code is cheap now

Маркетинг

Настоящая причина, по которой большинство приложений никогда не достигают $5k MRR
Мобильные приложения выросли на 10% за 2025 год: рынок движется к мультиплатформенной модели
Bending Spoons выжимает деньги из приложений, которые вы когда-то любили
Прозрачный мобайл: как навести порядок в кросс-канальном измерении In-App2Web

Кроссплатформа

Твое первое приложение на KMP для ОС Аврора
Why AI Agents Are Terrible at Flutter Integration Testing (And How to Fix It)
👍62
🖥 272,000,000 комбинаций у одного UI-компонента. Суперсила или нет?

На самом деле, это перегруженный API, бесконечные проверки, и десятки способов реализовать один и тот же паттерн. Именно с этим столкнулась команда дизайн-системы «Орбита» в Яндекс 360. Их базовый listItem жил почти в каждом интерфейсе — и постепенно превратился в компонент из сотен опций и состояний. При этом выяснилось неожиданное: из множества теоретических комбинаций по-настоящему востребованы всего несколько устойчивых паттернов.

После декомпозиции:

• компоненты стали проще в среднем в 3 раза
• API — понятнее
• тестирование — предсказуемее
• а разработка — быстрее

В статье Дмитрий Мандельштам (мобильный разработчик) и Алексей Карпенко (руководитель дизайн-системы) рассказывают, как:

• измерять сложность UI-компонентов
• принимать решения о декомпозиции на основе данных
• перерабатывать legacy-компоненты без остановки разработки

И да — если тема вам близка, то в Яндекс 360 сейчас открыты вакансии для мобильных разработчиков.
Please open Telegram to view this post
VIEW IN TELEGRAM
32👍1
iOS

В SwiftUI до сих пор нет встроенного компонента для всплывающих уведомлений (toast). Существуют оповещения (alert) и всплывающие окна (sheet), но они, по своей сути, являются модальными. Тост решает другую проблему: оно предоставляет кратковременную обратную связь, не прерывая рабочий процесс пользователя. В этой статье о практическом способе реализации всплывающего уведомления в SwiftUI. Решение является лёгким, многоразовым и работает поверх всего пользовательского интерфейса приложения.

Создание тоста в SwiftUI за 5 шагов
Ваше iOS-приложение не закончено, если им не может пользоваться незрячий: Гайд по Accessibility
Most SwiftUI Developers Don’t Know These Modifiers Exist
Custom Parameters and Animation with Metal Shaders
VoiceOver Navigator & 120 FPS Recordings for Xcode’s Simulator
How to automatically manage, monitor & rollout new machine learning models across your iOS app user base
Preventing forgotten database migrations with automated tests in iOS
👍2
Android

Metro — современный фреймворк для внедрения зависимостей в Kotlin, созданный Заком Свирсом. Разработчики из Vinted официально и полностью перешли на него! Для огромной кодовой базы это был довольно непростой путь.

От Dagger к Metro
Code On The Go — среда разработки Android-приложений
Так что там реально с Telega?
«Разблокируй телефон» — как я реализовал фейковый мессенджер для допроса
Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0
Building AI features on Android with Firebase AI Logic
An Open Letter Opposing Android Developer Verification
👍3
Самая большая проблема при внедрении методов агентной инженерии — это смириться с последствиями того факта, что написание кода теперь обходится дёшево. Код всегда был дорогим. Написание нескольких сотен строк чистого, протестированного кода занимает у большинства разработчиков программного обеспечения целый день или даже больше. Многие наши инженерные привычки, как на макро-, так и на микроуровне, построены вокруг этого основного ограничения. Использование программных агентов значительно снижает затраты на ввод кода в компьютер, что разрушает многие из наших существующих личных и организационных представлений о том, какие компромиссы оправданы.

Разработка

Сейчас писать код дешево
What Are Chinese People Vibecoding?
Why the Smartest People in Tech Are Quietly Panicking Right Now
Fake Job Interviews Are Installing Backdoors on Developer Machines

Маркетинг

Apple расширяет инструменты проверки возраста

Кроссплатформа


KMP/CMP/Android Open Source Boilerplate (with cool docs)
You always thought that Flutter has near-native performance. Wrong.
😁3👍2
Gemini автоматизирует работу с приложениями

На презентации Samsung Galaxy Unpacked компания Google анонсировала возможности автоматизации с помощью агентов для приложения Gemini на Galaxy S26, а также на Pixel 10. Приложение Gemini может выполнять многоэтапные задачи в поддерживаемых приложениях.

Gemini запускает приложение в «защищенном виртуальном окне на вашем телефоне». Оно не имеет доступа к «остальной части вашего устройства». Все, что происходит на этом виртуальном экране, обрабатывается в облаке. Вы можете просматривать это окно и видеть, как Gemini прокручивает, нажимает и вводит текст в режиме реального времени, или продолжать использовать свой телефон и другие приложения. Когда Gemini работает в фоновом режиме, вы будете получать уведомления, которые позволят вам присоединиться к процессу.

Под капотом

Google "на ранней стадии предоставляет разработчикам возможности, которые устраняют разрыв между вашими приложениями, агентскими приложениями и персонализированными помощниками, такими как Google Gemini".

Android предлагает два подхода к реализации взаимодействия.

Первый - AppFunctions, фича платформы Android 16 и сопутствующая библиотека Jetpack, которая позволяет приложениям предоставлять доступ к определенным функциям для вызывающих, например, агентским приложениям, для доступа и выполнения на устройстве. Разработчики описывают возможности своих приложений как инструменты, которые могут использовать агенты и ИИ-помощники (например, Gemini). Google сравнивает AppFunctions с MCP, популярным для агентов и серверных инструментов. Однако эти функции выполняются локально на устройстве Android.

Второй - автоматизация работы с UI. Google «разрабатывает фреймворк автоматизации работы с UI для агентов и ИИ-помощников, чтобы они могли интеллектуально выполнять общие задачи в установленных приложениях пользователей». Эта платформа берет на себя основную работу, поэтому агенты смогут получить доступ к приложениям без написания кода. Это простой способ расширить охват без серьезных инженерных затрат прямо сейчас. Google заявляет, что Android 17 «расширит эти возможности, чтобы охватить еще больше пользователей, разработчиков и производителей устройств».
🔥51👍1
Интересный тест Flutter, React Native и нативных приложений (Swift на iOS, Kotlin на Android). Казалось бы, в течение многих лет существовала поговорка: «используйте нативные приложения для максимальной производительности, используйте кроссплатформенные приложения для более быстрой разработки». Это был компромисс. Скорость против удобства. Но этот тест показывает, что этот тезис устарел. Flutter больше не жертвует производительностью ради удобства кроссплатформенности. По таким важным показателям, как стабильность, пропущенные кадры и время запуска, он превосходит нативный код, написанный с использованием собственных инструментов платформ.

Разработка

Will vibe coding end like the maker movement?

Маркетинг

Blizzard наконец-то представил свою мобильную игру Overwatch
Выручка App Store от игр в 2025 достигла $52.5 млрд, превзойдя совокупную выручку Google Play и Steam

Кроссплатформа

Вы думали, что Flutter обладает производительностью, близкой к нативной? А вот и нет!
NativePHP for Mobile is Now Free: Build Native iOS & Android Apps with Laravel
Flutter. Material_ui is already on pub.dev. Be the first to try it out
Flutter & Dart’s 2026 roadmap

iOS

App Store Connect CLI — быстрая работа с App Store Connect API
Кастомные параметры и анимация с использованием шейдеров Metal
Payo — управление покупками и подписками в iOS-приложении
Как слить токен авторизации через виджет iOS — и как этого не допустить
How to Set Up and Use Different MCP Servers to Automate iOS Application Development
Modularizing Swift Apps with SPM

Android

Gemini автоматизирует работу с приложениями
Suspend Is Not Async: Why Kotlin suspend Doesn’t Switch Threads
The Intelligent OS: Making AI agents more helpful for Android apps
Unit Testing Coroutines and Flows in Android
Building a Production-Ready Android App: A Complete Guide to Modern Best Practices
🔥62😁2🤡2👍1
Вышел Xcode 26.3 с поддержкой ИИ-агентов

В Xcode 26.3 теперь можно использовать такие инструменты, как Claude Agent от Anthropic и Codex от OpenAI, чтобы ускорить все аспекты разработки приложений.
Теперь агенты, такие как Claude Agent и Codex, могут взаимодействовать с проектом на протяжении всего жизненного цикла разработки, предоставляя разработчикам возможность оптимизировать рабочие процессы, быстрее внедрять изменения и воплощать идеи в жизнь. Агенты могут искать документацию, изучать структуру файлов, обновлять настройки проекта и визуально проверять свою работу, понимая предварительные просмотры Xcode и итеративно выполняя сборки и исправления.

Xcode 26.3 также предоставляет доступ к своему интерфейсу через Model Context Protocol (MCP), позволяя другим совместимым агентам и инструментам (помимо OpenAI и Anthropic) напрямую интегрироваться с Xcode.

Вот на YouTube Кен Орр, руководитель команды Xcode в Apple, демонстрирует возможности новой интеграции.
👍10
Кастомные параметры вместо мышления

Новый еженедельный дайджест со всеми материалами за неделю - новая статья про шейдеры Metal и переход от Dagger к Metro, 10 фич в Android-приложение за один заход и лучшая производительность Flutter, новый подход к прогнозированию погоды, настройка конвейера доставки и многое другое. Заходите!
👍1
👮‍♀️ Claude занял первое место в App Store на волне противостояния с правительством

Приложение Claude заняло первое место в App Store, поскольку пользователи объединились в поддержку компании Anthropic в противостоянии с правительством.

В настоящее время чат-боты с искусственным интеллектом занимают три верхние строчки в рейтинге самых скачиваемых приложений App Store в США. Для приложения Claude от Anthropic, которое сейчас находится на первом месте, это скачок с 42-го места два месяца назад.

Для Anthropic первое место не связано с какой-либо новой функцией или возможностью. Вместо этого, похоже, что недельная сага между Anthropic и правительством США вывела Claude на вершину App Store.

В пятницу компания Anthropic подверглась критике со стороны президента Трампа и министра войны Пита Хегсета, правительство демонстративно отказалось от использования их ИИ-моделей. После этого приложение быстро вышло на первое место.

Хотя долгосрочные последствия этого разногласия пока неясны, компания Anthropic в узнаваемости бренда от скандала точно выиграла.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Media is too big
VIEW IN TELEGRAM
Я уже писал в чате, что летом мы планируем расширить рабочие вертикали и чуть двинуться в сторону лайфтайм приложений. Как некоторые уже знают(и работают), у нас есть внутренняя команда AI-продакшна полного цикла - IZOTON MEDIA. До недавнего времени ребята работали только под собственные задачи команд. Теперь это доступно и вам. Что умеем:

🎾 Быстрое производство рекламных роликов и креативов под баинг в любом объеме и под любые сорсы;
🎾 Существенный опыт работы с продвижением мобильных проектов;
🎾 Прайсы действительно ниже, чем на рынке;
🎾 Полный цикл: идея → сценарий → продакшн → монтаж;
🎾 Адаптация под любые ГЕО и вертикали;
🎾 Масштабирование креативов без потери качества.
🎾 Весь постпродакшн и обработка, втч и звука


ИИ берет на себя рутину и скорость. Креатив, режиссура и стратегия — в руках профессионалов. Вы получаете результат быстрее рынка и дешевле студийного продакшна.

Для моих ребят будет постоянная скидка в 15 процентов по промику "Я от Кота". Запросить кейсы и рассчитать проект к @izoton_media_bot.
👍2🙈2🔥1😁1🤡1
iOS

Apple заменит Core ML на модернизированную платформу Core AI, что поможет разработчикам лучше использовать современные ИИ-возможности в своих приложениях для iOS 27. Хотя переход от Core ML к Core AI вполне может быть просто отражением современной терминологии, переименование фреймворка говорит о том, что Apple уделяет ему большое внимание и в этом году. Для разработчиков это, вероятно, будет означать новые способы внедрения функций ИИ в приложения без необходимости использования большого количества сторонних ресурсов и создания инструментов с нуля.

Apple заменит Core ML на Core AI
Вышел Xcode 26.3 с поддержкой ИИ-агентов
Tracking token usage in Foundation Models
Measuring Core Data and SwiftData
Juice it up with UIKit Dynamics
NSCache in Swift: A Practical Guide
Mastering Geometry in SwiftUI
Android

Jetpack Compose традиционно использует систему Modifier для задания внешнего вида UI-компонентов, но при создании интерактивных элементов (например, кнопок с различным стилем при наведении или нажатии) это требует много ручной работы со стейтом и анимациями. Новый экспериментальный Styles API предлагает декларативный способ описания стилизации с учётом состояний: Style-объекты инкапсулируют визуальные свойства, StyleScope предоставляет доступ ко всем layout-, drawing- и text-свойствам, а StyleState позволяет отслеживать состояние (нажат/наведён/фокус и т.д.). Это позволяет описать внешний вид компонента и его реакцию на взаимодействия в одном блоке с автоматическими анимациями без явного управления состояниями и Animatable.

ProjectGuard — защита проекта от нежелательных зависимостей
Introducing the Experimental Styles API in Jetpack Compose
On-Device RAG for App Developers: Embeddings, Vector Search, and Beyond
Understanding Dependencies injection with unit-tests and Koin
Jetpack Compose and the Speed of Thinking
I Got Rejected From Google. Here’s What I Changed.
👍1
В 2026 году команда Flutter и Dart сфокусируется на создании высококачественного кроссплатформенного стека, ориентированного на производительность и стабильность. Главные направления — завершение миграции на рендерер Impeller на Android, переход на WebAssembly (Wasm) как основу для веб-сборок и повсеместная поддержка новых версий Android и iOS, включая многооконный режим и расширенную десктоп-поддержку. Команда также развивает Flutter GenUI SDK и исследует возможности «эфемерного» исполнения, поддерживая генерацию адаптивного UI с помощью ИИ и добавляя функции вроде быстрых Dart Cloud Functions и интеграции с Google Cloud SDK. Планы также включают улучшение опыта разработчиков: глубокую интеграцию с инструментами ИИ (например, Gemini CLI), поддержку рефакторингов и автоматизации через MCP-серверы, а также развитие открытой модели экосистемы с разделением Material и Cupertino на отдельные пакеты для ускоренной эволюции. При этом язык Dart будет развиваться дальше: введение первичных конструкторов, упрощение генерации кода и улучшенная компиляция для Wasm и больших приложений.

Разработка

От языков программирования к Developer Experience
Волновая архитектура на практике
OCaml – лучший функциональный язык: OCaml vs Haskell vs TypeScript
Your users aren’t human anymore; start building for agents today

Маркетинг

Как я получил 4,4 миллиона просмотров и 2000 регистраций для своего приложения. Без рекламы.
Анализ прорывных ИИ-технологий в финансах и Health-приложениях: исследование трендов мобильного маркетинга 2026 и поиск путей к стабильному росту
Claude занял первое место в App Store на волне противостояния с правительством
Freecash: приложение, которое обмануло TikTok, и вышло в лидеры
Jest, платформа для игр в мессенджерах, бросает вызов существующему положению дел

Кроссплатформа

План развития Flutter и Dart в 2026 году
Calf — адаптивные пользовательские интерфейсы в Compose Multiplatform
Flutter Developer Roadmap in 2026: Should You Learn It or Not?
KMP Architecture: The Case for Pure Kotlin ViewModels
🔥4👍1💅1
После почти годичных переговоров компания MyFitnessPal успешно приобрела своего перспективного конкурента Cal AI. Cal AI — это стартап, создавший приложение для подсчета калорий с помощью ИИ, разработанное двумя подростками из старшей школы. За менее чем два года приложение набрало более 15 миллионов загрузок и принесло более 30 миллионов долларов годового дохода. Молодой основатель также поделился в прошлом году в X, что из 18 лучших колледжей, в которые он подавал заявки, даже имея средний балл 4.0 и успешную компанию, он получил отказ от 15. В то время он сказал TechCrunch, что вообще не собирался поступать в колледж и хотел сосредоточиться на своей компании. Но затем лето в «хакерском доме» в окружении типичных студентов-неудачников из Силиконовой долины заставило его понять, что с высшим образованием его возможности улучшатся.

Разработка

I Stopped Vibe Coding and Started “Prompt Contracts” — Claude Code Went From Gambling to Shipping
Why your team is slower than last year
No CS Degree. 9 Years of Experience. Still Got Rejected. Here Is What I Did Next.

Маркетинг

RespectASO — исследование ключевых слов в App Store
MyFitnessPal купил Cal AI
Subscriptions Will Survive in Exactly Two Places

Кроссплатформа

Между логином и 401: как устроена JWT-авторизация во Flutter
Offline-First Flutter Architecture

iOS

Construkt — декларативный и реактивный UIKit
Нет соединения — не значит нет UX. Как не потерять доверие пользователя вместе с интернетом
How I Finally Understood MainActor (And Why It Matters)
Wrapping Third-Party Dependencies in Swift

Android

Экспериментальный Styles API в Jetpack Compose
Как нарезать Android-монолит с помощью compile-time плагинов?
Не Vibe-Coding, а инженерия с AI: как я за полгода сделал Android-приложение: социальный трекер привычек
Jetpack Compose MeasurePolicy Explained
The Compose Styles API: Building 8 Labs to Master Declarative Styling
Adding Navigation support to Large Content Viewer with Compose
🌚5
This media is not supported in your browser
VIEW IN TELEGRAM
Устройства Android плавно интегрируются с подключенными дисплеями.

Google официально объявила о выходе режима рабочего стола (desktop windowing) в общую доступность вместе с релизом Android 16 QPR3. Новая функция, разработанная в партнерстве с Samsung, позволяет пользователям подключать смартфоны Pixel и Samsung к внешним мониторам для создания полноценной рабочей среды. В этом режиме на внешнем экране появляется панель задач и поддержка многооконности, что позволяет запускать несколько приложений одновременно в свободно масштабируемых окнах, превращая мобильное устройство в подобие настольного ПК.

Для разработчиков это нововведение означает необходимость адаптации приложений под различные форм-факторы и способы ввода. Программы, созданные с использованием принципов адаптивного дизайна, автоматически подстраиваются под интерфейс рабочего стола, обеспечивая привычный пользовательский опыт. Google призывает разработчиков переходить от фиксированной портретной ориентации к поддержке многодисплейного режима и современных методов управления окнами, чтобы их продукты оставались актуальными и продуктивными на расширяющейся экосистеме устройств.
👍82