Bun 奪冠,成 2022 年最受歡迎的JavaScript 項目!

【CSDN編者按】JavaScript 已經成為下一批開發人員中最主要手稿語言。對於前端程式設計、構建互動式、功能豐富的網站以及快速流暢的 Web 應用程序來說,有很多精彩的地方。在過去一年中,JavaScript 生態圈的技術框架大放異彩,根據 GitHub 中增加的星星數量排名,JavaScript 領域最受歡迎的項目是 Bun、Tauri 和 React。今年又將出現哪些表現出色的項目呢?讓我們一起來看看吧!

原文連結:https://accu.org/journals/overload/30/172/teodorescu

譯者 | 禾木木 責編 | 夢依丹

JavaScript 已經成為下一批開發人員中最主要手稿語言。對於前端程式設計、構建互動式、功能豐富的網站以及快速流暢的 Web 應用程序來說,有很多精彩的地方。統計資料表明,超過 97.7% 的網站已經將其用於前端開發。

JavaScript 不再侷限於客戶端開發,它也被用於後端開發。JavaScript 為開發人員提供了大量具有模組和特性的模板,使 JavaScript 應用程序的開發更容易。無論是開發動態網站還是 Web 應用程序,到處都能看到 JavaScript 的身影。

在過去一年中,JavaScript 生態圈的技術框架大放異彩,根據 GitHub 中增加的星星數量排名,JavaScript 領域有哪些表現出色的項目呢?讓我們一起來看看吧!

Bun 成

Bun 成最受歡迎的項目

今年最受歡迎的項目是 Bun,捆綁、轉譯、安裝和運行 JavaScript 和 TypeScript 項目時都可以使用它。內建了本地捆綁器、轉譯器、任務運行器和npm 客戶端,通過更好、更簡單的工具提高開發人員的工作效率。

隨著第一個 Beta 版的發佈後,它的受歡迎程度爆發了。在一個月內,GitHub上的星星達到了 20,000 個。

那麼是什麼讓 Bun 與眾不同呢?和兩年前的總冠軍 Deno 一樣,它為 TypeScript 提供了一流的支持。

但 Bun 不僅僅是一個 runtime。它也是:

  • 一個軟體包管理器(例如 Yarn、NPM、PNPM);

  • 一個構建工具(例如 Webpack、ESBuild、Parcel);

  • 一個測試運行器;

  • ……以及其他的工具。

因此,Bun 可以讀取 package.json 來安裝你的依賴項。Bun 還可以運行你的腳本。它做什麼都比其他工具快一些。

Bun 在 JavaScript 生態系統的許多方面都有新的嘗試,重點是在性能方面。

它優先考慮的是像 Fetch 這樣的標準的Web API。它支持許多 Node.js APIs,使其與大多數 NPM 包兼容。它可能還不是 “生產就緒”(缺乏 Windows 支持),但它是一個非常有前途的工具。與 Deno 相比,這個生態系統是全新的,但它已經有一個名為 Elysia 的網路框架,聲稱是最快的 HTTP 框架。

關於 Bun 最不可思議的是它的創造者 Jarred Sumner 使用一種名為 Zig 的低級語言從頭開始實現了所有這些功能。

排在第二名的是 Tauri。是一個用 Rust 編寫的項目,為多平臺部署構建一個最佳化的、安全的、獨立於前端的應用程序。1.0 版本已於 2022 年 6 月發佈。

它的構建考慮到了安全性和性能。與 Electron 相比,它佔用的空間較小,因此開發人員必須指定應用程序所需的 API 和功能。

第三名是 React,而 Next.js 與它僅僅相差 0.4k。

前端框架

前端框架

React 仍然是 2022 年的王者,這也是它第二年成為最受歡迎的 UI 框架。其次是 Qwik。Qwik 與 React 類似,它也使用 JSX 編寫的模板元件,但主要的區別是它專注於在瀏覽器中傳輸最少的 JavaScript。

這是 “零基線 JavaScript “框架趨勢的一部分。站點和應用程序經常被繁重的 JavaScript 資產而變得臃腫,影響了瀏覽器的性能:即使頁面在伺服器上渲染,使用者也必須等待 JavaScript 載入、解析和執行後,才能與頁面互動。

Qwik 使用了一種可恢復性的技術來交付即時互動的 HTML,而不是依賴於水合作用來為伺服器上生成的頁面帶來互動性。它通過在 HTML 本身中序列化應用程序的狀態來工作。

React 生態系

React 生態系

2022 年可以看到 React 變得更加有主見。

React 仍然是一個可以添加到任何網頁上的庫,但它也演變成一個架構框架,可以創建互動式、彈性和性能的前端模式。

React 18 主要是為框架提供架構模式。考慮到 React Server 元件,旨在與這些新的架構模式一起實現。React 框架之間的一些約定現在已經標準化(例如使用客戶端),其他的正在測試期孵化中(例如伺服器元件中的async/await)。

在 2023 年,將繼續看到使用 React 的創新,但也會出現在更大的 React 生態系統中。用於改進類型安全的庫以及 UI 元件的增長也將繼續上升。

VUE 生態系統

VUE 生態系統

今年,Vue 進行了重大的更新。Vue 2.7 將原生的 Composition API 支持和

Nuxt 3 和 Vuetify 3 的穩定發佈表明,Vue 的生態系統已經足夠成熟。Vite 在這一年中倍增,Vue 使用者的大量採用,來自 create-vue、Nuxt、Quasar、Astro 和許多新框架。藉助 Vite 的力量,Vue 使用者也通過 Vitest 和 Histoire 獲得了更好的測試/開發體驗。同時看到了 Vue 的創造性使用,比如用 vue-termui 渲染一個命令列界面。

構建工具

構建工具

今年,Vite 繼續保持其發展勢頭,成為最受歡迎的前端工具之一。它的前身 Snowpack 已經不再維護,並推薦開發人員使用 Vite。它的大量使用並不限於 Vue 生態系統。Vite 被用於 SvelteKit、Storybook、Vitest,甚至作為 Create-React-App 的現代替代品。

同時也看到了 Nx 和 Turborepo 的單體構建工具的崛起。Nwrl(Nx背後的公司)已經接管了 Lerna 的維護工作,併發布了 Lerna 6,默認啟用 Nx 最佳化。

儘管 Babel 仍然流行,但 swc 和 esbuild 已經被許多項目和元框架廣泛使用。這些新工具可以顯著提高構建和轉譯性能。swc 是一個更加模組化的選擇,因為它提供了一個外掛系統。

Vercel 宣佈了 Turbopack(alpha),這是一個新的非常快速的 Rust 捆綁器,Tobias Koppers(Webpack 的創造者)正在研究它。

Rome 工具鏈已經發布了它的第一個穩定版本,首先是一個 linter 和一個具有有趣屬性的 formatter。採用率很低,但今年可能會增加。

Rust 中的許多前端工具應該在今年會發一些新的工具:

  • Lighting CSS(以前是 Parcel CSS):一個更快的 CSS 工具鏈

  • 快速的 TypeScript 類型檢查器:一個比 tsc 更快的替代品

  • mdxjs-rs:一個更快的 MDX 實現

移動開發

移動開發

在 2022 年,使用 JavaScript 構建本地應用程序取得了重大進展,例如新的 Replit 移動應用程序和將 React Native 集成到 Shopify 應用程序等項目的突破性成功。事實上,基於 React Native 的資源庫在今年移動類別的前 10 名明星項目中佔了 7 個。這是 React Native 連續第 7 年獲得最受歡迎的移動軟體庫第一名的時候。

除了 React Native 的成功,還有一個令人興奮的趨勢,就是採用流行的網路模式,例如越來越多地使用 NativeWind 的 Tailwind CSS(第10名)和通用 Skia 渲染的進步(第3名)。經典網路功能的整合,如 Expo 中基於檔案系統的路由(#2),進一步證明了本地應用開發對網路開發者來說變得越來越容易。

很難預測移動開發的未來,但如果從過去一年的情況來看,網路和本地應用開發之間的差距應該在 2023 年繼續大幅減少。

JavaScript 中的 CSS

JavaScript 中的 CSS

測試框架

測試框架

桌面開發

桌面開發

靜態站點

靜態站點

狀態管理

狀態管理

GraphQL

GraphQL

GraphQL
總結

總結

2022年年初時,當 Faker.js 和 colors.js 這兩個非常受歡迎的軟體包被其創建者故意破壞時,出現了混亂。

你可能聽說過這樣的一句話,任何可以用 JavaScript 編寫的應用程序,最終都會用 JavaScript 編寫。

或者使用 TypeScript,它正在成為編寫 JavaScript 的事實標準。JavaScript 在程式碼庫和工具中的地位伴隨著一些問題,對開發人員和終端使用者來說都是如此:

  • 在大型程式碼庫中,構建時間失去控制

  • JavaScript 的平均大小不斷增加,導致性能下降

在 2022 年,為了解決這兩類在堆疊不同層次的問題有很大的創新。

工具也得到了改善,對於在瀏覽器中的性能,不同的模式相互競爭:

  • 零基線 JavaScript 框架,幾乎不向瀏覽器提供任何 JS(Qwik 在這方面處於領先地位);

  • 部分水化,為靜態頁面提供互動性孤島(Astro);

  • React 伺服器元件(由Next.js 13和Gatsby實現),將更多的工作委託給伺服器方;

  • 由 Remix 實現的逐步增強的單頁應用程序架構在瀏覽器中提供了強大的性能,而不影響任何動態行為。

由於從靜態 "頁面 "到完全動態 "應用程序 "的範圍很大,因此沒有任何的靈丹妙藥可以解決這些問題。

JavaScript 環境曾經非常分散:一邊是多種瀏覽器,另一邊是 Node.js 自帶的 CommonJS 模組系統和自己的 API。

隨著邊緣運算的興起,現在到處使用相同的標準化 API 子集(獲取、HTTP請求和響應)是一種強烈的趨勢。

對於 JavaScript 的未來,作家 Lee Robinson 呈樂觀態度,並在《為什麼我對JavaScript的未來持樂觀態度》一文中對這種趨勢做了很好的總結。

你對 JavaScript 持什麼樣的態度呢?

參考連結:https://risingstars.js.org/2022/en

相關文章

CNNVD通報Oracle多個安全漏洞

CNNVD通報Oracle多個安全漏洞

近日,CNNVD通報Oracle多個安全漏洞,其中Oracle產品本身漏洞60個,影響到Oracle產品的其他廠商漏洞247個。包括Orac...