前端新框架nue.js

最近前端又出來一個新框架/庫,名為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


裸體 使用基于 HTML 的模板语法:



<div@name=“media object”class=“{type}”><img src=“{img}”><side><h3>{title}h3><p:if=“desc”>{desc}p><slot/>side>div>



反應 和 JSX 声称是 “只是JavaScript” 但 裸體 可以被认为是 “僅HTML”



按比例构建

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

  1. 關注點分離,易於理解的程式碼比“意大利面條程式碼”更容易擴展

    2.極簡主義,一百行程式碼比一千行程式碼更容易擴展

    3.人才分離,當UX開發人員專注於前端,而JS/TS開發人員專注於前端後端時,團隊技能就會達到最佳平衡:

解耦樣式

Nue不提倡使用Scoped CSS、樣式内容、Tailwind或其他CSS-in-JS體操:



更多可重用程式碼:當樣式未硬編碼到組件時,同一組件可能會根據頁面或上下文而看起來有所不同。

沒有意大利面條式程式碼:純HTML或純CSS比混合意大利面條式程式碼更容易閱讀

更快的頁面加載:通過解耦樣式,可以更輕鬆地從輔助CSS中選取主CSS,並將HTML頁面保持在關鍵的14kb限制以下。
反應式和同構

Nue擁有豐富的組件模型,它允許您使用不同類型的組件創建各種應用程序:



服務器組件在服務器上呈現。 它們可以幫助您構建以內容為中心的網站,無需JavaScript即可加載速度更快,並且可以被搜尋引擎抓取。

反應式組件在用戶端上呈現。 它們幫助您構建動態島或單頁應用程序。

混合組件部分在伺服器端呈現,部分在用戶端呈現。 這些組件可幫助您構建響應式、SEO友好的組件,例如視頻標籤或圖片庫。

通用組件在伺服器端和用戶端上使用相同的管道。

UI庫檔案

Nue允許您在單個檔案上定義多個組件。 這是將相關組件組合在一起並簡化依賴關係管理的好方法。



<script> import { someMethod } from './ util.js' script> <article @name=“todo”>… article> <div @name=“todo-item”>… div> <time @name=“cute-date”>… time>

使用庫檔案,您的檔案系統層次結構看起來更乾淨,並且您需要更少的模範程式碼將連接的部分連接在一起。 他們幫助為其他人打包庫。



更簡單的工具

Nue JS帶有一個簡單的render伺服器端渲染功能和一個compile為瀏覽器生成組件的功能。 不需要Webpack或Vite等複雜的捆綁程式來控制您的開發環境。 只需將Nue導入到項目中即可。



如果應用程序因大量依賴項而變得更加複雜,可以在業務模型上使用打包器。 Bun和esbuild是很棒的高性能選擇。



用例

Nue JS是一款多功能工具,支持伺服器端和用戶端渲染,可幫助您構建以內容為中心的網站和反應式單頁應用程序。



UI庫開發:為反應式前端或服務器生成的內容創建可重用組件。

漸進式增强:Nue JS是一個完美的微型庫,可通過動態組件或“島”增强以內容為中心的網站

靜態網站生成器:只需將其導入您的項目即可準備渲染。 不需要捆綁器。

單頁應用程序:與即將推出的Nue MVC項目一起構建更簡單、更具可擴展性的應用程序。

Template Nue:是一個用於生成網站和HTML電子郵件的通用工具。



代碼生成器,點這裡