Теперь, когда React и React Native находятся под новой основой, возможно, React добьется прогресса в области рендеринга на стороне сервера (SSR).
По мнению основателей Platformatic, Луки Мараски, генерального директора, и Маттео Коллина, технического директора, SSR — это экзистенциальная проблема, с которой React должен справиться. В среду Мараски и Коллина провели потоковую беседу о React и React Native под названием «Новая эра React: магия компилятора, нативная архитектура и изменение фундамента».
Оба мужчины активно работают с открытым исходным кодом. Коллина известен как автор открытого исходного кода в экосистеме JavaScript; По его словам, модули были загружены более 12 миллиардов раз. Он является членом технического руководящего комитета Node.js и занимается потоками, диагностикой и HTTP. Мараски входит в совет директоров OpenAPI Initiative.
Они обсудили большие преимущества последней версии React и нового компилятора React.
«Честно говоря, самым большим из них, как я уже сказал, является то, что оптимизация, которую они предоставили, устранила необходимость реализации usememo и выполнения мемоизации компонентов», — сказал Коллина. «Это делает чрезвычайно полезным избегать повторного рендеринга и значительно оптимизировать производительность внешнего интерфейса в любом масштабе».
Потенциал React-компилятора
То, что нужно сообществу от React, — это «намного лучший, быстрый и крупный React с новыми функциями, новыми оптимизациями и новым направлением», — утверждает Коллина.
Компилятор React имеет огромный потенциал для SSR, отметил Коллина во время прямой трансляции. Хотя компилятор React позволяет «уйти» мемоизации в компонентах, Коллина считает, что компилятор React может стать «значительно больше».
«Он может значительно улучшиться, потому что, если мы начнем оптимизировать серверы и проводить большую оптимизацию на основе серверов, это будет иметь огромный потенциал», — сказал Коллина. Он добавил, что в компонентах он может предварительно визуализировать фрагмент HTML.
«Забавно, что… существует огромное количество усилий по оптимизации интерфейса или микроархитектуры, но мы не сосредоточились на решении экзистенциальной проблемы, которая стоит более 10 лет. [old]то есть рендеринг на стороне сервера», — добавил Мараски.
Это потому, что Facebook не использует JavaScript на сервере, сказал он.
«Они не особо занимаются рендерингом на стороне сервера», — сказал Коллина. «Эту штуку никогда не планировалось оптимизировать в какой-либо форме или способом».
Тем не менее, они похвалили Facebook за решение создать новый React Foundation под эгидой Linux Foundation, что, по словам Мараски, «не было их обязанностью», но было «отличной новостью».
Фреймворки и серверный рендеринг
Мараски отметил, что все гонятся за Святым Граалем ССР. Пока что единственной платформой, позволяющей добиться этого, является Solid.js, добавил он.
«Он не основан на React, но по-прежнему основан на JSX, и они используют другой компилятор для JSX, что делает его значительно быстрее», — сказал Коллина о Solid.js.
Мараски предположил, что, возможно, компании держат в секрете, как они оптимизируют сервер, но Коллина отверг эту теорию.
«С помощью React сейчас просто невозможно оптимизировать его до уровня, который был бы значительно быстрее, чем тот, который существует сейчас», — сказал Коллина. «Честно говоря, я не думаю, что кто-то хранит в шкафу какой-то секретный соус… Его там просто нет».
Мараски задумался, может ли провайдер интерфейсных облачных сервисов Vercel, который курирует Next.js, внести свой вклад в оптимизацию SSR.
«Я так не думаю», — сказал Коллина. «Они находятся под достаточно значительным давлением, чтобы оптимизировать свою систему, и они [are] наконец-то развернулся и начал делать работу. Кроме того, они принимают вклад Cloudflare для оптимизации Next.js».
В то же время Cloudflare и Vercel борются за периферийный рынок, поэтому будет интересно посмотреть, как Cloudflare будет «вести игру в пространстве React», — сказал Мараски. Что касается следующих шагов, Коллина надеется, что следующим шагом React станет исправление React SSR.
«Я думаю, что произойдет следующее: все больше поставщиков начнут внедрять новые оптимизации и новые варианты использования React и сделают жизнь разработчиков еще проще», — сказал Коллина.
Однако он не считает, что React исчезнет, поскольку многие предприятия выбирают React или Next.js для своих проектов. Частично это связано с тем, что они могут относительно дешево найти компетентных разработчиков React. Мараски добавил, что Next.js — это, по сути, React на стероидах.
«Я бы сказал, что React — это скорее библиотека, а Next.js — полный пакет», — добавил Коллина.
Несмотря на этот факт, когда люди покидают Next.js, они, как правило, переходят не на React, а на Remix (теперь называемый React Router), который представляет собой полнофункциональную веб-инфраструктуру, построенную на основе React, отметил Мараски.
«Потому что, как правило, они хотят размещаться самостоятельно», — сказала Коллина. «И намного проще самостоятельно размещать другие фреймворки, чем Next. Но React — это не выбор. Просто использовать простой React — не выбор, потому что количество шаблонов и фреймов, которые вам нужно существенно изобретать заново. Я не знаю по крайней мере 80% того, что делает Next, и вы могли бы с таким же успехом просто использовать Remix».
Могут ли функции фреймворка быть поглощены React?
Мараски также задумался, могут ли все эти сопутствующие фреймворки теперь быть включены в эволюцию React.
«Теперь, когда вклады открыты, теперь, когда в проекте нет ни одного доброжелательного диктатора, что мне кажется более логичным, так это то, что каждый попытается взять кусочки из любого другого проекта и преобразовать их в React», — сказал он.
«На самом деле это единственный хороший выбор, потому что, если они этого не сделают, они будут и дальше ухудшать отношения между различными структурами», — добавил Коллина. «Это будет естественная эволюция того, что произойдет, — консолидация экосистемы, иначе она будет слишком фрагментированной. Предприятия ищут технологическую Швейцарию».
ТЕНДЕНЦИОННЫЕ ИСТОРИИ YOUTUBE.COM/THENEWSTACK Технологии развиваются быстро, не пропустите ни одной серии. Подпишитесь на наш канал YouTube, чтобы смотреть все наши подкасты, интервью, демонстрации и многое другое. ПОДПИСАТЬСЯ Группа, созданная в Sketch. Лорейн Лоусон — опытный репортер в области технологий, которая в течение 25 лет освещала технологические вопросы, от интеграции данных до безопасности. До прихода в The New Stack она работала редактором сайта банковских технологий Bank Automation News. У нее есть… Подробнее от Лорейн Лоусон.