欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

你們?yōu)槭裁磼仐壛薺Query而轉(zhuǎn)向angularJS等框架

你們?yōu)槭裁磼仐壛薺Query而轉(zhuǎn)向angularJS等框架?

我13年開(kāi)始入坑前端,經(jīng)歷了原生,jquery,angular及到現(xiàn)在的vue,來(lái)談?wù)勥@一路的心路歷程吧。

在13年時(shí),我最開(kāi)始使用原生去寫(xiě)頁(yè)面交互,取元素,加事件,寫(xiě)動(dòng)畫(huà),還有ie6、7的兼容性,現(xiàn)在的前端是無(wú)法明白當(dāng)時(shí)的苦。

但當(dāng)遇到了jquery,就像悟空遇到了金箍棒,突然讓你覺(jué)得,一切都是如此簡(jiǎn)單,突然讓你覺(jué)得你千斤的背上卸去了一半重量的輕松。不用你再去為了獲取一個(gè)元素寫(xiě)幾行代碼,只為了兼容某些瀏覽器,不用你再去為了一個(gè)動(dòng)畫(huà)焦頭難額。它有強(qiáng)大無(wú)比的dom選擇器,讓你隨心所欲的操作界面上的任何元素,包括改變樣式,賦值,取值,乃至添加元素,讓你爽上天,即使在現(xiàn)在這個(gè)框架無(wú)比強(qiáng)大的年代,它依然非常好用,另外,jquery相關(guān)的各種各樣的插件會(huì)讓你在開(kāi)發(fā)中事半功倍。

但是呢,時(shí)代在進(jìn)步,需求也在改變,隨著大型網(wǎng)站越來(lái)越多,尤其是移動(dòng)互聯(lián)網(wǎng)的出現(xiàn),單頁(yè)面應(yīng)用也就不斷增多。所以,應(yīng)用的復(fù)雜程度,代碼的復(fù)雜程度都不斷增加,此時(shí),jquery就會(huì)有很大的缺陷,具體在哪,我就拿我上一個(gè)公司的項(xiàng)目說(shuō)下。

我們那項(xiàng)目是一個(gè)單頁(yè)面應(yīng)用的web版,是一個(gè)企業(yè)應(yīng)用,有差不多十幾個(gè)功能。在我去公司是,架構(gòu)已經(jīng)形成,使用的jquery+ejs。沒(méi)有使用任何其他框架,在開(kāi)始功能很少的時(shí)候,沒(méi)有發(fā)覺(jué)有太大的問(wèn)題,但是隨著需求增加,每個(gè)功能的代碼量也就開(kāi)始增加,可能僅僅一個(gè)簡(jiǎn)單的功能,都需要將近兩千的代碼量,而且代碼主要用來(lái)干什么呢?用來(lái)獲取數(shù)據(jù),提交數(shù)據(jù),將數(shù)據(jù)寫(xiě)入頁(yè)面,及數(shù)據(jù)變化后,需要?jiǎng)討B(tài)的生成html,然后在添加到頁(yè)面。而且這所有的代碼,復(fù)用性很低。到前兩年,問(wèn)題就相當(dāng)突出,整個(gè)網(wǎng)站,代碼總量超過(guò)了10萬(wàn)行,合并壓縮后js文件都差不多一兩兆,這還不是最主要的,最主要是當(dāng)需要改一個(gè)小小的需求時(shí),你會(huì)發(fā)覺(jué)幾萬(wàn)行代碼你都不想去看它,而且一個(gè)不注意就會(huì)導(dǎo)致意料不到的bug,此時(shí),突然覺(jué)得,一切都難以控制。

隨后,我們?cè)谛碌墓δ芾锸褂昧水?dāng)時(shí)比較火的,社區(qū)環(huán)境較好的angular1,使用了雙向綁定,因?yàn)槲覀兪瞧髽I(yè)應(yīng)用系統(tǒng),數(shù)據(jù)相關(guān)很多,所以減少了很多的取數(shù)據(jù),寫(xiě)數(shù)據(jù)的代碼,而且使用angular指令去組件化頁(yè)面,提高頁(yè)面復(fù)用性。使用service和filter去提高某些方法的復(fù)用性。這樣,也就減少了很大部分的代碼量,提高了很多的開(kāi)發(fā)效率。

但是,由于我們本來(lái)是單頁(yè)面應(yīng)用,公司是創(chuàng)業(yè)公司,無(wú)法進(jìn)行重構(gòu),所以在后面功能,每次都需要重新重構(gòu)一個(gè)angular項(xiàng)目,而且,angular的學(xué)習(xí)成本和項(xiàng)目復(fù)雜度很高,一個(gè)小功能都是一個(gè)新的anglar項(xiàng)目。

隨后,vue的出現(xiàn),它輕量級(jí),雙向綁定,較低的學(xué)習(xí)成本,組件化的開(kāi)發(fā)模式這些都優(yōu)于angular1,因此,從此后項(xiàng)目,就開(kāi)始使用vue及進(jìn)行其組件化管理。

對(duì)于使用什么框架,需要根據(jù)項(xiàng)目需求和公司技術(shù)人員,公司狀況而定。更重要的是,不管是使用什么框架,最終目的都是為了提高開(kāi)發(fā)效率,開(kāi)發(fā)質(zhì)量,提高項(xiàng)目的可維護(hù)性。

vue抽離CSS,你們?yōu)槭裁磼仐壛薺Query而轉(zhuǎn)向angularJS等框架