性能優(yōu)化前端 作為前端,真的有必要把三大JS框架(vue,react,angular)都學(xué)會(huì)嗎?
作為前端,真的有必要把三大JS框架(vue,react,angular)都學(xué)會(huì)嗎?我碰巧在實(shí)際的生產(chǎn)項(xiàng)目中使用了這三個(gè)框架。說句公道話,從工作的角度來說,不一定要把這些都學(xué)完。從推廣的角度來看,你至少
作為前端,真的有必要把三大JS框架(vue,react,angular)都學(xué)會(huì)嗎?
我碰巧在實(shí)際的生產(chǎn)項(xiàng)目中使用了這三個(gè)框架。說句公道話,從工作的角度來說,不一定要把這些都學(xué)完。從推廣的角度來看,你至少需要學(xué)習(xí)Vue、react和原生web開發(fā)。安格爾在一定程度上已經(jīng)是第二梯隊(duì)。其工程方案可以理解,但已不再是主流。
事實(shí)上,大多數(shù)時(shí)候,前端工程師解決的不是風(fēng)格的問題,而是協(xié)作和業(yè)務(wù)邏輯處理的問題。一個(gè)公司很少同時(shí)使用多個(gè)框架來實(shí)現(xiàn)業(yè)務(wù)功能。他們可以學(xué)到很多,但在實(shí)際項(xiàng)目中,他們通常有一套代碼,這是方便,快速和高輸出。因此,你在公司的職位與你將遇到多少框架無關(guān)。而且在完全學(xué)習(xí)了一個(gè)框架之后,也不是不可能把其他的拿出來,所以在一天之內(nèi)寫一個(gè)項(xiàng)目也不是不可能的。但如果你想在技術(shù)上走得更遠(yuǎn),你需要了解它們的內(nèi)在邏輯、演變歷史和未來趨勢(shì),這樣你才能做到最好,擺脫技術(shù)上的糟粕。
前端開發(fā),為什么要學(xué)習(xí)react?
React是一個(gè)用于構(gòu)建用戶界面的JavaScript庫。React主要用于構(gòu)建UI。許多人認(rèn)為react是MVC中的V(視圖)。React源于Facebook的內(nèi)部項(xiàng)目,用于建立instagram的網(wǎng)站,于2013年5月開通。React具有高性能和簡(jiǎn)單的代碼邏輯。越來越多的人開始關(guān)注和使用它。
網(wǎng)上都說操作真實(shí)DOM慢,但測(cè)試結(jié)果卻比React更快,為什么?
官方從未說過React比real dom更快。實(shí)際上,react還需要使用本機(jī)DOM操作innerHTML。
react的快速呈現(xiàn)是指DOM的批處理操作,比如多個(gè)P節(jié)點(diǎn)的一次性操作,或者某個(gè)節(jié)點(diǎn)下的子節(jié)點(diǎn)的操作。在這種情況下,反應(yīng)更快。
react原理中的Diff算法:
重新渲染時(shí),react會(huì)根據(jù)Diff算法計(jì)算出新的DOM,這與DOM直接不同。它只更新DOM的這一部分,不移動(dòng)其他DOM。此時(shí),最初的DOM操作是更新所有DOM。
例如:如果要在UL下重新渲染Li,請(qǐng)使用react進(jìn)行渲染。React只更新已更改的Li節(jié)點(diǎn),而未更改的Li節(jié)點(diǎn)不會(huì)移動(dòng)。對(duì)于本機(jī)操作,JS通常會(huì)重新生成所有Li。如果您比較自己,只更新更改的Li節(jié)點(diǎn),它將比react更快。
[我們最近正在更新react文章。歡迎關(guān)注。讓我們一起學(xué)習(xí),一起進(jìn)步
每個(gè)人的理由都不一樣。比如,我擅長后端、前端特效、CSS控制,甚至函數(shù)重用,這對(duì)我來說都是地獄。有了Vue+組件,我就自由了。一個(gè)人可以從事私人工作,并且做好工作!