vue虛擬dom面試 Vue被淘汰了嗎?
Vue被淘汰了嗎?今天,我剛開始了解Vue cli 3.0。我開始寫一個演示,發(fā)現(xiàn)它是驚人的。我放棄了版本2繁瑣的網(wǎng)頁配置?,F(xiàn)在可以說它簡單明了,你甚至不需要寫它vue.config.js文件沒關(guān)系。
Vue被淘汰了嗎?
今天,我剛開始了解Vue cli 3.0。我開始寫一個演示,發(fā)現(xiàn)它是驚人的。我放棄了版本2繁瑣的網(wǎng)頁配置。現(xiàn)在可以說它簡單明了,你甚至不需要寫它vue.config.js文件沒關(guān)系。它是免費的。不管怎樣,它是無害的。但是如果你配置它,你會發(fā)現(xiàn)它并不麻煩。
據(jù)我所知,不應(yīng)該有任何支架可以更快、更直接地反映數(shù)組或?qū)ο蟮淖兓?/p>
另外,語法糖基本上沒什么變化。過去怎么用還是現(xiàn)在怎么用,但是有很多性能優(yōu)化和語法糖分。說真的,我根本找不到vue-cli3.0的致命漏洞。
然后,我還看到人們?yōu)镴Q反對不公正。一年半前,我用JQ寫作。當(dāng)時,我認為JQ是JS的最佳框架。太方便了,DOM的操作也太酷了。直到我寫了一張課程安排項目卡。。。
然后我轉(zhuǎn)向一個小程序,發(fā)現(xiàn)小程序的編寫方法是Vue。。。尤其是組件的編寫方式。。。
畢竟,要消除Vue有點困難。畢竟,這個時代是數(shù)據(jù)操作的時代,而不是DOM操作的時代。
最后,我不認為您應(yīng)該堅持前端框架。即使將來會有更高級的框架,JS仍然是最好的。在這個框架中,我真的想不出還有什么可以玩的了。也許es會逐漸引用這些框架,然后變得如此。例如,當(dāng)您想到JS時,您可以編寫類來繼承嗎?我第一次看到它的時候,我以為它是Java。。。但現(xiàn)在我支持。。。
那為什么不關(guān)注后端呢?所有節(jié)點都熟練嗎?你知道迪諾嗎?PHP開始了嗎?那蟒蛇呢?我相信這些語言將來會逐漸出現(xiàn)在前端知識點(雖然PHP已經(jīng)出現(xiàn)了,但我覺得太多了。據(jù)說好的PHP是世界上最好的語言。。。)
vue學(xué)習(xí)起來困難嗎?
對于小程序開發(fā),只要了解JS語法、閉包等核心概念,就可以啟動小程序,因為代碼是在小程序提供的沙盒環(huán)境中運行的,所以重點是了解小程序提供的能力和API,理解JS編寫。
對于Vue來說,情況更復(fù)雜。在你精通JS之前,不建議學(xué)習(xí)Vue。也許您可以通過查看Vue文檔來編寫一些演示,但是與小程序不同,小程序是一個環(huán)境,Vue是一個數(shù)據(jù)驅(qū)動JS的MVVM框架,它服務(wù)于JS。如果你不精通JS,你應(yīng)該學(xué)點東西,服務(wù)JS是本末倒置?如果你不精通JS和Vue,你只能寫一些演示。你不知道你為什么要寫這篇文章,你的表現(xiàn)如何。在這種情況下,你不能為一個稍微復(fù)雜一點的項目這么做。所以我的建議是,如果你不精通JS,你最好先學(xué)習(xí)JS,打好基礎(chǔ)。如果你必須學(xué)習(xí),學(xué)習(xí)一些小程序是可以的。Vue建議不要擔(dān)心。至少買“JavaScript高級程序設(shè)計”看清楚,然后學(xué)習(xí)Vue/react這樣的JS框架。
在Vue項目中引入jQuery,可以方便一些全局事件綁定的實現(xiàn),屏蔽瀏覽器之間的差異。然而,缺點是顯而易見的。由于jQuery沒有模塊化的概念,將jQuery引入Vue將增加項目的規(guī)模。同時,Vue和jquery在DOM操作中的思想也不盡相同。Vue操作虛擬DOM,jQuery操作實際DOM,并且在數(shù)據(jù)綁定方面存在一些差異。
vue項目引入jquery優(yōu)缺點?
Layui基于jQuery。當(dāng)然,在很多地方,它也直接操作Josn的數(shù)據(jù),直接顯示綁定的數(shù)據(jù)。Vue的底層是操作虛擬DOM來實現(xiàn)數(shù)據(jù)綁定。事實上,開發(fā)商不需要在意。要編寫Vue,它們需要在DOM的指定位置綁定數(shù)據(jù),甚至執(zhí)行一些邏輯,例如V-IF。Layui實際上是一個直接調(diào)用的打包方法。
Vue最大的問題是,如果頁面非常復(fù)雜,DOM、數(shù)據(jù)和方法不在同一個位置,因此需要花費大量的時間才能找到它們。當(dāng)然,vue3已經(jīng)解決了這個問題,所有的邏輯都可以寫成函數(shù)。就我個人而言,我仍然認為Vue用于簡單的頁面,jQuery用于復(fù)雜的業(yè)務(wù)邏輯。
前端開發(fā)也是如此。實際上,我們都使用jQuery。它簡單而粗糙,并且很容易直接操作界面。如果你想實現(xiàn)任何功能,你會成功的。但是在項目變得越來越復(fù)雜之后,這種開發(fā)方式會出現(xiàn)一個問題:代碼組織很低,項目的可維護性很差,特別是當(dāng)項目中的很多頁面都有層次關(guān)系時,很容易混淆自己。
“.現(xiàn)在我們不應(yīng)該把一個網(wǎng)頁看作一個網(wǎng)頁,而是一個以網(wǎng)頁的形式呈現(xiàn)的應(yīng)用程序。分離數(shù)據(jù)和行為之后,前端開發(fā)變得更加清晰,這也是前端開發(fā)的一個重要標志。
雖然這些框架使用了虛擬DOM等技術(shù),但由于抽象合理,開發(fā)效率遠高于傳統(tǒng)前端,比直接操作DOM要慢。試想一下,用這兩種方法開發(fā)的項目效率比傳統(tǒng)開發(fā)低0.5%,但是傳統(tǒng)開發(fā)需要的bug是傳統(tǒng)開發(fā)的兩倍。如果你是,你會選哪一個?