react 行,我等你

最近這幾年,前端界最火的框架,當屬angular、react、vue三者莫屬了,從GitHub上,三個項目的star的數量上就可以看得出來,如果沒用這些框架來開發過項目,都不好意思說自己搞前端的。

可是就目前我個人的感覺上來看,用jQuery作為底層開發庫的公司還是佔據多數,這幾套框架,距離佔領jQuery的市場還有一段路要走,箇中原因,無非下面幾種:

  1. 公司以前的項目都是jQuery的,功能太多,一下子推翻難度太高,還是算了吧,o(╯□╰)o;
  2. 項目要考慮到SEO,用這些新框架,對SEO影響太大,現在有了一些解決方案,只是這又增加了額外的學習成本,o(╯□╰)o;
  3. 兼容性問題,公司項目很多要運行在IE8、IE7跟甚至IE6這樣子的環境下,用這些框架要麼是不兼容,要麼就是性能堪憂,o(╯□╰)o;
  4. 對整個這一整套開發環境的搭建,開發模式的配合,上線的部署,心裡沒底,所以多數人只是停留在寫幾個demo的模式上,o(╯□╰)o。

於是還是有大部分的小夥伴們沒有在實際的項目中用過這些個框架……

這3個庫或者框架,我都或多或少的用了一段時間,簡單的說下個人的感受吧

  1. angular1.x:用過三個月,開發過兩個小項目。最直觀的感受,庫的體積大,但是功能也挺強悍,包括model層、controller層、view層都是有著比較明確的區分,路由也支持得很好,數據雙向綁定,整個框架是標準的後端開發的那種思維,所以後端開發很容易接受這一套開發思想,配合ionic來做一般的跨平台app還是不錯的,
  2. vue1.x:用來開發過一個微信端的小項目。在ng1後面不久,前面主要是尤雨溪一個人寫出來的,相比ng1最直觀的感受,就是要輕盈簡捷,文檔API相比ng1更加友好,看個半天就可以做個小項目了,社區也很活躍,作為後來者,vue1的表現比ng1更加強勁
  3. react:用來開發3個項目了。個人比較喜歡react的組件化的思想,所有的組件都可以是相互引用的,差異化配置通過props傳不同的參數進行判斷,將一個複雜的頁面,可以拆分到很細,然後組裝起來就行了。數據流的處理,用redux綁定好就行,數據刷出來了,它自己會render進去

作為一個職業生涯前面大部分時間都在用jQuery打醬油的我,剛開始用react開發項目的時候,真的是糾結啊,當時的狀態是這樣子的,

(??ˇ?ˇ??)哼!都怪你 (`?′) 也不哄哄人家(〃′o`)人家超想哭的,捶你胸口,大壞蛋!!!!!!( ̄^ ̄)ゞ咩QAQ 捶你胸口 你好討厭!……

咳咳,正經點

額,剛才說到哪裡了,啊對,就是這個思維的轉變,真的很糾結,但是在實際使用了這幾個框架開發項目之後,覺得豁然開朗了不少。

既然我用得爽了,總不能自己一個人爽的吧,所以這裡呢,我就把它分享出來,希望大家可以一起爽。

這套框架

  1. js庫是基於react的;
  2. 語法,比較大規模的用到了es6跟7,比如變數聲明let跟const,然後箭頭函數=>,為了兼容,就用babel來做編譯;

  3. 數據流處理,基於isomorphic-fetch庫+redux來做的;
  4. 開發組件庫,antd,目前react界可能是綜合最適合的一套組件庫了;
  5. 編譯工具,webpack,功能還是蠻強大的,配置項是真的多;
  6. 本地開發,proxy做代理;
  7. 語法檢查,繼承自airbnb的規範
  8. 樣式的話,基本就是less 了

說了這麼多,還是直接上代碼地址的吧

一個react+redux+webpack+ES6+antd的SPA的後台管理框架demo

已經160多個star,GitHub上面搜索react ,類型選擇JavaScript,第四個就是這個項目啦

因為想要開原出來跟小夥伴們一起維護升級這個項目,所以特地把這個項目拷貝到另外一個項目了,就是下面這個了

基於react的企業後台管理開發框架

下面簡單的介紹下功能的吧

首先,安裝依賴包,很簡單,命令行工具裡面 npm install

然後就是開發了,安裝好依賴包之後就是npm start就會自己啟動了

最後是構建項目了,npm run build,就OK了

當然, 其中會涉及到語法檢查,那就npm run lint ,自動對設置的業務文件進行代碼規範檢查了

這個框架現在我們用的還是蠻順心的,只是這裡還有些問題我覺得有改進的空間,

  1. 比如我們前端在開發的時候,後端的介面可能還沒有提供,那麼這時候我們就要自己去模擬數據了,於是我就想到了mockjs(這個問題我想到了一個暫時的解決方案,就是自己本機裝一個wamp的PHP環境,其實就是提供一個伺服器地址,然後在裡面模擬後端要返回的API地址,這樣大部分的json數據都是真實的通過伺服器端返回的了)

  2. 開發環境、測試環境、部署環境的webpack配置文件的區分
  3. webpack啟動打包的過程略慢,如何提升構建速度
  4. 配置多頁面多入口,可以做按需載入的PC端在線項目

非常希望有經驗跟興趣的小夥伴,可以一起加入到這個項目的維護開發中來,讓這個項目變得更加的強大好用,在線狼嚎給力的小夥伴,我在這裡等你們噢~~

這個倉庫clone下來,如果自己npm install報錯不會解決的話,可以直接把我上傳的npm依賴包解壓到當前文件夾運行,如果這都運行不起來的話, 請看下面我的眼神

群號:598372207~~~~~~~~

Attention:加群的小夥伴得是用過react有基礎的,這樣才能更好的交流嘛,要不然會不通過噢

對了,如果正好有在杭州的小夥伴,可以一起走潮汕牛肉火鍋,然後還可以來擼我家的小yo噢

YO YO baby come on~~~


推薦閱讀:

2016-我的前端之路:工具化與工程化

TAG:JavaScript | React | AntDesign |