React框架巅峰对决:谁将主宰未来?

5 阅读6分钟

Kent Dodds称React框架融合且皆优,Expo Router、Next.js、React Router等均在强化AI和服务器组件支持,为开发者提供多样化选择。

译自:The React Framework Face-Off: Which One Owns the Future?

作者:Loraine Lawson

前端开发者兼教育家 Kent Dodds 为那些对选择哪个基于React的框架感到困惑的前端开发者带来了一些好消息。

“对于那些正在寻找新框架、正在启动新项目的人来说,你不会做出错误的选择。所有这些框架都很棒,”他在React Conf上告诉听众,该会议上周发布了活动视频。“React现在为我们做了更多。这些框架正在真正融合,它们现在看起来非常相似。”

Dodds加入了由Jack Herrington(又名Blue Collar Coder)领导的框架创建者和一位打包器创建者小组,讨论“React未来的框架是什么?

以下是开发者们对各自框架的看法。

Expo Router

Evan Bacon,一位软件工程师,也是 Expo Router 的创建者,代表这个针对React Native的、有主见的路由框架发表了讲话。

“我们真的相信移动设备形态的美观和优化,以及它与真实用户产生的共鸣,”他说。“我们对这里所构建的东西感到非常满意,从React开始,……将JavaScript和React带到原生平台,现在我们有了基于文件的路由、服务器操作、API路由、环境变量、一键部署。Web社区创新了这么多好东西,将其带到这些新领域和新形态中真是不可思议。”

Expo正在探索如何支持AI应用程序的开发。

“我们希望成为一个帮助他人构建AI工具的优秀工具,”他说。“但它具有非常强的递归性,因为……每个人都在努力构建一些具有智能代理能力的东西。因此,在这之下,他们会寻找像Expo这样的开发工具。”

Next.js

Josh Story,Vercel的一名工程师,在Next.js团队工作,代表该框架发表了讲话。他指出,Next.js的重大变化发生在2022年,当时它开始开发App Router,该功能于2023年被标记为稳定版。

“这是React服务器组件的实现,它现在已经稳定几年了,”Story说。“旅程尚未结束。任何React项目中都有一个必不可少的东西,那就是组合,而今天仍然存在一些硬性障碍。”

Story补充说,由于像Next.js这样的框架现在支持服务器组件,他预计npm上会出现更多作为服务器组件的库。

“这将成为可能,也许你会有身份验证库或表单验证库,或者这些类型的东西现在可以直接组件化,并且可以在任何框架中使用,”他说。“这就是服务器组件真正强大的地方。”

他还表示,Next.js正在审查如何最好地支持MCP(模型上下文协议)用于AI的端点。

Parcel

Devon Govett,Adobe的软件架构师,创建了开源的Parcel打包器

“如果你有一个现有的客户端应用程序,并且你想尝试服务器组件,例如,你真的不想迁移任何东西,或者你不想添加SSR(服务器端渲染),你只是想……将一些服务器组件嵌入到你的应用程序中并尝试一下,那么像Parcel这样的打包器是一个简单的方法,”他说。

由于Parcel不是一个框架,他指出React Router是那些寻求基于React框架的人的一个选择。

“我真的很喜欢React Router团队目前正在做的事情,在那里……你可以在不同的打包器和React Router的数据模式之间进行切换,这真的很酷,”他说。“因此,如果你有特定的打包器插件或你想与React Router一起使用的东西,你实际上可以做到。”

Rock (for React Native)

Michał Pierzchała,Callstack的首席工程师,表示 Rock,被描述为“一个为构建React Native应用程序的团队设计的模块化工具包”,正努力实现两个目标。首先,框架团队希望将较旧的React Native社区CLI应用程序迁移到最新的工具链上,以便它们可以利用本地和远程缓存。其次,团队希望在React Native领域支持原生的iOS和Android应用程序。

“通过我们的Rock Brownfield功能,我们允许他们导入一个文件,然后在他们的iOS或Android中实例化React Native,”他说。

棕地开发是指开发者希望将React Native添加到现有使用原生代码(例如iOS的Swift或Android的Kotlin)开发的应用程序中,而无需重写整个应用程序。

React Router

这个框架,最初是Remix,由 Ryan FlorenceMichael Jackson 创建。它去年与React Router合并,现在两位创作者已经转而开发不同的框架。但Dodds使用React Router并为其辩护。

“对于React Router,我特别欣赏团队的奉献精神。它得到了Shopify的大量投资,”他说。

“从框架的角度来看,我对我们目前的状况感到非常非常满意。” — Kent Dodds,前端开发者兼教育家

Dodds承认他很特别,因为他只对他所代表的框架进行了两到三次提交。

“从框架的角度来看,我对我们目前的状况感到非常非常满意,”他说。“框架关心用户真的很重要,React Router在过去十年中已经证明了这一点。”

关于AI,Dodds指出开发者习惯于将聊天机器人添加到他们的应用程序中,但现在情况已经反转:聊天机器人实际上正在通过MCP-UI添加应用程序。他说框架还有更大的改进空间来支持这种动态。

“如果真的发生这种情况,那么每个框架都希望为MCP提供一些功能,并将你的应用程序直接服务到聊天体验中。无论是ChatGPT、Gemini还是Claude或其他任何东西,这将是React框架或任何Web框架未来的重要组成部分,”他说。

Redwood 软件开发工具包 (SDK)

Redwood最初是一个框架,然后转向了SDK。Redwood的共同创建者 Peter Pistorius 强调该SDK是轻量级的、可组合的,并且“服务器优先”。

“我不会告诉你使用我的框架,因为你已经在使用了。如果你正在使用 ViteTypescriptReact,你就在使用Redwood,没有什么需要学习的,”他说。