最近前端又出来一个新框架/库,名为 nue.js ,到今天已超过 2000 个star。

什么是 Nue JS?

Nue JS 是一个非常小的(压缩后 2.3kb)JavaScript 库,用于构建 Web 界面。 它是即将推出的 Nue 生态系统 的核心。 它就像 Vue.jsReact.jsSvelte,但没有 hooks, effects, props, portals, watchers, provides, injects, suspension 这些抽象概念。了解 HTMLCSSJavaScript 的基础知识,就可以开始了。

用更少的代码构建用户界面

它表示,Nue 最大的好处是你需要更少的代码来完成同样的事情:

同样一个 listBox 组件,react需要 2537 行,vue 需要 1913 行,svelte 需要 1286 行,Nue 只需要 208 行,比 react 小 10 倍。



仅仅是HTML

Nue 使用基于 HTML 的模板语法:

1
2
3
4
5
6
7
8
<div @name="media-object" class="{ type }">
<img src="{ img }">
<aside>
<h3>{ title }</h3>
<p :if="desc">{ desc }</p>
<slot/>
</aside>
</div>

React 和 JSX 声称是 “Just JavaScript” ,但 Nue 可以被认为是 “Just HTML” 。

按比例构建

Nue 具有出色扩展性的三个原因:

  1. 关注点分离,易于理解的代码比“意大利面条代码”更容易扩展
  2. 极简主义,一百行代码比一千行代码更容易扩展
  3. 人才分离,当 UX 开发人员专注于前端,而 JS/TS 开发人员专注于前端后端时,团队技能就会达到最佳平衡:

解耦样式

Nue不提倡使用 Scoped CSS样式属性Tailwind 或其他 CSS-in-JS 体操:

  1. 更多可重用代码:当样式未硬编码到组件时,同一组件可能会根据页面或上下文而看起来有所不同。
  2. 没有意大利面条式代码:纯 HTML 或纯 CSS 比混合意大利面条式代码更容易阅读
  3. 更快的页面加载:通过解耦样式,可以更轻松地从辅助 CSS 中提取主 CSS,并将 HTML 页面保持在关键的14kb 限制以下。

反应式和同构

Nue 拥有丰富的组件模型,它允许您使用不同类型的组件创建各种应用程序:

  1. 服务器组件在服务器上呈现。它们可以帮助您构建以内容为中心的网站,无需 JavaScript 即可加载速度更快,并且可以被搜索引擎抓取。
  2. 反应式组件在客户端上呈现。它们帮助您构建动态岛或单页应用程序。
  3. 混合组件部分在服务器端呈现,部分在客户端呈现。这些组件可帮助您构建响应式、SEO 友好的组件,例如视频标签或图片库。
  4. 通用组件在服务器端和客户端上使用相同的方式。

UI库文件

Nue 允许您在单个文件上定义多个组件,这是将相关组件组合在一起并简化依赖关系管理的好方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!-- shared variables and methods -->
<script>
import { someMethod } from './util.js'
</script>

<!-- first component -->
<article @name="todo">
...
</article>

<!-- second component -->
<div @name="todo-item">
...
</div>

<!-- third component -->
<time @name="cute-date">
...
</time>

使用库文件,您的文件系统层次结构看起来更干净,并且您需要更少的样板代码将连接的部分连接在一起。他们帮助为其他人打包库。

更简单的工具

Nue JS 带有一个简单的 render 服务器端渲染功能和一个 compile 为浏览器生成组件的功能。不需要 WebpackVite 等复杂的捆绑程序来控制您的开发环境。只需将 Nue 导入到项目中即可。

如果应用程序因大量依赖项而变得更加复杂,可以在业务模型上使用打包器。Bun和esbuild是很棒的高性能选择。
用例

用例

Nue JS 是一款多功能工具,支持服务器端和客户端渲染,可帮助您构建以内容为中心的网站和反应式单页应用程序。

  1. UI 库开发:为反应式前端或服务器生成的内容创建可重用组件。
  2. 渐进式增强:Nue JS 是一个完美的微型库,可通过动态组件或“岛”增强以内容为中心的网站
  3. 静态网站生成器:只需将其导入您的项目即可准备渲染。不需要捆绑器。
  4. 单页应用程序:与即将推出的Nue MVC项目一起构建更简单、更具可扩展性的应用程序。
  5. Template Nue:是一个用于生成网站和 HTML 电子邮件的通用工具。

原文链接:前端又出新框架了,你还学得动吗?