前端又出新框架了,你还学得动吗?

最近前端又出来一个新框架/库,名为nue.js。一周前的9.13号提交了第一个commit,到今天已超过2000个star。

翻译一下:

Nue 是一个强大的 React、Vue、Next.js、Vite 和 Astro 替代品。它可能会改变您的web开发方式。

What is Nue JS?

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

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

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

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

仅仅是HTML

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

html

复制代码

<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允许您在单个文件上定义多个组件。这是将相关组件组合在一起并简化依赖关系管理的好方法。

html

复制代码

<!-- 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为浏览器生成组件的功能。不需要 Webpack 或 Vite 等复杂的捆绑程序来控制您的开发环境。只需将 Nue 导入到项目中即可。

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

用例

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

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