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