스크립트
00:00:00Shopify полдесятка лет активно поддерживали React Native, но на этой неделе объявили,
00:00:05что возвращаются к нативной разработке. Поняв причины, вы, возможно, тоже захотите перейти.
00:00:10Главный плюс таких платформ, как React Native — возможность создать приложение один раз и выпустить его на Android
00:00:15и iOS: единая кодовая база, один язык и куда меньше расходов на поддержку. Shopify целиком поддерживали
00:00:21эту идею: они поддерживают пакеты для React Native с более чем 2 миллионами скачиваний в неделю,
00:00:26и ещё в 2025 году они публиковали статьи, подтверждая верность этой технологии. Но всего
00:00:32год спустя они кардинально изменили своё мнение. Все открытые репозитории
00:00:37передаются сообществу, а компания полностью возвращается к нативной разработке. Главная причина — развитие ИИ.
00:00:44С новейшими моделями и умными внутренними инструментами необходимость писать два отдельных приложения исчезла.
00:00:49Можно просто натравить модель на iOS-код и сказать: “Сделай мне то же самое на Android”, и это сработает.
00:00:55Сегодня мы разберём, как именно Shopify разрабатывают нативные приложения, и я полностью
00:01:00согласен с ними. Несмотря на то, что большую часть последнего десятилетия я писал на React Native,
00:01:06я тоже вернулся к нативному коду и был приятно удивлён. Надеюсь, в этом видео я убежу
00:01:12вас сделать то же самое. На прошлой неделе Shopify опубликовали статью, заявив, что будущее мобильного Shopify — за нативным кодом.
00:01:23Там полно шикарных мыслей. Они рассказывают, как избегают ИИ-галюцинаций и мусора с помощью системы
00:01:29Helix, делящей работу агента на мелкие этапы, и как построить быструю обратную связь для проверок.
00:01:36Поработав с нативным кодом последние несколько месяцев, я кардинально изменил собственный
00:01:42процесс разработки. Разберём всё по порядку, но сначала: почему они решили перейти? Ведь, как они сами писали,
00:01:48ещё в 2025 году будущее React Native казалось светлым, и Shopify планировали продолжать
00:01:54инвестировать в него. Но с тех пор модели кодинга совершили огромный рывок, и для приложений нашей команды
00:01:59создание одной и той же фичи на Swift и Kotlin больше не требует прежних затрат. Преимущества
00:02:05React Native — написать один раз для обеих платформ — благодаря ИИ больше не актуальны. Во-первых, они создали
00:02:11систему Helix, чтобы решить недостатки текущих моделей. Они отмечают, что есть соблазн просто натравить LLM
00:02:17на кодовую базу React Native и попытаться сразу сгенерировать ту же фичу в нативном коде, но это не работает.
00:02:23Даже если попросить её собрать максимум информации, разбить всё на спецификации и файлы задач, а затем
00:02:29реализовать, вы получите гору неподдерживаемого кода, который нельзя отправить в релиз. Helix же
00:02:34заранее предполагает, что первая попытка не будет идеальной, и выстраивает цикл, в котором неидеальный результат
00:02:41просто не пройдёт дальше, пока не станет качественным. Разработчик сначала направляет Helix на экран, она читает
00:02:46код React Native, предлагает последовательность чекпоинтов — небольших упорядоченных фрагментов работы,
00:02:52которые можно проверить за минуты, — а затем шаг за шагом их реализует. Каждый чекпоинт должен доказать свою работоспособность тестами,
00:03:00совпасть с работающим приложением при визуальной проверке, пройти два строгих ревью кода и получить одобрение человека
00:03:05перед закоммичиванием, после чего начинается следующий. Замечания из каждого ревью запоминаются,
00:03:11поэтому с ходом миграции процесс становится всё более автономным. Такой подход эффективно устраняет халтуру.
00:03:18Но даже с этой системой осталась огромная проблема: компиляция и тестирование для натива выполняются медленно.
00:03:23Агенты вносят изменения за секунды, но на проверку результата у них уходит несколько минут.
00:03:29Из-за этого итерации становятся очень медленными и ручными. Не так важно, насколько хороша модель,
00:03:34если она не может быстро проверить свою работу, что особенно сложно на мобильных устройствах. Shopify решили это двумя
00:03:40конкретными способами. Во-первых, бизнес-логику нужно полностью отделить от UI. Это позволяет запускать логику
00:03:46без интерфейса на ПК, и агенты могут выполнять её через CLI, совершая итерации за
00:03:52миллисекунды, а не минуты, без участия симуляторов. Если проводить аналогию с веб-разработкой, это как
00:03:58хранить всё состояние приложения в JSON, а затем вызывать экшены для обновления этого хранилища. UI — это лишь
00:04:04отображение этого состояния, так что нет никакой необходимости обрабатывать дерево доступности, инспектировать
00:04:10экран или искать и кликать по элементам. Всем можно управлять вообще без UI. А в случаях,
00:04:16когда вам действительно нужно отрендерить UI, вы всё равно можете управлять всеми взаимодействия через CLI,
00:04:22так что всё остаётся быстрым. Вот агент тестирует приложение в реальном времени, и это видео вообще не ускорено.
00:04:28Я собрал похожее простое демо, которое через CLI может открыть YouTube и
00:04:32подписаться на Better Stack. Но вам даже агент для этого не нужен — можно просто подписаться
00:04:36с помощью кнопки под этим видео. Без такой системы вам пришлось бы использовать
00:04:41XCUI Test от Apple, но он работает в отдельном процессе, ищет элементы путем обхода иерархии accessibility,
00:04:46симулирует нажатия, а затем снова опрашивает дерево для проверки, что на контрасте невероятно медленно и нестабильно.
00:04:53Благодаря этим подходам приложение Shop уже полностью переведено на нативные технологии — а у него 3 миллиона
00:04:59скачиваний в месяц. Оговорка в том, что Shopify — это, конечно, гигантская компания. Вам всё равно пришлось бы
00:05:06поддерживать два приложения. Но я скажу, что это лишь демонстрация того, на что способны модели сегодня. В ближайшие
00:05:11несколько месяцев и лет всё станет ещё проще, и мне кажется, это начнёт ещё сильнее размывать ценность React Native.
00:05:17Shopify поддерживают несколько крупных open-source пакетов, включая FlashList с 2 миллионами
00:05:23скачиваний в неделю, React Native Skia и Restyle. Все эти пакеты сейчас передаются
00:05:30сторонним мейнтейнерам, так что похоже, Shopify полностью умывают руки от React Native.
00:05:36Airbnb, к слову, тоже ушли с React Native много лет назад, потому что поддержка iOS, Android и моста между ними
00:05:43превратилась в разработку под три платформы вместо одной. Я годами обожал писать на React Native и провёл большую часть карьеры
00:05:50в этой сфере, но я действительно считаю, что это начало конца для кроссплатформенных технологий. По мере развития агентов
00:05:56зачем отказываться от оптимизации производительности и лучших нативных фич платформ, таких как CloudKit
00:06:02и SwiftUI? Конечно, работать с этими системами можно и через React Native, но производительность
00:06:08никогда не будет столь же высокой. Напишите в комментариях, что думаете. Подписывайтесь, если ещё этого не сделали,
00:06:13мы постоянно выпускаем контент про технологии и ИИ. До скорой встречи!
커뮤니티 글
아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!
이 영상에 대해 글쓰기