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
Самая большая проблема при внедрении методов агентной инженерии — это смириться с последствиями того факта, что написание кода теперь обходится дёшево. Код всегда был дорогим. Написание нескольких сотен строк чистого, протестированного кода занимает у большинства разработчиков программного обеспечения целый день или даже больше. Многие наши инженерные привычки, как на макро-, так и на микроуровне, построены вокруг этого основного ограничения. Использование программных агентов значительно снижает затраты на ввод кода в компьютер, что разрушает многие из наших существующих личных и организационных представлений о том, какие компромиссы оправданы.

Разработка

Сейчас писать код дешево
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 «расширит эти возможности, чтобы охватить еще больше пользователей, разработчиков и производителей устройств».
🔥5👍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
👮‍♀️ Автор рассказывает о новом подходе к общению с ИИ в программных задачах - промпт-контрактах. Это как вроде как юридические контракты, с четырьмя обязательными блоками: GOAL (ЦЕЛЬ) — чёткий критерий успеха, CONSTRAINTS (ОГРАНИЧЕНИЯ) — жёсткие ограничения, OUTPUT FORMAT (ВЫВОД) — структура результата, FAILURE CONDITIONS (УСЛОВИЯ СБОЯ) — что делает результат неприемлемым. Вроде как говорит, что это кардинально улучшило его ИИ-шницу.

Разработка

Промпт-контракты — от гадания к выпуску кода
OpenAI создаёт собственный GitHub
Apple анонсировала MacBook Pro M5 Pro и M5 Max
Claude Skills for Product Designers
Claude is an Electron App because we’ve lost native

Маркетинг

App Store после 3 марта: сколько органики потеряют приложения и что с этим делать

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

Оформление и настройка тем во Flutter: руководство для разработчиков
Flutter: Remove ifs from the widget tree with Visibility and without

iOS

Малоизвестная возможность Swift: for case let, о которой не знают многие iOS-разработчики
I Replaced All My Loops with Recursion. Here’s What Happened
Adjusting line height in SwiftUI on iOS 26
Why Does Passing NSManagedObjectContext Across Isolation Domains No Longer Error in Swift 6.2?
Understanding @State and @Binding in SwiftUI (With Internal Architecture Explained)

Android

Устройства Android плавно переходят в десктопный режим
Declarative Gradle — процесс сборки в ясной и понятной форме
ViewModel is deprecated
Velocity for Every Gradle Team
Memory Leaks You Probably Missed in Jetpack Compose
Ship Your Compose UI Updates in Seconds
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Google снижает комиссию в Play Store до 20%

Google продолжает серию изменений в Play Store после урегулирования многолетней судебной тяжбы с компанией Epic Games.

• В рамках соглашения программа Google «Зарегистрированные магазины приложений» (Registered App Stores) предложит более упрощенный процесс установки для пользователей, желающих устанавливать приложения не из Google Play. Ранее процесс установки приложений из сторонних источников сопровождался пугающими предупреждениями для пользователей об опасности приложений, не размещенных в Play Store. Эта программа позволит убрать это, поскольку одобренные магазины должны будут соответствовать определенным требованиям к качеству и безопасности, отмечает Google. Программа сначала появится на рынках за пределами США. После утверждения соглашения судом она будет запущена и в США.
• Еще одно заметное изменение — корректировка структуры комиссионных сборов Play Store. Как и у Apple, стандартная комиссия Google составляла 30%, с уменьшенной до 15% комиссией за повторяющиеся подписки. Теперь она будет еще ниже: новая «плата за обслуживание» составит 20% за покупки внутри приложений при новых установках и 10% за повторяющиеся подписки. Однако эта комиссия не включает использование собственной платежной системы Google — это еще 5% (эта ставка действует в США, Европейской экономической зоне и Великобритании, в других странах будут действовать свои собственные рыночные ставки).
• Также появятся новые программы для разработчиков, включая программу Apps Experience Program и обновленную программу Google Play Games Level Up, обе из которых стимулируют разработчиков создавать качественные приложения для Android. Разработчики, решившие участвовать в этих программах, будут платить 20% комиссии с транзакций, совершаемых в уже установленных приложениях, но только 15% комиссии с транзакций, совершаемых в новых приложениях.

Новые сборы вступят в силу к 30 июня 2026 года в ЕЭЗ, Великобритании и США. Новые программы для разработчиков также будут запущены в это же время. Австралия получит доступ к новой структуре комиссий 30 сентября, за ней последуют Корея и Япония к 31 декабря. Новые комиссии распространятся на мировой рынок к 30 сентября 2027 года.
👍5
Media is too big
VIEW IN TELEGRAM
Я уже писал у нас в чате недавно, что летом мы планируем расширить рабочие вертикали и чуть двинуться в сторону лайфстайл тематик приложений. Как некоторые уже знают(и работают), у нас есть внутренняя команда AI-продакшна полного цикла - IZOTON MEDIA. До недавнего времени ребята работали только под собственные задачи команд. Теперь это доступно и вам. Что умеем:

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


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

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

Подписаться на канал.
2
🧩 Apple на этой неделе анонсировала множество устройств, среди которых новые MacBook Pro на M5 Pro и M5 Max, и MacBook Neo на смартфонном A18 Pro. Если последний выглядит каким-то странным потомком нетбуков, то первые два шикарны -  18-ядерные ЦП (шесть «суперядер»), что адет повышение производительности в многопоточных задачах до 30% по сравнению с поколением M4 и до 2,5 раз по сравнению с M1 Pro и M1 Max. M5 Pro имеет до 20 ядер GPU, а M5 Max — вдвое больше, до 40. Каждое ядро ​​GPU теперь также включает нейронный ускоритель, который, по словам Apple, обеспечивает более чем в 4 раза большую пиковую вычислительную мощность для ИИ по сравнению с M4 Pro и M4 Max. Apple заявляет о повышении производительности графики до 50% в целом, а в задачах трассировки лучей наблюдается улучшение до 35% по сравнению с предыдущим поколением. Среди других нововведений — 16-ядерный нейронный процессор с более быстрым подключением к памяти, который, по словам Apple, ускоряет выполнение задач Apple Intelligence на устройстве. При всем при этом Apple заявляет о 24 часах работы 16-дюймовой модели. Цена, правда, начинается с 2199 долларов. Но на что не пойдешь ради ускорени сборки Xcode...

Разработка

Apple анонсировала MacBook Neo с процессором A18 Pro
UI Design with Gemini 3.1

Маркетинг

Google снижает комиссию в Play Store до 20%

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

React Native vs Flutter: The Debate Is Over — Here’s What Hiring Signals Say
Flutter Provider Best Practices You're Probably Missing

iOS

Я заменил все циклы рекурсией — вот что произошло
UIComponent — декларативный UIKit
Difference between certificate and provisioning profile
MVVM and the Cost of Carrying Old Patterns Forward
This one liner to add beautiful transition between UICollectionViews
Getting Started with iOS App Observability

Android

Зачем нужен companion object в Hilt-модулях
Навигация как нервная система: Как мы подружили немецкий автопром с японскими платными дорогами через AIDL
Сравнение MVI и KoTEA
I Tried the Netflix Android Interview — 12 Performance Optimization Questions That Were Surprisingly Difficult
How to Run Local LLMs on Android: From Setup to Real-World Use Cases
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
📺 Видео и подкасты за неделю

(iOS En) Fortify your app: Essential strategies to strengthen security
(iOS En) iOS Photos App Style Transitions Using SwiftUI
(iOS En) Building a Better Network Manager in Swift
(iOS En) Apple Stores App's Minimizable Tab Bar Using SwiftUI
(And Ru) Защищаем ресурсы Android-приложений с Runtime Resource Overlay
(And En) Migrating Kotlin Android projects to AGP 9.0
(And En) Tracing 2.0 - Performance on Android has never been easier
(Crs Ru) Flutter Dev Podcast #52: вайб-кодинг и агенты — превращение Flutter-разработчика в фуллстека
(Dev Ru) Почему свои IT-продукты выгоднее, чем работа в найме
(Dev Ru) Оконные менеджеры — стекинг, тайлинг, ментальная модель управления экраном
(Dev En) Is it still worth learning to code in 2026?
(Dev En) Learn MLOps with MLflow and Databricks – Full Course for Machine Learning Engineers
(Dsg Ru) Ozon Tech Community Design Meetup

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

(iOS Ru) Minimal Widget Product: путь к эффективной и гибкой реализации виджетов
(iOS Ru) Уроки Swift: UITextField с анимированным плейсхолдером
(And Ru) Hilt в многомодульный проект — пособие по внедрению зависимостей для новичков
(And Ru) Как устроена мобильная архитектура. Интервью с тех. лидером юнита «Mobile Architecture» из AvitoTech
(Crs Ru) Адаптивная вёрстка во Flutter
(Crs Ru) Заезжаем в KMP. Но какой ценой?
(Dev Ru) Внедряем Server Driven UI

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