成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

前端框架這么多,該何去何從?

開發 開發工具
在項目中必不可少的便是前端,它是系統的門面、是用戶對系統最直接的體驗,顏值高低也是決定系統好壞的關鍵,那么作為一名軟件開發攻城獅,怎么能放棄這片藍海呢?沒準了解了解前端的世界,就能多一項技能、升職加薪、贏取白(gao)富(fu)美(shuai)、走向人生巔峰呢?

作為一個軟件開發者,***的挑戰就是在不斷涌現的新技術中進行取舍,持續學習是從事這一行業的必備技能。在這個領域里,技術更新最快地又非前端莫屬了。各種框架的出現、版本的更新此起彼伏,呈現出一派欣欣向榮之景。

在項目中必不可少的便是前端,它是系統的門面、是用戶對系統最直接的體驗,顏值高低也是決定系統好壞的關鍵,那么作為一名軟件開發攻城獅,怎么能放棄這片藍海呢?沒準了解了解前端的世界,就能多一項技能、升職加薪、贏取白(gao)富(fu)美(shuai)、走向人生***呢?

[[199170]]

那么,在一個項目中,我們要回答的***個問題就是“這么多的框架,該使用哪一個?”這篇文章將嘗試從項目實施相關方面入手,對目前大熱框架的特點進行分析,幫助你選擇最合適的一款。

由于篇幅有限、框架眾多,在分析之前,我們從版本更新頻度和社區活躍度來進行初步的篩選。已經出現了比較久的Backbone和Knockout, 目前流行度正在持續衰退,說明市場已經做出了選擇,市面上出現了更有競爭力的替代品; 還有aurelia這類的新涌現者,需要等待時間的檢驗。

但是在一個商業項目中,一個有活躍社區支撐,并能得到長期支持的框架無疑能給我們更大的信心。因此,Angular, Ember,Vue或者React都是理想的選擇。

那么在項目實施中,我們一般會關注哪些方面呢?

有過前端開發經驗的同僚們可能會想到:要有可復用的組件,要控制質量做測試和靜態檢查,要有組件隔離的樣式方便實現Responsive,要打包部署方便,***學起來不要太復雜,方便能力建設、節省招聘成本等等。

接下來,我們將從組件復用、測試和學習曲線這三個主要的方面對Angular4,Ember.js,Vue.js和React這四個當前***的框架來做更深入的分析,提供更具體的參考。

1. 可復用的組件

組件復用是每個項目都會重點關注的一個維度。合適的、職責單一的組件會大大提升新特性的開發效率和工程的可維護性,也能方便地進行測試。那么他們的表現都如何呢:

可復用的組件

概括起來,就是Vue、Component的組件相對靈活、輕量,添加依賴就可以無縫集成到遺留系統中。對于從0到1的系統,也可以使用新的實踐來構建工程,例如ES6、Webpack等技術。Angular4官方推薦使用TypeScript,這需要單獨構建和打包,不方便與遺留系統集成。Ember.js自定義了一整套生態,基于CoC理念的設計,采用了前端工程中比較前沿的實踐和標準,很難與遺留系統集成,更適合在新項目中使用。至于數據綁定,各有優勢。雙向綁定在表單交互多的場景中更便捷,單向綁定在管理跟蹤記錄組件狀態時更高效。組件狀態更新,各有不同的實現:

  • Vue2.js通過定義setter來監聽狀態變化,特殊場景需要特殊的API支持, 基于virtual DOM的視圖更新。
  • React在組件的狀態或屬性的變化后,也是基于virtual DOM的視圖更新。
  • Angular4在引起狀態變化的時刻,框架自動觸發臟檢查,也可以手動執行臟檢查,直接操作HTML DOM更新視圖。
  • Ember.js提供數據模型,所有數據的操作通過API執行,使用Glimmer引擎進行HTML渲染和更新。

其中,主要的區別是Angular4是通過事件監聽,對比數據更新,直接操作DOM來更新視圖,而其它都通過Virtual DOM的思路來更新視圖。

2. 組件測試

測試是提高軟件質量的有效手段,易于編寫測試的框架,能降低編寫測試的成本,充足的測試也能提高我們交付軟件的信心。它們在組件測試方面的比較如下:

組件測試

可見,Vue, React測試靈活,可以根據項目具體情況來定制,但是沒有統一的測試實踐規范,對開發人員的能力有較大依賴。Angular4和Ember概念多,有官方推薦的實踐,要完全掌握難度大,優勢是實現起來更規范。

3. 學習曲線

在技術選型過程中,保證項目按時交付,控制風險,團隊能力建設提升,都是需要考慮的因素。作為一個軟件服務公司,如何快速的提升人員能力,選用學習曲線合適的框架,控制項目成本也是一門技術活。下面,對使用這些框架的難度進行了一些簡要分析:

學習曲線

總結

通過上面三個維度的分析,我們發現Vue.js和React的重點更側重于創建可復用、易于測試、能靈活集成的組件。當然,通過其它擴展組件,以及一些腳手架插件的支持,也可以方便的搭建一個采用***實踐的前端應用的構建框架。它們***的優點是按需定制,學習曲線平滑,構建出來的應用小而精。

相對來說,Angular4和Ember是大而全的框架,它們更側重于大型前端工程的構建,為開發人員屏蔽項目構建底層的細節,提出了自己的一套解決方案。使用它們的難點是要度過前期曲線陡峭的學習期,優點是由于使用了標準化的開發方式,后期能極大的提高開發生產力,提升開發效率。

***,說了這么多,大家在具體選型時還是要首先分析自己的需求和現狀,然后再做選擇。不求最酷炫,只求最合適!

【本文是51CTO專欄作者“ThoughtWorks”的原創稿件,微信公眾號:思特沃克,轉載請聯系原作者】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2024-07-12 09:35:38

前端工具檢驗

2024-04-02 08:41:10

ArrayListSubList場景

2023-07-17 08:21:52

漏洞版本項目

2017-11-10 07:08:24

前端優化策略

2018-06-26 15:00:24

Docker安全風險

2023-11-13 08:49:54

2024-02-20 08:09:51

Java 8DateUtilsDate工具類

2022-07-26 23:43:29

編程語言開發Java

2021-01-14 05:08:44

編譯鏈接

2017-12-21 19:38:50

潤乾中間表

2021-01-29 08:52:10

App微信移動應用

2020-11-20 10:22:34

代碼規范設計

2022-11-09 10:32:50

群業務群聊數據結構

2021-05-11 07:42:59

BeanSpring屬性

2020-08-31 06:43:13

Redis集群模式

2021-01-14 10:24:55

壓縮集合方式

2019-02-28 10:37:19

開源數據庫Oracle

2018-02-01 07:16:08

布線電線線路

2013-01-15 09:41:45

編程語言

2019-01-31 10:15:14

群聊單聊消息
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99久久精品免费看国产高清 | 99精品国产一区二区三区 | 国产亚洲一区二区三区 | h视频免费在线观看 | 成人免费影院 | 在线视频 中文字幕 | 伦理午夜电影免费观看 | 国产高清在线精品一区二区三区 | 久久久久国产一区二区三区 | 一区二区三区欧美 | 久久99蜜桃综合影院免费观看 | 一区二区免费在线观看 | 一久久久 | 一区二区三区四区视频 | jizz在线看片 | 亚洲国产一区在线 | 欧美日韩一区二区在线 | 国产一区二区日韩 | 99热最新 | 中文字幕在线观看精品 | 久久国产精品网 | 91成人在线视频 | 亚洲精品一区在线 | 国产精品国产精品国产专区不片 | 欧美又大粗又爽又黄大片视频 | 成人免费看片网 | 久久精品久久综合 | 欧美国产亚洲一区二区 | www.99热| 四虎影视免费在线 | 国产高清视频 | 男女视频网站 | www成人免费 | 欧美自拍另类 | 日韩一区二区在线视频 | 国产日韩精品在线 | 97影院在线午夜 | 综合另类| 亚洲一区播放 | 精品欧美色视频网站在线观看 | 成人天堂 |