深夜美女视频一区二区_91sao在线看片水片_亚洲日韩国语_精品中文字幕久久边人妻_高潮喷水香蕉视频色_白洁国产剧情Av手机在线_国产精品情侣呻吟_天空影院播放免费完整版视频_少妇高潮惨叫喷水在线观看_公交车大龟廷进我身体里

Hi,您好,歡迎來到西安盛圖軟件科技有限公司!

最新資訊取代 Vue 和 React?25 年碼齡程序員不滿 Web 開發(fā)現(xiàn)狀創(chuàng)建新框架 Nue JS,能減少 90% 代碼量!

發(fā)布時間:2023-09-28 11:08:24

近日,前端開發(fā)者 Tero Piirajinen 推出了一個名為 Nue.js 的極簡化前端開發(fā)工具,并迅速引發(fā)社區(qū)討論。Piirajinen 在 Hacker News 上表示,它是 React、Vue、Next.js、Vite、Svelte 和 Astro 的替代品。



據(jù)悉,Nue 源自德語單詞 neue,與英語中的“new”同義。它能幫助具備 HTML、CSS 和 JavaScript 知識的開發(fā)者構(gòu)建服務(wù)器端組件與響應(yīng)式界面。具體來說,Nue 有三大優(yōu)勢:改善開發(fā)者體驗;加快項目進度;加快頁面加載速度。而其最大的亮點在于,它能將用戶界面代碼量控制在其他同類方案的十分之一。

 

Nue 作者 Piirainen 是一位來自赫爾辛基的前端開發(fā)者,并在開源項目、技術(shù)產(chǎn)品和初創(chuàng)企業(yè)中工作了 25 年以上,比較知名的成果包括 Riot.js、Flowplayer 和 jQuery 等。目前,Piirainen 正在獨力開發(fā) Nue.js 項目,并積極尋求更多貢獻者的加入。

 

Piirajinen 在 Hacker News 上的帖子中提到,過去 12 個月以來,他一直從事項目開發(fā)工作,最近還轉(zhuǎn)為全職。他的開發(fā)目標有兩個:

 

  1. 1.Nue JS——一個用于構(gòu)建用戶界面的小型(壓縮后僅為 2.3 kb)JavaScript 庫。它類似于 React 和 Vue,但去掉了 hooks、effects、props、portals、watchers、injects、suspensions 等各種抽象元素。只要開發(fā)者具備 HTML、CSS 和 JavaScript 方面的基礎(chǔ)知識,就完全可以輕松上手。它支持服務(wù)器端渲染和客戶端響應(yīng)式組件,設(shè)計靈感來自 Vue 2.0 和 Riot.js(Piirainen 本人也是 Riot 的原作者)。

  2. 2.Nue 工具——一套完整的前端開發(fā)工具集。在完成之后,Nue 將能夠取代 Vite、Next.js 和 Astro 等系統(tǒng),這也是本項目的最終發(fā)展目標。

 

Piirajinen 計劃在 2024 年 3 月之前完成所有工具的準備工作,但具體時間取決于問題數(shù)量、開源維護工作量,以及他自己的判斷水平。目前,Nue 已在 GitHub 上開源,并遵循 MIT 許可證。

 

為什么創(chuàng)建 Nue?

 

Piirajinen 表示,他創(chuàng)建 Nue 的主要原因是他對于當前 Web 開發(fā)態(tài)勢并不滿意,主要問題包括相關(guān)工具太復雜、代碼難以理解、編譯時間長、網(wǎng)站過于臃腫等等。

 

此前,Piirajinen 在 Flowplayer、Muut 和 Volument 擔任首席產(chǎn)品官(CPO)時,就有一些不太愉快的前端開發(fā)經(jīng)歷。雖然項目最初進展順利,但很快就變得難以維護。經(jīng)過幾個月的開發(fā),工作節(jié)奏開始明顯放緩,原本樂觀的未來計劃也越來越難以落地。

 

Piirajinen 認為,不只是他自己有這種感覺,整個前端開發(fā)行業(yè)都面臨危機。Piirajinen 提到,他讀過不少相關(guān)文章,開發(fā)者們紛紛表示前端令他們身心俱疲。因此,Piirajinen 想要做點什么,改變這令人惱火的現(xiàn)實。

 

Piirajinen 計劃以極簡化方式從零開始構(gòu)建一切,并用到了不少“舊有”創(chuàng)新成果,例如漸進式增強、關(guān)注點分離和語義網(wǎng)頁設(shè)計。而 Nue 是 Piirajinen 改變現(xiàn)狀的一次雄心勃勃的嘗試,希望能為 JS 和 UX 開發(fā)者們提供極簡化工具。它強調(diào)恢復 Web 標準模型的榮光,并引入現(xiàn)代創(chuàng)新的力量。Nue 想要讓 Web 開發(fā)再次變得有趣。

 

Piirainen 表示,Nue 的靈感主要來自 Jarred Sumner 開發(fā)的 Bun。這是一款新的 JS 運行時、捆綁器、測試運行器外加 NPM 兼容型包管理器。Piirainen 認為,Bun 希望讓 JavaScript 變得更快,而 Nue 希望讓前端開發(fā)變得更快。Nue+Bun 將成為面向前端開發(fā)者的完美組合。值得一提的是,Jarred Sumner 和 Piirainen 一樣,也是一個單兵作戰(zhàn)的開發(fā)者。

 

Nue 的其他靈感來源還包括:

 

Salvatore Sanfilippo 的推文:“縱觀如今的 Web,我發(fā)現(xiàn)開發(fā)實踐仍然沒能遵循最基本的導航和可用性規(guī)則。盡管硬件發(fā)展一刻不停,但 Web 呈現(xiàn)速度仍然很慢。我只能認為,現(xiàn)代前端開發(fā)已經(jīng)走進了死胡同?!?/p>

 

喬布斯的名言:“一切應(yīng)該以客戶體驗為起點,再據(jù)此倒推技術(shù)實現(xiàn)?!?/p>

 

Dieter Rams 的名言:“少,即是多。”

 

基于以上幾點,Piirainen 給 Nue 項目定下了三條指導原則:

 

  1. 關(guān)注點分離:讓人們各自專注自己的專業(yè)領(lǐng)域,由此加快交付速度;內(nèi)容創(chuàng)作者專注于內(nèi)容,UX 開發(fā)者專注于交互設(shè)計,JS 開發(fā)者負責前端中的后端部分。

  2.  “只用最普通的 Web 元素”:Nue 將努力發(fā)掘標準 HTML、CSS 和 JavaScript 當中蘊藏的力量。

  3. 極簡主義:小型代碼庫更易于維護和擴展,發(fā)生錯誤的幾率也會更低。

代碼量減少 90%,Nue 主張極簡主義

 

據(jù)了解,Nue 的最大優(yōu)勢就是幫助開發(fā)者以更少的代碼達成相同的效果。在一個項目中,同樣的功能實現(xiàn)之間存在 2 到 10 倍的代碼量差異并不罕見。以用 Nue 編寫的自定義列表框組件為例:React 版本需要使用 2500 行 JS 代碼,Nue 版本則能夠在保持 50% 到 80% 功能的前提下,把代碼量控制在十分之一。

“這就是 HTML”

 

Nue 使用的是基于 HTML 的模板語法:

image.png


 

類似于 React 宣稱其“就是 JavaScript”,Nue 也可被認為“就是 HTML”。而這樣的特性,對于專注于交互設(shè)計、可訪問性和用戶體驗的 UX 開發(fā)者來說堪稱完美。

為擴展而生

 

據(jù)介紹,Nue 之所以能夠為前端開發(fā)帶來新的可擴展水平,主要歸功于以下三大因素:

  1. 關(guān)注點分離,易于閱讀的代碼比“一團亂麻”的代碼更易于擴展。

  2. 極簡主義,100 行代碼肯定比 1000 行代碼更易于擴展。

  3. 人員分離。保證 UX 開發(fā)者只須關(guān)注前端,JS/TS 開發(fā)者只須關(guān)注前端的后端,這樣團隊技能就會達到最佳平衡。



UX 開發(fā)者與 JavaScript 開發(fā)者能夠并行工作、互不干擾,最佳結(jié)果也自然會由此產(chǎn)生。

對樣式解耦

 

Nue 并不主張使用域 CSS、Tailwind 或者其他緊密耦合的 CSS-in-JS 框架。相反,它認為最好將樣式跟布局和結(jié)構(gòu)區(qū)分開來,主要是因為:

四種組件類型

 

Nue 擁有豐富的組件模型,允許開發(fā)者使用不同類型的組件構(gòu)建起各類應(yīng)用:

 


開發(fā)者:Nue 很棒,但取代 Vue 或 React 還為時尚早

 

對于這樣一個創(chuàng)新項目,不少社區(qū)網(wǎng)友給予肯定。網(wǎng)友 aziis98 大贊 Nue 是一個“很棒的項目”,即使是像他這樣一個 Vite 和 Astro 的忠實粉絲,也感到“耳目一新”。

 

網(wǎng)友 ilrwbwrkhv 評論稱:

 

真的很棒。盡管 Web 一直在不斷變化,但層出不窮的“新框架”還是無法讓人們滿意,而且全部主流框架也都驚人地相似。

我們確實有必要從頭開始考量需求,并拿出一套更小、內(nèi)存效率更高的解決方案。

這里也希望有更多的前端開發(fā)者停止人云亦云,嘗試獨立思考,想想過去的老前輩是怎么努力減少內(nèi)存占用量的。

我每次看到如今的 Slack 等應(yīng)用程序,都有種悲傷和絕望的感覺。

像 Nue 這樣的項目至少發(fā)現(xiàn)了正確的問題,也擺出了嚴謹?shù)膽B(tài)度。支持!

 

也有不少網(wǎng)友直接指出 Nue 當前存在的問題,并給出了比較中肯的建議。


網(wǎng)友 niutech 指出,Nue 更像是 Petite-Vue 或者 Riot.js 的替代品,還很難說可以取代非常成熟的 Vue 或者 React。所以拿它跟 headlessui-react/vue 做比較,就像拿蘋果跟橙子或者香蕉比較一樣有點錯位:無頭 UI 列表框的復雜度要高得多。其實在 Vue 中也可以用 Nue 那個級別的代碼量構(gòu)建起列表框,這事并不太難。

 

此外,作者并沒有在入門介紹(https://nuejs.org/docs/nuejs/getting-started.html)中提到如何在無需構(gòu)建步驟的情況下使用 Nue,從而逐步增強現(xiàn)有 HTML 網(wǎng)站(例如 Petite Vue):<script src="//unpkg.com/petite-vue" defer init></script>`還是 Alpine.js: `<script src="//unpkg.com/alpinejs" defer></script>`。


用戶 bartq 認為,單從網(wǎng)站構(gòu)建庫的角度來看,Nue 已經(jīng)做得很成功了,但身為開發(fā)者,他還期待看到其他成果:

 

1. 用該庫創(chuàng)建的示例項目,包括過程中的挑戰(zhàn)、解決方案、難題和成果。

2. 用視頻演示如何用 Nue 庫創(chuàng)建簡單的應(yīng)用程序。在已經(jīng)非常擁擠的 JS 生態(tài)系統(tǒng)當中,光靠枯燥的說明文檔已經(jīng)很難吸引到支持者。比如想在視頻中看到:

 

  - 工具如何起效;

  - 調(diào)試如何起效;

  - 構(gòu)建過程如何起效;

  - 還有其他哪些強大功能等。






上一篇:耗時一年用戶從 0 增長至 1400 萬,背后僅三名工程師,這家社交巨頭背后的技術(shù)棧是如何搭建的?
下一篇:思科史上最大規(guī)模收購:2047 億元拿下 Splunk,有人“內(nèi)幕”交易獲 46000% 回報?

歡迎登錄盛圖科技

歡迎注冊盛圖科技

已有賬號,立即登錄