SaaS管理系統開發經驗-------寫在前面

星光小棧發表於2018-12-04

從Redux一路走來

從何說起呢?開發React應用總是要扯到Redux,那時公司前端還不忙,大把大把的時間用來鞏固基礎和提升專案架構,雖然剛踏進前端的門,終於在快一個月之後,寫下了第一個使用Redux的比較貼合實戰的Demo,那一刻真的很激動,感覺前端的大門被我開啟了。

然而並沒有高興好久,在拿Redux寫一個十分簡單的專案的時候,遇到了幾個資料斷流,丟失的問題。十分挫敗,就是那些套路,就是那些思想,為啥資料及時流不動呢?當時公司只有我一個前端,寫ReactNative倒是有兩老司機,他們卻對Redux非常敬重而遠之。 終於放棄了,很快用自己HelloWord水平的React重寫了一遍。也是這個小專案讓自己認識到Redux的學習成本之高,專案結構之繁雜,解決問題之無頭緒,真的能淘汰一大批專業人士。

Dva一聲響,挑動黃河天下反

現在已經忘卻了初次遇見Dva的場景,什麼地方?誰牽的線?但這並不妨礙我膜拜一下Dva的作者,話說當Redux讓我絕望的時候,我也曾一遍遍地嘗試把action reducer 合併,終於由於自己才疏學淺作罷,所以Dva的出現可謂是久旱逢甘霖了。說到這裡,你一定十分好奇, 那麼Dva的到底有什麼特別之處呢?

  1. 引入名稱空間的概念,將Redux的action reducer等複雜的概念進行了分包管理;
  2. 非常好地封裝了Redux和Redux-Saga,API十分友好;
  3. 大大簡化了Redux繁重的程式碼量,資料流響十分清晰; ...

我呢,最不善於表達好惡了,反正自從使用Dva之後開發效率提升一倍以上,並且再沒有跳過資料流的坑。

傳送門:Dva官網:dvajs.com/

Umi 只停留在初體驗

由於對Dva打交道的時間越來越多,就不免很快就認識了他同胞兄弟:Umi。umi是一個可插拔式的React應用框架,

*** 特性 ***

  1. 開箱即用,內建 react、react-router 等;
  2. 類 next.js 且功能完備的路由約定,同時支援配置的路由方式
  3. 完善的外掛體系,覆蓋從原始碼到構建產物的每個生命週期
  4. 高效能,通過外掛支援 PWA、以路由為單元的 code splitting 等
  5. 支援靜態頁面匯出,適配各種環境,比如中臺業務、無線業務、egg、支付寶錢包、雲鳳蝶等
  6. 開發啟動快,支援一鍵開啟 dll 和 hard-source-webpack-plugin 等
  7. 一鍵相容到 IE9,基於 umi-plugin-polyfills
  8. 完善的 TypeScript 支援,包括 d.ts 定義和 umi test
  9. 與 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基礎上構建了,這是後話了。今天就扯到這裡吧,下一篇開始一點點記錄曾經搭過的橋,趟過的河...

相關文章