前端又出新玩具了,你知道吗?

开发 前端
实际上,面对新出现的轮子,我们也不必畏惧。新轮子的出现很大概率是因为现有工具无法满足个性化需求,因此才决定开发新轮子。对于这些新轮子,我们只需保持开放的心态去了解,也借此机会洞察前端技术的发展趋势与方向。

最近,前端圈出现了很多全新的轮子,本文将精选三个热门的新轮子,看看它们各自都有什么特点!

实际上,面对新出现的轮子,我们也不必畏惧。新轮子的出现很大概率是因为现有工具无法满足个性化需求,因此才决定开发新轮子。对于这些新轮子,我们只需保持开放的心态去了解,也借此机会洞察前端技术的发展趋势与方向。

TanStack Start

对于有 React 项目开发经验的同学来说,React Query 或许并不陌生,它隶属于功能强大的 TanStack 工具系列。TanStack 是一个全面的前端工具集合,涵盖了 TanStack Query、TanStack Router、TanStack Table、TanStack Form 及 TanStack Virtual 等多个实用工具。

近期,TanStack 又推出了其最新的力作——TanStack Start,这是一个基于 TanStack Router、Vinxi 和 Vite 的全栈 React 框架。以下是其主要特点:

  • 全栈路由:利用 TanStack Router 提供企业级路由系统,支持全栈类型安全和强大的路由功能。
  • 服务端渲染 (SSR)、流式传输和服务器 RPC:支持全文档服务端渲染、流式传输、服务器函数和远程过程调用 (RPC),无需在服务器端渲染和客户端交互性之间做出选择。
  • 客户端优先,100% 服务器端能力:在保持前端社区多年来培养的客户端应用体验的同时,提供全功能的服务端能力,不牺牲用户体验。
  • 可部署性:借助 Vinxi 和 Vite,TanStack Start 可以部署在任何可以运行 JavaScript 的地方,无论是传统服务器、无服务器平台还是 CDN,都能轻松构建、打包和部署应用。

虽然目前官网对 TanStack Start 的介绍并不多,但是已经有开源项目的作者认为,这才是 React 的未来,并且已经将其开源项目从 Next.js 迁移到了 TanStack Start。

该项目在 Github 上有 16k Star,链接:https://github.com/learn-anything/learn-anything。

图片图片

注意:目前 TanStack Start 仍处于 Alpha 测试阶段,不建议在生产环境使用。

TanStack Start 官网:https://tanstack.com/start/latest。

Brisa

Brisa 是一个全栈 Web 框架,它允许开发者混合使用服务器组件(Server Components)+ 服务器操作(Server Actions)与 Web Components + 信号(Signals),全部采用 JSX 编写。

import type { WebContext } from 'brisa';

export default function Counter({ name }: { name: string }, { state }: WebContext) {
  const count = state(0);

  return (
    <p>
      <button onClick={() => count.value++}>+</button>
      <span> {name} {count.value} </span>
      <button onClick={() => count.value--}>-</button>
    </p>
  )
}

Brisa 的特点如下:

  • 服务端渲染(SSR):页面入口点在服务器上渲染并流式传输到客户端,包括使用声明式 Shadow DOM 进行 Web 组件的服务端渲染。
  • 静态站点生成:可以在构建时生成静态页面,并与动态页面混合。
  • 部分预渲染:可以在构建时预渲染特定页面组件,而页面的其余部分在服务端渲染。
  • 响应性:由于信号(Signals)的存在,Web Components 的属性(props)和状态是完全响应式的。属性在构建时被优化,因此可以像在 React 等框架中一样编写属性,控制它们的默认值、解构等,而不会失去响应性。
  • 功能全面:Brisa 支持 TypeScript、CSS、Tailwind、中间件、API 路由、国际化(路由 + 翻译)、WebSocket、Suspense、服务器动作、测试、Tauri 2.x 等。
  • 统一工具链:除了Brisa外,只需 Bun 来管理所有工具链。Brisa通过添加匹配器丰富了Bun的测试功能,并且无需Webpack、Vite,因为Bun也可以完成这些工作。尽管推荐 Bun 作为运行时,但也可以使用Node.js作为运行时。
  • HTML 流式传输:Brisa 通过 HTTP 传输 HTML,Web Components响应其属性的变化或新的“动作信号”,服务器动作可以触发 Web 组件的反应,无需服务器重新渲染。
  • 性能优化:Brisa 旨在最小化客户端的 JS 代码,尽可能利用 Web 平台,避免不必要的客户端负载。
  • 国际化:Brisa 提供了与框架完全集成的路由和翻译,使用 ECMAScript Intl 以及一个仅在 Web 组件中使用时才添加到客户端的 800 字节实现。

Github:https://github.com/brisa-build/brisa。

One

One 是一个基于 React 的跨平台开发框架,旨在简化 Web 和原生应用开发,其特点如下:

  • 类型化的文件系统路由:One提供了基于文件系统的路由定义方式,支持嵌套布局和分组,并且完全类型化,增强了开发时的类型安全和自动补全功能,使得路由管理更加直观和高效。
  • 灵活的路由模式:One 支持单页应用(SPA)、服务端渲染(SSR)和静态站点生成(SSG)等多种路由模式,允许全局设置或为每个页面单独设置。
  • 类型化的加载器:One提供了类型化的加载器,简化了数据的引入和从其他框架迁移的过程。
  • 跨平台开发:One支持同时为Web和Native平台开发应用。
  • 完全基于Vite:One完全基于Vite构建,摒弃了Metro,使用一个Vite插件、一个Vite服务器和一个端口来支持三个平台(Web、iOS、Android)的开发。
  • 集成Zero数据解决方案:One与Zero集成,提供了一个默认的、可弹出的数据解决方案,以改善Web开发中的数据管理问题。
  • 简化的代码:One旨在通过简化代码来提高开发效率和应用性能,减少不必要的代码冗余和复杂性,让开发者能够更专注于业务逻辑的实现。
  • 专注于本地开发体验:One强调改善本地开发体验,通过优化开发工具和流程,使得开发过程更加直观、高效和愉悦。

One 由 Tamagui 项目团队开发:

Github:https://github.com/onejs/one。

责任编辑:姜华 来源: 前端充电宝
相关推荐

2024-04-07 00:00:03

2024-06-03 14:27:08

ThisAPIThat

2019-06-06 15:00:25

手机iPhone摩托罗拉

2024-11-13 09:46:46

2022-06-30 06:53:32

QQ泄露密码

2024-06-14 08:36:57

2021-10-08 11:13:41

子集问题数据结构算法

2018-12-27 08:50:06

JavaScript开源

2020-11-04 10:19:09

前端开发插件

2024-05-28 09:12:10

2024-04-07 00:00:00

ESlint命令变量

2023-12-20 08:23:53

NIO组件非阻塞

2024-04-30 09:02:48

2023-12-12 08:41:01

2023-04-26 10:21:04

2022-12-02 14:12:52

新能源汽车海尔

2022-11-04 14:16:05

2020-02-20 08:30:49

OSPF网络协议路由协议

2022-09-29 15:32:58

云计算计算模式

2024-09-18 07:00:00

消息队列中间件消息队列
点赞
收藏

51CTO技术栈公众号