最適合初學者使用的react框架—UMI.js
介紹
最近接觸到了一個新的react框架,大大省略了我開發的時間,而且學起來和上手都挺容易的。但論壇上關於這個框架的介紹並不多。我就大概介紹一下這個框架並寫一些使用心得。
1.什麼是umi
它是由dva的開發者雲謙編寫的一個新的React開發框架。它既是一個框架也是一個工具。簡單的理解可以稱它為一個類 next.js 的專注效能的前端框架。通過約定、自動生成和解析程式碼等方式來輔助開發,減少開發者要寫的程式碼量。
umi是通用方案,幾乎適用於現在所有的web環境。
2.umi的優勢
umi是一個類next.js的專注效能的前端框架,它的優勢是:
- 內建的大量效能優化
- 多端,無縫支援容器和瀏覽器訪問
- 類 webpack 的外掛機制
- 針對 antd 和 dva 有友好的支援
之前在使用官方腳手架create-react-app的時候你不光需要了解react的知識還需要懂得redux、react-router,初學者在結合這些知識的時候是很困難的。而UMI是結合了目前市面上流行的dva狀態管理工具和檔案即路由的方式來開發專案。什麼是檔案即路由呢?那就是你在page下新建了檔案,UMI會自動幫你生成配套的路由!是不是非常方便,特別是在多人協同開發的時候你不用再擔心每個人路=路由配置的問題了。
3.umi的可擴充套件性
作者稱“umi有著類webpack般靈活的外掛機制,他就是一個架子”。
主要的umi專案,甚至不到700行程式碼(629行),把骨架搭好,把框架的生命週期鉤子暴露出來,然後通過外掛讓功能豐富起來(包括現有的內部邏輯也是這麼實現的)。
我卻更喜歡把它形容為一個高達玩具,對於剛入手的玩家,可以根據說明書,一步一步的組裝出自己心愛的玩具。而對於高玩來說,官方提供了一個骨架,保證了高達的可動性,然後你自己可以隨意的DIY,任意的使用材料和設計方式。
對於umi也是相同,對於剛接觸前端的朋友,你可以很好的完成公司的業務需求。對於對前端有一定了解的朋友,你可以隨意的修改,包括配置、編譯、開發、模板、請求方式、資料流等等,幾乎所有你能想到的前端工程化的內容,都允許你自定義。並且在一步步接觸這些可配置項的時候,你也對前端工程化有了一步步的認識和理解。
4.umi的效能
對於專案效能方面,UMI也做了很多的優化,包括尺寸,執行效率,首屏載入時間,使用者體驗等等方面,但這些對於開發者其實是無感知的,可以說有時候你就升級了一下外掛版本,你的整個專案就優化了,你根本不需要進行任何的多餘操作。作者稱“你只管寫業務程式碼,我會負責效能,並且隨著umi的迭代,我保證你的應用會越來越快”。
簡單的說,umi做到了開箱即用,對於開發者和前端初學者是非常友好的。
下一篇檔案我會介紹如何使用umi