目前大多數(shù)新網(wǎng)站均采取前后端分離, 將更多的交互邏輯分配給前端來處理, 如圖2所示, 后端專注于其本職工作, 負(fù)責(zé)數(shù)據(jù)模型Model層, 進(jìn)行權(quán)限控制以及進(jìn)行運(yùn)算工作。而前端開發(fā)人員需要與后臺解耦, 獨(dú)立控制視圖View層。前端可以根據(jù)業(yè)務(wù)邏輯, 通過Ajax主動去獲取后臺數(shù)據(jù) (Controller) , 并插入視圖層展示。前端需要獨(dú)立完成與用戶交互的整個(gè)過程。因此, 前端負(fù)責(zé)的內(nèi)容就變得更多了, 業(yè)務(wù)邏輯更多地交給前端去控制, 前端開發(fā)人員需要引用更多的框架或者寫更多的邏輯去實(shí)現(xiàn), 因此網(wǎng)頁會變得越來越復(fù)雜、臃腫。電商網(wǎng)站是圖片加載數(shù)量最多的網(wǎng)站類型之一。在主流的電商網(wǎng)站中, 主頁的風(fēng)格, 大多數(shù)是商品的大圖展示, 往下滾動, 便是各種精美商品的中型圖片展示。一般電商網(wǎng)站都是做長頁面的, 即一頁加載的內(nèi)容非常多, 方便用戶瀏覽, 不用通過點(diǎn)擊頁碼切換商品。因此, 圖片資源過多是導(dǎo)致電商網(wǎng)站臃腫的主要原因之一。
電商企業(yè)之間的競爭非常激烈, 電商網(wǎng)站會通過各種酷炫的網(wǎng)頁效果, 來吸引用戶, 留存用戶。例如常見的圖片輪播、全屏紅包彈窗、各種精美動畫等。除此復(fù)雜的設(shè)計(jì)外, 網(wǎng)站開發(fā)人員還需要設(shè)計(jì)更多邏輯, 這個(gè)環(huán)節(jié)就很考驗(yàn)網(wǎng)站開發(fā)人員的技術(shù)能力。如上述的各種動效, 網(wǎng)上均有很多CMS模板或框架可以支持使用, 開發(fā)者無需關(guān)心具體動效實(shí)現(xiàn)細(xì)節(jié), 只需要引用開源框架的所有代碼, 按照要求配置即可實(shí)現(xiàn)。這種做法得到大多數(shù)開發(fā)者的青睞, 因?yàn)樗蟠鬁p少了開發(fā)難度, 節(jié)省了時(shí)間。但是, 這種做法犧牲的是網(wǎng)頁的質(zhì)量。很多時(shí)候這種模板框架的功能是大而全的, 開發(fā)者會因?yàn)樾枰玫侥硞€(gè)效果, 而需要引入整個(gè)框架。這種模板或框架, 通常也依賴多個(gè)其他的模板和框架, 結(jié)果為了實(shí)現(xiàn)一個(gè)效果, 引入了不少冗余的資源, 網(wǎng)站加載的JavaScript文件數(shù)量過多, 邏輯復(fù)雜, 會降低瀏覽器性能。
本文地址:http://www.khwajamoinuddinchishty.com//article/24672.html