首頁(yè)技術(shù)文章正文

淺談在開發(fā)中使用框架的利弊,你適合哪種?

更新時(shí)間:2018-11-05 來(lái)源:黑馬程序員 瀏覽量:

首先我們來(lái)談?wù)劊陂_發(fā)當(dāng)中為什么一定要會(huì)用框架:

1.可以集中精力在業(yè)務(wù)的實(shí)現(xiàn),而不用把過(guò)多的精力和人力用在代碼功能邏輯的實(shí)現(xiàn)上。

2.很重要的一點(diǎn)大家應(yīng)該都是知道,避免我們?cè)谧约旱膶懙倪^(guò)程中給自己帶來(lái)很多bug。

3.并且可以暫時(shí)快速的解決掉某一問(wèn)題,之后的進(jìn)一步解決。

4.還可以避免寫技術(shù)文檔和介紹功能實(shí)現(xiàn)給團(tuán)隊(duì)成員的問(wèn)題。

5.用框架的話會(huì)縮短我們開發(fā)的時(shí)間與周期。

6.因?yàn)槌墒斓目蚣鼙旧砭褪峭晟频慕鉀Q方案。一般它們都有自己的生態(tài)系統(tǒng),有眾多技術(shù)達(dá)人參與。這樣我們?cè)谑褂弥校粌H有完善的技術(shù)文檔可以隨時(shí)查看,遇到問(wèn)題也有地方問(wèn),最重要的一點(diǎn)是不用自己設(shè)計(jì)、整理、驗(yàn)證技術(shù)方案了,你只是需要深入了解它的生態(tài)系統(tǒng)即可。

7.避免了bikeshedding現(xiàn)象(它的意思是說(shuō):‘總在一些沒(méi)有意義的問(wèn)題上爭(zhēng)論,而有意忽視哪些真正需要解決的難點(diǎn)/痛點(diǎn)問(wèn)題’)的出現(xiàn)。

下面說(shuō)一下在開發(fā)中我們使用框架弊端:

首先說(shuō)第一點(diǎn)就是我們知道,使用框架的成本是很高的。就這一點(diǎn)也許就蓋過(guò)了我們以上所說(shuō)的所有有點(diǎn)。但是如果我們要用一個(gè)框架就一定要考慮他的成本。那么對(duì)于一個(gè)團(tuán)隊(duì)來(lái)說(shuō),需要一個(gè)專門招聘一些精通這些框架的開發(fā)人員,可以是前端后端或者是維護(hù)人員。其次沒(méi)有一個(gè)框架是萬(wàn)能框架,如果下一項(xiàng)目使用另一個(gè)框架也許要單獨(dú)招聘另一波開發(fā)人員。這樣也不是所有企業(yè)都能接受的。
對(duì)于我們個(gè)人來(lái)說(shuō),學(xué)一個(gè)框架也要很大的時(shí)間經(jīng)歷。不僅要學(xué)習(xí)框架本很,還要了解他的生態(tài)系統(tǒng),

關(guān)注它的各方面咨詢,尤其是版本更新,它往往帶有對(duì)過(guò)去框架存在問(wèn)題的改進(jìn),如果升級(jí)版就可以移除自己解決原框架存在問(wèn)題而寫的補(bǔ)丁(這些補(bǔ)丁有大有小,也可能引入了其他依賴),這樣就帶來(lái)另一個(gè)問(wèn)題,項(xiàng)目的遷移問(wèn)題,像angular一樣它現(xiàn)在的版本已經(jīng)到了9.x,但現(xiàn)在有相當(dāng)一部分還在用著1.x,angualr雖好,但是它也給開發(fā)人員帶來(lái)了巨大麻煩,學(xué)習(xí)曲線太陡是一方面,要了解的東西太多(知識(shí)面的廣度)是另一個(gè)重要方面。當(dāng)然一直使用一個(gè)框架,并進(jìn)行深度挖掘的技術(shù)團(tuán)隊(duì),受益良多,但這樣的團(tuán)隊(duì)又有多少。

除了成本,就要考慮項(xiàng)目的規(guī)模和復(fù)雜度問(wèn)題。

不能一個(gè)就五六個(gè)簡(jiǎn)單頁(yè)面的項(xiàng)目,你就引入一個(gè)框架吧。此外使用一個(gè)框加,往往會(huì)使用它配套的部件,如:引入vue,一些用慣了vue-router,vuex,在項(xiàng)目中自然而然的引入這些東西,這些在簡(jiǎn)單的仙姑中往往沒(méi)有必要。這也是開發(fā)這些框架的核心團(tuán)隊(duì)為什么盡量的縮減核心框架功能的原因,而把一些次要功能或三級(jí)功能獨(dú)立出來(lái)。這些由主框架、功能庫(kù)、主題庫(kù)、工具庫(kù)、以及輔助開發(fā)的工具庫(kù)等組成的集合,就是該框架的生態(tài)系統(tǒng)。

開發(fā)人員要時(shí)刻保持理智,找到適合自己的方式:

國(guó)內(nèi)的一些基層開發(fā)的程序員普遍存在不理智的情況,跟風(fēng)也比較嚴(yán)重,那么我們就應(yīng)該注意下面的這些:
很多技術(shù)比較火,但是不代表這個(gè)方案就完美
好的技術(shù)框架不一定我們都要會(huì),但一定要有自己所精通的框架
別人會(huì)的框架我不一定要精通,但是我要保證的是,我會(huì)的框架要比別人懂更多
學(xué)習(xí)什么技術(shù)不是一天或者一兩個(gè)月的事情,不要急于求成,技術(shù)都是積累出來(lái)的
不要把大神神話,誰(shuí)都是從小白出來(lái)的
要對(duì)技術(shù)保持熱度,而不是蹭技術(shù)的熱度


作者:黑馬程序員前端與移動(dòng)開發(fā)培訓(xùn)學(xué)院
首發(fā):http://web.itheima.com/

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!