Для того чтобы организовать полностью автономный цикл разработки с помощью LLM-агентов, таких как Codex, Claude, OpenCode и т.д., необходимо обеспечить агентам обратную связь от вашего приложения.
Я экспериментировал с несколькими решениями и вот мой топ:
• Agent Device: iOS & Android automation for AI agents
• AXe automation для iOS Simulator
Для Android, на удивление, отлично работает обычная утилита adb: она умеет делать скриншоты, симулировать жесты даже на реальном устройстве и снимать метрики производительности, например с помощью команды top
React Native World | Навигация по каналу
Я экспериментировал с несколькими решениями и вот мой топ:
• Agent Device: iOS & Android automation for AI agents
• AXe automation для iOS Simulator
Для Android, на удивление, отлично работает обычная утилита adb: она умеет делать скриншоты, симулировать жесты даже на реальном устройстве и снимать метрики производительности, например с помощью команды top
React Native World | Навигация по каналу
🔥5😁2
High-performance icon rendering
В новом проекте я обнаружил, что для SVG-иконок используется библиотека react-native-svg.
Я уже писал о том, почему это не лучшее решение и чем можно её заменить.
Nano icons более эффективный подход с точки зрения производительности: он компилирует SVG в TTF-шрифты и создаёт JS-маппинги, что позволяет добиться максимальной скорости рендеринга с минимальным overhead на обоих потоках.
В итоге:
• constant cost на иконку, независимо от сложности SVG
• почти нулевой overhead при списках (100+ иконок)
• нативная скорость, как у текста
Bonus: подробнейший документ с архитектурными решениями для этой библиотеки
React Native World | Навигация по каналу
В новом проекте я обнаружил, что для SVG-иконок используется библиотека react-native-svg.
Я уже писал о том, почему это не лучшее решение и чем можно её заменить.
Nano icons более эффективный подход с точки зрения производительности: он компилирует SVG в TTF-шрифты и создаёт JS-маппинги, что позволяет добиться максимальной скорости рендеринга с минимальным overhead на обоих потоках.
В итоге:
• constant cost на иконку, независимо от сложности SVG
• почти нулевой overhead при списках (100+ иконок)
• нативная скорость, как у текста
Bonus: подробнейший документ с архитектурными решениями для этой библиотеки
React Native World | Навигация по каналу
👍13👎1
На прошлой неделе компания Margelo - создатели таких библиотек, как NitroModules, VisionCamera и множества других не менее популярных решений для RN начали активно вести свой блог.
Вот несколько интересных статей:
• улучшение производительности анимаций в Android-приложении Discord
• ускорение JSI, часть 1 и 2
• работа с QR-кодами в VisionCamera
И раз уж зашла тема про блоги и ресурсы, поделюсь списком того, что я активно читаю.
📧 Рассылки:
• This Week in React - лучшая еженедельная рассылка про React Native
• React Native Newsletter - ежемесячная рассылка от InfiniteRed (также у них есть еженедельный подкаст RN Radio)
• JavaScript Weekly - всё интересное из мира JS за неделю
✍️ Блоги:
• Callstack - много статей о производительности и проблемах, с которыми компания сталкивается у своих клиентов
• Software Mansion - блог создателей Reanimated
• Expo - в основном интересны статьи от приглашённых авторов
• Andrei Calazans - в последнее время много пишет про профайлинг RN
• r/reactnative - тред на Reddit с сортировкой по top за неделю
React Native World | Навигация по каналу
Вот несколько интересных статей:
• улучшение производительности анимаций в Android-приложении Discord
• ускорение JSI, часть 1 и 2
• работа с QR-кодами в VisionCamera
И раз уж зашла тема про блоги и ресурсы, поделюсь списком того, что я активно читаю.
📧 Рассылки:
• This Week in React - лучшая еженедельная рассылка про React Native
• React Native Newsletter - ежемесячная рассылка от InfiniteRed (также у них есть еженедельный подкаст RN Radio)
• JavaScript Weekly - всё интересное из мира JS за неделю
✍️ Блоги:
• Callstack - много статей о производительности и проблемах, с которыми компания сталкивается у своих клиентов
• Software Mansion - блог создателей Reanimated
• Expo - в основном интересны статьи от приглашённых авторов
• Andrei Calazans - в последнее время много пишет про профайлинг RN
• r/reactnative - тред на Reddit с сортировкой по top за неделю
React Native World | Навигация по каналу
👍8🔥8
🔥3❤1
Hermes V1 + Reanimated
Если вы недавно перешли на новую версию Expo 56 или RN 84+ вы могли заметить (или нет) чрезвычайно высокое потребление памяти (+200-400mb в зависимости от того как много у вас worklet)
Виной всему Reanimated и его eval функциональность которая на новом Hermes V1 добавляет 512Kb к каждому уникальному worklet😐
Фикса пока нет, как вариант можно отключить Hermes V1 или перейти на Worklets Bundle Mode
React Native World | Навигация по каналу
Если вы недавно перешли на новую версию Expo 56 или RN 84+ вы могли заметить (или нет) чрезвычайно высокое потребление памяти (+200-400mb в зависимости от того как много у вас worklet)
Виной всему Reanimated и его eval функциональность которая на новом Hermes V1 добавляет 512Kb к каждому уникальному worklet
Фикса пока нет, как вариант можно отключить Hermes V1 или перейти на Worklets Bundle Mode
React Native World | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🤝1
Подборка интересных статей о производительности Skia и Reanimated
Which React Native Animation Library Should You Use for Performance?
Сравнение трёх подходов к анимациям: Reanimated, Animated API и react-native-ease.
Главный вывод: универсального решения не существует, несмотря на распространённое мнение, что Reanimated это решение для любых задач.
Chasing a Phantom Jump: How We Made Pingo's Animations Smooth on Low-End Android
Подробный разбор того, как авторы профилировали и оптимизировали сложные анимации на React Native Skia для слабых Android-устройств.
Много практических приёмов по поиску узких мест и повышению плавности.
My iPhone 16 Pro Stuttered but the S24 Felt Smoother: A React Native Skia Hunt
Очень интересный кейс о том, как автор исследовал проблему с производительностью Skia shader-анимации на iPhone 16 Pro.
Статья показывает весь процесс профилирования GPU, поиска причины микрофризов и оптимизации, которая позволила добиться стабильных 120 FPS.
React Native World | Навигация по каналу
Which React Native Animation Library Should You Use for Performance?
Сравнение трёх подходов к анимациям: Reanimated, Animated API и react-native-ease.
Главный вывод: универсального решения не существует, несмотря на распространённое мнение, что Reanimated это решение для любых задач.
Chasing a Phantom Jump: How We Made Pingo's Animations Smooth on Low-End Android
Подробный разбор того, как авторы профилировали и оптимизировали сложные анимации на React Native Skia для слабых Android-устройств.
Много практических приёмов по поиску узких мест и повышению плавности.
My iPhone 16 Pro Stuttered but the S24 Felt Smoother: A React Native Skia Hunt
Очень интересный кейс о том, как автор исследовал проблему с производительностью Skia shader-анимации на iPhone 16 Pro.
Статья показывает весь процесс профилирования GPU, поиска причины микрофризов и оптимизации, которая позволила добиться стабильных 120 FPS.
React Native World | Навигация по каналу
🔥6
React Native World
Hermes V1 + Reanimated Если вы недавно перешли на новую версию Expo 56 или RN 84+ вы могли заметить (или нет) чрезвычайно высокое потребление памяти (+200-400mb в зависимости от того как много у вас worklet) Виной всему Reanimated и его eval функциональность…
How Worklets Bundle Mode accidentally fixed Hermes V1 memory regression
А вот и подробный разбор проблемы с Hermes V1 с потенциальными фиксами.
React Native World | Навигация по каналу
А вот и подробный разбор проблемы с Hermes V1 с потенциальными фиксами.
React Native World | Навигация по каналу
❤2🔥1
Shopify
Migrating Shop app from React Native to native (2026) - Shopify
We migrated the Shop app from React Native to Swift and Kotlin, going from proof-of-concept to publishing in 12 weeks with the help of AI.
https://shopify.engineering/shop-app-migration
немного технический деталей о том чего удалось добиться shopify с помощью миграции на нативку
от себя добавлю - несколько месяцев назад я написал статью где по показателю startup time на iOS получилось приблизиться к 1 секунде для cold start. Больше деталей в статье
что же касается ошибок - 90+ процентов нативных крашей и memory warning были как раз из-за комбинации skia + reanimated
React Native World | Навигация по каналу
немного технический деталей о том чего удалось добиться shopify с помощью миграции на нативку
от себя добавлю - несколько месяцев назад я написал статью где по показателю startup time на iOS получилось приблизиться к 1 секунде для cold start. Больше деталей в статье
что же касается ошибок - 90+ процентов нативных крашей и memory warning были как раз из-за комбинации skia + reanimated
React Native World | Навигация по каналу
🔥11❤3