Inferno Vet создает интерфейсную платформу, созданную с учетом искусственного интеллекта

Ripple, новый фреймворк пользовательского интерфейса на основе TypeScript, можно было бы считать просто еще одним фреймворком, если бы его не создал Доминик Ганнауэй.

Ганнауэй создал InfernoJS, быструю библиотеку пользовательского интерфейса, похожую на React. Он также работал в основной команде React три из шести лет в Meta. Он работал инженером-программистом в Vercel и Bloomberg, а сейчас является главным инженером по продуктам в Attio, платформе управления взаимоотношениями с клиентами (CRM), основанной на искусственном интеллекте. Ах да, он также внес свой вклад в Svelte 5.

Ripple находится на ранней стадии разработки и еще не готов к производству, но уже вызывает ажиотаж в кругах JavaScript. The New Stack поговорил с Ганнауэем о фреймворке и о том, почему он решил создать его, когда ИИ уже мешает разработке внешнего интерфейса.

Почему: опыт разработчиков для отладки ИИ

Оказывается, искусственный интеллект и большие языковые модели (LLM) частично ответственны за создание Ripple.

«Пару лет назад я бы даже не пытался попробовать это, но теперь, благодаря инструментам искусственного интеллекта, это на самом деле довольно интересное предложение», — сказал он. «Если мы попадем в мир, в котором мы позволим LLM писать большую часть нашей логики, тогда нам придется гораздо больше читать, и чтение не будет нашим кодом. Он будет поддерживать и смотреть на то, что генерирует ИИ».

Большинство инженеров уже читают и просматривают больше кода, чем пишут, добавил он, отметив, что ситуация вряд ли изменится, поскольку LLM генерируют больше кода.

Именно поэтому он сосредоточил внимание на опыте разработчиков, а не на скорости этого фреймворка. По его словам, хотя это и быстро, он в первую очередь сосредоточился на создании «захватывающего опыта при отладке», чтобы облегчить понимание того, почему что-то происходит.

«Ripple всегда будет очень быстрым, поэтому главное, на чем мы сосредоточились, — это опыт разработчиков: иметь код, который намного проще, гораздо легче читать и эргономичен, иметь реактивную систему, с которой не нужно бороться, иметь очень небольшой набор API, а их меньшее количество означает, что вы сможете запомнить их быстрее и быстрее, а затем сможете лучше их составлять», — объяснил он.

Рипл — это язык

Когда дело доходит до фреймворков, Ripple отличается по ряду ключевых моментов. Во-первых, по словам Ганнауэя, Ripple — это не просто платформа. Это язык.

«Чтобы быть собственным языком, но при этом быть достаточно знакомым людям, которые переходят от JavaScript к TypeScript, Ripple должен был быть надмножеством одного из них», — объяснил он.

Он решил сделать его надмножеством TypeScript, поскольку TypeScript включает в себя типы.

«Это большой проект, потому что это не просто фреймворк; и это звучит странно, но вам нужно создать языковой сервер, чтобы все ваши TypeScript работали», — сказал он. «Вы должны сделать так, чтобы подсветка синтаксиса работала. Вы должны сделать ее более красивой, используя ESLint и все виды инструментов экосистемы».

«Чтобы быть собственным языком, но при этом быть достаточно знакомым людям, которые переходят от JavaScript к TypeScript, Ripple должен был быть надмножеством одного из них».
– Доминик Ганнауэй, создатель Ripple

Prettier — это самоуверенный форматировщик кода, используемый в JavaScript и TypeScript. ESLint — это широко используемый линтер для статического анализа кода с открытым исходным кодом.

У Ripple также есть собственное расширение файла: .ripple.

Подход Ripple к детальному рендерингу

Ripple поддерживает мелкозернистый рендеринг, который немного похож на React… но это не так, предупредил он. По его словам, это смесь мира React с нисходящим рендерингом, но на более детальном уровне.

«Значения должны быть связаны с деревом компонентов, что-то вроде React, в котором новое состояние должно использоваться внутри компонента, и это позволяет связывать связь с компонентом, а не с эффектом», — сказал он. «Вместо этого мы получаем возможность зависимости знать о версии сигнала».

«Каждый раз, когда меняется сигнал, меняется и его версия», — добавил он. Когда Ripple вызывает обновление, он проходит через дерево и вместо повторного рендеринга просто проверяет, необходимо ли обновление.

Нет поддержки SSR, сигналов или компонентов сервера React.

В настоящее время Ripple не поддерживает рендеринг на стороне сервера (SSR).

«Я хотел сосредоточиться на создании действительно SPA (одностраничного приложения) и закреплении этой функциональности», — сказал он. «Причина в том, что это дает нам хорошее представление о стабильности, о наших API и о том, как наши варианты дизайна работают или не работают. Но также это позволяет нам потратить некоторое время на переосмысление того, как мы можем выполнять гидратацию и другие вещи, которые сочетаются с рендерингом на стороне сервера».

Еще одно различие между Ripple и другими фреймворками заключается в том, что многие другие фреймворки полагаются как на виртуальный DOM, который представляет собой память дерева пользовательского интерфейса, так и на реактивный график или сигналы. Эта двойная архитектура требует больше памяти и процессорного времени для подключения, отключения и очистки.

«Одним из открытий, которые я сделал, работая над Svelte, было то, что нам на самом деле не нужно было этого делать», — сказал он. «Есть способ сделать это по-другому».

Он объяснил, что, не используя сигналы, Ripple не требует столько памяти и/или не требует столько накладных расходов для очистки дерева или его создания.

Кроме того, Ripple не будет поддерживать серверные компоненты React. Он сказал, что это связано с тем, что Ripple не поддерживает рендеринг на стороне сервера.

Ripple можно использовать внутри React и наоборот

Можно использовать Ripple в существующем приложении React, но верно и обратное: разработчики могут использовать React в приложении Ripple.

«Ripple обладает способностью быть совместимым, то есть вы можете постепенно внедрять Ripple в существующее приложение», — сказал Ганнауэй.

Ripple скоро выпустит адаптер совместимости для React. В будущем он планирует добавить Solid, Svelte, Vue и другие фреймворки, чтобы в Ripple была совместимость со всеми ними.

ТЕНДЕНЦИОННЫЕ ИСТОРИИ YOUTUBE.COM/THENEWSTACK Технологии развиваются быстро, не пропустите ни одной серии. Подпишитесь на наш канал YouTube, чтобы смотреть все наши подкасты, интервью, демонстрации и многое другое. ПОДПИСАТЬСЯ Группа, созданная в Sketch. Лорейн Лоусон — опытный репортер в области технологий, которая в течение 25 лет освещала технологические вопросы, от интеграции данных до безопасности. До прихода в The New Stack она работала редактором сайта банковских технологий Bank Automation News. У нее есть… Подробнее от Лорейн Лоусон.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *