| 網(wǎng)站首頁(yè) | 關(guān)于我們 | 開發(fā)優(yōu)勢(shì) | 產(chǎn)品展示 |
| 合作企業(yè) | 新聞動(dòng)態(tài) | 聯(lián)系我們 | 電話聯(lián)系 |
文章作者:濟(jì)南軟件開發(fā) 時(shí)間:2016年11月08日
如果你正在籌劃新的前端項(xiàng)目或者重構(gòu)現(xiàn)有項(xiàng)目,那么你需要認(rèn)識(shí)到現(xiàn)在的前端開發(fā)環(huán)境已經(jīng)今非昔比,這其中有太多的選擇了:React、Flux、Angular、Aurelia、Mocha、Jasmine、Babel、TypeScript、Flow…… 它們的本意是將開發(fā)簡(jiǎn)單化,卻無形中提高了學(xué)習(xí)成本,也給未來項(xiàng)目的維護(hù)帶來了不確定性。所以濟(jì)南軟件開發(fā)對(duì)于其中的一些技術(shù)都只做簡(jiǎn)單的介紹和分析。
1、React 可謂風(fēng)頭正盛一時(shí)無兩
組件化使應(yīng)用程序更易于開發(fā)和維護(hù),學(xué)習(xí)曲線平緩,核心 API 簡(jiǎn)潔清晰,易于學(xué)習(xí)。JSX 語(yǔ)法不落俗套,充分發(fā)揮了 JavaScript 的能量,天生適配 Flux 和 Redux,社區(qū)活躍且具有創(chuàng)造力,奉獻(xiàn)了諸多優(yōu)秀的開發(fā)工具。單向數(shù)據(jù)流比雙向數(shù)據(jù)綁定的方式更適合復(fù)雜應(yīng)用程序,質(zhì)量更高。支持服務(wù)端渲染,雖然比起 Ember、Aurelia 和 Angular 這些功能豐富的框架,React 不是全能手,但 React 的開發(fā)環(huán)境更加健壯。就目前而言,使用 React 已經(jīng)不是一個(gè)技術(shù)選擇,而是一個(gè)商業(yè)行為,它能提供更高效和更有效的生產(chǎn)力。
2、目前來說被開發(fā)社區(qū)廣泛支持的一個(gè)實(shí)現(xiàn)就是 Redux
在 Redux 中,大多數(shù)的組件都是純函數(shù)式的組件,也只有一個(gè)集中的存儲(chǔ)和資源中心。Redux 的實(shí)例方法負(fù)責(zé)整個(gè)數(shù)據(jù)的操作和維護(hù)。相比 Flux 來說,Redux 的思路更加清晰。
更重要的是,Redux 非常易于學(xué)習(xí)。Redux 的作者 Dan Abramov 是一個(gè)優(yōu)秀的教師,他制作了一系列深入淺出的 Redux 視頻教程。通過觀看這些視頻,即可成為一個(gè) Redux 方面的專家。我曾經(jīng)見識(shí)到一個(gè)零基礎(chǔ)的 React 團(tuán)隊(duì)在短短幾周內(nèi)迅速開發(fā)出了測(cè)試版產(chǎn)品,且代碼非常穩(wěn)健和老練。
Redux 周邊的生態(tài)系統(tǒng)和 Redux 本身一樣健壯。從神奇的 devtool 到強(qiáng)大的記憶化工具 reselect,Redux 開發(fā)社區(qū)為開發(fā)者提供了應(yīng)有盡有的工具。
開發(fā)者可能會(huì)本能地去嘗試抽象出一個(gè) Redux 模板,這么做有諸多好處,但請(qǐng)?jiān)谡J(rèn)清需求的基礎(chǔ)上來封裝模板,而不要盲目的去嘗試。
3、ES6 和 Babel
目前最新的瀏覽器已經(jīng)支持了 ES6 的大部分特性。Babel 是一個(gè)強(qiáng)大的轉(zhuǎn)換工具,用于將 ES6 轉(zhuǎn)換為 ES5。此外,根據(jù)目標(biāo)瀏覽器可以調(diào)整代碼轉(zhuǎn)換的程度。
那么是否有類型系統(tǒng)呢?TypeScript 和 Flow 都為 JavaScript 提供了靜態(tài)類型系統(tǒng),使用靜態(tài)類型檢查,可以有效捕獲錯(cuò)誤,減少測(cè)試量。目前來說,濟(jì)南軟件開發(fā)建議大家對(duì)此持觀望態(tài)度。
TypeScript 在盡力讓 JavaScript 向 C# 或 Java 的方向發(fā)展,但缺少了許多高級(jí)的類型系統(tǒng)特性,比如代數(shù)數(shù)據(jù)類型(algebraic data types)。此外,它不能像 Flow 一樣有效地處理 null。
相比而言,F(xiàn)low 更加強(qiáng)大,捕獲的錯(cuò)誤類型也更多,但難于配置。此外,它對(duì) JavaScript 新特性的支持弱于 Babel,也不支持 Windows 系統(tǒng)。
想要了解更多詳情歡迎來電咨詢18678812288,或登陸網(wǎng)址m.h6244.cn。聯(lián)系人:王經(jīng)理。地址:濟(jì)南市舜耕路泉城公園東門園內(nèi)向北50米
想要了解更多詳情歡迎來電咨詢18678812288
登陸網(wǎng)址:m.h6244.cn。
聯(lián)系人:王經(jīng)理。