vue框架設(shè)計(jì)的緣由:
1、在框架的設(shè)計(jì)中,更希望采用聲明式代碼提供給用戶,聲明式代碼更注重結(jié)果,用戶只需書寫框架規(guī)則代碼就可以實(shí)現(xiàn)自己想要的,比如:
我們在vue中經(jīng)常如下書寫
<div onClick="getClick">按鈕點(diǎn)擊</div>
而不是像jQuery框架里一樣采用命令式代碼,先獲取dom,然后綁定點(diǎn)擊事件,在vue中只關(guān)注結(jié)果,不需要過程,這樣使代碼更容易維護(hù);
2、然而我們在使用聲明式代碼時(shí)的性能相對命令式代碼的性能是低的,這就需要框架推出自己的一套東西去解決性能的消耗,那就是虛擬Dom;
在聲明式里框架需要先找到差異性能,最后還是會(huì)轉(zhuǎn)成命令式去更新,所以虛擬dom的出現(xiàn)其實(shí)主要是降低差異性能,并讓其性能差異使用到最小
3、vue3是一個(gè)運(yùn)行時(shí)+編譯時(shí)的框架,它在保持靈活性的基礎(chǔ)上,能夠通過編譯手段分析用戶提供的內(nèi)容,從而進(jìn)一步提高性能