隱藏能力者:3個被低估的JavaScript框架
本文轉載自公眾號“讀芯術”(ID:AI_Discovery)
當提到JavaScript框架時,你的腦海中會即刻浮現出幾個名字,Angular、React和Vue一定在這之中。你搜索任何與JavaScript相關的內容,這些框架都會名列前茅。這是當然的,因為他們已經建立起良好的基礎,并擁有龐大的社區。
但今天,我不會討論這些著名框架,本文將討論三個被低估的JavaScript框架及其特性。
1.Svelte

Svelte于2016年推出,是一個基于Javascript的開源框架,由Typescript所寫,被認為是對于React框架的真正威脅。
Svelte不同于React和Vue。它沒有一個虛擬的DOM——但是,它允許用簡單的HTML、CSS和JavaScript代碼來開發沒有樣板的組件。在代碼編譯方面,Svelte在構建時將代碼編譯為小的、沒有框架的普通JavaScript模塊,并在狀態發生變化時像手術一樣更新DOM,這獨特的工序使得Svelte現在變得十分迅速且提供了最好的性能。
Svelte的優點:
- 樣板文件更少
- 無虛擬DOM
- 無狀態管理庫
- 基于組件的模型
- 閃電飛速和優秀性能
- SEO的支持
- 簡單的學習曲線
- 可以創建自己的基礎架構
Svelte的缺點:
缺少社區基礎和資源
- 缺乏工具和第三方數據庫
- 在某些案例中難以縮小大小
- 接近Vanilla Javascript
比較這些優點和缺點,你會發現在某種程度上這些缺點幾乎可以忽略,且能夠很大限度地利用它的優點。然而,Svelte被蒙在主流框架的陰影之下——它應該得到更多的認可。所以,如果想做出改變,嘗試新事物,就試試這個小火箭吧。
2.Ember

Ember是另一個被大多數開發人員低估了的重要JavaScript框架。雖然它最初是在2011年發布的,比Angular、React和Vue更早,但它一直未能穩定采用。Ember基于模型-視圖-視圖-模型(MVVM)體系結構模式,專門用于可伸縮的企業級單頁面應用程序。
Ember的優點:
- Ember命令行界面
- 慣例優于配置的方法
- 嵌套UIs
- 提供一個更強大的數據層
- 可處理更大的應用程序生態系統
- 性能集中
- 豐富的歸檔和API支持
- 支持雙向數據綁定
Ember的缺點:
- 過高的學習曲線
- 最重的框架之一
- 一些文檔和示例可能過時了
- 過于固執己見
Ember是一個強大的工具,對于較小的項目它可能不是理想的選擇。但如果正在計劃大型的、可稱量的項目,Ember JS會是一個不錯的選擇。
3. Preact

Preact和Ember完全不同。Preact最初于2013年發布,是個輕量級的框架。但是輕量級并沒有限制它的性能:它是一個非常強效的框架,也是React的另一個強大競爭對手。
Preact也是基于組件的方法構建的,使用的是像React這樣的虛擬DOM,它甚至可以毫無問題地使用React包。雖然它與React相似,但它不包含后者的所有特性。Preact的開發人員在保留了React一些主要特性時,主要關注于它的大小和性能。
Preact的優點:
Preact比React-lite包含更多的功能
- 型號小
- 便攜性
- 高性能
- 與React數據庫兼容
- 包含良好的文檔和示例
Preact JS的缺點:
- React的屬性類型不受支持
- 只支持無狀態的功能組件和ES6基于類組件
- 社區小
數據永不撒謊
來看看JavaScript框架的一些統計數據,看看Svelte、Ember和Preact的排名。這是JavaScript 2019年狀態的分析,這份報告包括了框架的各個方面,包括有受歡迎程度、知名度、滿意度、排名等。下面的圖表顯示了對Angular、Vue、React、Ember、Svelte和Preact的認識。


正如第一張圖所顯示,人們對Ember、Preact和Svelte的認識遠遠低于React、Angular和Vue。第二個圖強調了第一個圖的輸出,可以觀察到參與這個調查的大部分人甚至沒有聽說過這三種框架,而不感興趣的人群比例也更高。
結合前文中介紹的它們的優缺點,這些框架是被嚴重低估了的。這三種框架具有一些很棒的特性,其中一種可能是應用程序的優秀解決方案。如果你是一個喜歡嘗試新事物的人,去試試它們絕對會有不一樣的體驗。