從Redux一路走來
從何說起呢?開發React應用總是要扯到Redux,那時公司前端還不忙,大把大把的時間用來鞏固基礎和提升專案架構,雖然剛踏進前端的門,終於在快一個月之後,寫下了第一個使用Redux的比較貼合實戰的Demo,那一刻真的很激動,感覺前端的大門被我開啟了。
然而並沒有高興好久,在拿Redux寫一個十分簡單的專案的時候,遇到了幾個資料斷流,丟失的問題。十分挫敗,就是那些套路,就是那些思想,為啥資料及時流不動呢?當時公司只有我一個前端,寫ReactNative倒是有兩老司機,他們卻對Redux非常敬重而遠之。 終於放棄了,很快用自己HelloWord水平的React重寫了一遍。也是這個小專案讓自己認識到Redux的學習成本之高,專案結構之繁雜,解決問題之無頭緒,真的能淘汰一大批專業人士。
Dva一聲響,挑動黃河天下反
現在已經忘卻了初次遇見Dva的場景,什麼地方?誰牽的線?但這並不妨礙我膜拜一下Dva的作者,話說當Redux讓我絕望的時候,我也曾一遍遍地嘗試把action reducer 合併,終於由於自己才疏學淺作罷,所以Dva的出現可謂是久旱逢甘霖了。說到這裡,你一定十分好奇, 那麼Dva的到底有什麼特別之處呢?
- 引入名稱空間的概念,將Redux的action reducer等複雜的概念進行了分包管理;
- 非常好地封裝了Redux和Redux-Saga,API十分友好;
- 大大簡化了Redux繁重的程式碼量,資料流響十分清晰; ...
我呢,最不善於表達好惡了,反正自從使用Dva之後開發效率提升一倍以上,並且再沒有跳過資料流的坑。
傳送門:Dva官網:dvajs.com/
Umi 只停留在初體驗
由於對Dva打交道的時間越來越多,就不免很快就認識了他同胞兄弟:Umi。umi是一個可插拔式的React應用框架,
*** 特性 ***
- 開箱即用,內建 react、react-router 等;
- 類 next.js 且功能完備的路由約定,同時支援配置的路由方式
- 完善的外掛體系,覆蓋從原始碼到構建產物的每個生命週期
- 高效能,通過外掛支援 PWA、以路由為單元的 code splitting 等
- 支援靜態頁面匯出,適配各種環境,比如中臺業務、無線業務、egg、支付寶錢包、雲鳳蝶等
- 開發啟動快,支援一鍵開啟 dll 和 hard-source-webpack-plugin 等
- 一鍵相容到 IE9,基於 umi-plugin-polyfills
- 完善的 TypeScript 支援,包括 d.ts 定義和 umi test
- 與 dva 資料流的深入融合,支援 duck directory、model 的自動載入、code splitting 等等
傳送門:Umi官網:umijs.com/
當我第一次看到這9條的時候,做了一個決定,用它!雖然那時我才入前端的坑不到兩個月,也終於因為這一步邁的太大,狠狠地摔了一跤。
Ant Design Pro與SaaS天生是一對
阿里對React的貢獻與推廣真的很大,不僅有antdesign這樣全面優秀的元件庫,Dva的作者也是阿里的(當然Dva並不侷限於React)而Pro可以說是阿里的React的全家桶了。因為要開發公司的SaaS管理系統,而又鑑於對構建等高階知識點的無知,終於向Pro投誠了。
傳送門:Ant Design Pro官網:pro.ant.design/index-cn
也從此開始了一段新的跳坑之路。
當然Pro2已經在Umi基礎上構建了,這是後話了。今天就扯到這裡吧,下一篇開始一點點記錄曾經搭過的橋,趟過的河...