有人一開始看到Per.js時巧号,會覺得它就是一個普通的JavaScript響應(yīng)式開發(fā)框架族奢,和Vue比幾乎完全一樣,我并不需要使用它丹鸿,也不想了解它越走。如果你也有這樣的問題,那么這篇文章也許會讓你重新思考這個問題靠欢。
接下來廊敌,我就來詳細(xì)說明一下Per.js的優(yōu)勢與劣勢:
Per和Vue有70%的相似度,那么我們就從他們對比门怪。
首先骡澈,性能往往是決定一個框架好壞的最重要的一條,而Per.js的平均執(zhí)行速度要比Vue快出7到8倍去掷空。(至少在2.3版本之前是這樣肋殴,之后可能會越來越慢,因?yàn)楣δ茉郊釉蕉啵┻@就表示當(dāng)你從服務(wù)器里獲取20000條數(shù)據(jù)并使用for屬性輸出時拣帽,使用Vue時的執(zhí)行時間大約為200ms疼电,而使用Per的執(zhí)行時間僅有45ms。所以可以說Per.js在for屬性上面的執(zhí)行速度大約是Vue.js的5倍還要多减拭。
僅憑一個for屬性的執(zhí)行速度可能還不足讓你信服蔽豺,那么現(xiàn)在就讓我們看看組件的渲染速度。
使用Vue在100個元素中繪制組件大約需要67ms拧粪,而使用Per在100個元素中繪制相同組件則只需要1.5ms修陡,這就說明Per.js在渲染組件方面,比Vue要快出大約45倍可霎。
可能你會說魄鸦,我根本就不用Vue渲染那么多組件,而且Vue雖然比Per.js慢癣朗,但是也夠用了拾因。
那么如果你這樣認(rèn)為的話,我們就繼續(xù)來看看Vue和Per.js的數(shù)據(jù)模板渲染速度。
使用Vue在100個元素中渲染2個變量大約需要58ms绢记,而使用Per執(zhí)行同樣操作則只需要16ms扁达,這就說明Per.js在渲染組件方面,比Vue要快出大約3.5倍蠢熄。
(以上代碼的對比測試詳細(xì)鏈接在這里:Per.js速度對比Vue的傳送門)
你可以想象跪解,當(dāng)你的服務(wù)器帶寬不足,網(wǎng)站訪問極慢時签孔,你可能會考慮以下幾種方法:
增加帶寬
重構(gòu)網(wǎng)站
第一種方法浪費(fèi)錢叉讥,第二種方法浪費(fèi)時間,如果都不適合你饥追,那么你可以選擇替換框架图仓。
假設(shè)你的用戶訪問你的網(wǎng)站需要6秒的時間,那么服務(wù)器帶寬決定了4秒判耕,前端操作浪費(fèi)了2秒透绩。更何況某些花里胡哨的網(wǎng)站,前端代碼幾十萬行的那種壁熄,更需要一個快速的前端框架。
而我們的作用碳竟,就是要解決這個問題草丧。
Per.js和Vue的操作幾乎相同,但是源碼100%不同莹桅,而且Per.js的部分操作方式和Vue的方式幾乎完全一樣昌执。更何況它(Per.js)也是漸進(jìn)式框架,你只需要小修小改即可完成替換诈泼。
有些人又會說懂拾,我懶得修改了怎么辦呢?
那么你需要想一想铐达,是浪費(fèi)你每月大約200塊錢好呢岖赋,還是重構(gòu)網(wǎng)站浪費(fèi)你大約10天時間好呢,還是替換個框架瓮孙,修改幾個api來得實(shí)在唐断。
當(dāng)然,一個框架的易用性和易上手度是決定這個框架好壞的第二標(biāo)準(zhǔn)杭抠,在這一點(diǎn)上脸甘,Per.js比Vue也要完美。
你去碼云看看我們的wiki和Vue的官方教程即可知道偏灿,使用上手Vue的難度是Per.js難度的幾乎3倍還要多丹诀,十分不適合某些剛進(jìn)入前端的小白來使用。
那么你就可以選擇Per.js!
我們的框架比Vue簡單铆遭,而且方便扁藕,如果你已經(jīng)學(xué)習(xí)了Vue也不要緊,我們的框架比Vue要簡單幾倍疚脐,你只需要花費(fèi)10分鐘閱讀我們的文檔亿柑,即可開始體驗(yàn)我們的超級框架!
那么還有人會問棍弄,你們的框架有Vue的全部功能嗎望薄?
首先你需要知道,我們創(chuàng)建這個框架呼畸,不是為了再造一個輪子痕支,而是發(fā)展一個新的超級JavaScript響應(yīng)式框架。這個超級框架蛮原,不是為了和Vue一樣卧须,主要作用在DOM視圖上,而是為了各方面的需求儒陨。其中包括:DOM花嘶、前端操作、ajax等等蹦漠。
我們的框架在DOM方面和Vue一樣采用MVC架構(gòu)椭员;另外我們的框架是模塊化的,可擴(kuò)展的笛园。
這就使得你可以在需要使用時再加載一個Per.js的模塊隘击,有效減少了加載時的性能消耗。