不平凡軟件,始于2014
鄭州軟件公司:前端設(shè)計工藝趨勢
在多年的網(wǎng)站建設(shè)、開發(fā)生涯中,我們努力去研究和探索怎樣可以提高網(wǎng)站的性能,總是會往高、大、深的知識領(lǐng)域去嘗試和摸索,如:IO讀寫、反射代理、代碼編譯、數(shù)據(jù)庫索引、內(nèi)存管理等。但在操作企業(yè)官網(wǎng)項目的眾多實際情況是服務(wù)器端對整個網(wǎng)頁呈現(xiàn)的響應(yīng)時間的影響往往是很小的。實踐發(fā)現(xiàn)前端的效率工藝往往是占有90%的影響度。
又另外云數(shù)據(jù)布署產(chǎn)品的火熱化,如:又拍、阿里、騰訊、七牛。讓我們更多接觸類CDN等靜態(tài)資源分布布署的產(chǎn)品,使得前端工藝需要更趨工程化管理,即前端變得不那么次要,也不那么簡單。下面總結(jié)一下前端工程師需要掌握的前端設(shè)計工藝的三大點。
一、前端實時化
作為下一代的 Web 標準,HTML5 擁有許多引人注目的新特性,如 Canvas、本地存儲、多媒體編程接口、WebSocket 等等。這其中有“Web 的 TCP ”之稱的 WebSocket 格外吸引開發(fā)人員的注意。WebSocket 的出現(xiàn)使得瀏覽器提供對 Socket 的支持成為可能,從而在瀏覽器和服務(wù)器之間提供了一個基于 TCP 連接的雙向通道。Web 開發(fā)人員可以非常方便地使用 WebSocket 構(gòu)建實時 web 應(yīng)用,開發(fā)人員的手中從此又多了一柄神兵利器。本文首先介紹 HTML5 WebSocket 的基本概念以及這個規(guī)范試圖解決的問題,然后介紹 WebSocket 的基本原理和編程接口。接下來會通過一個簡單案例來示范怎樣實現(xiàn)一個 WebSocket 應(yīng)用,并且展示 WebSocket 如何在功能強大和編程簡單易用上達到的完美統(tǒng)一。最后介紹了目前主流瀏覽器對 WebSocket 支持的狀況、局限性以及未來的展望。
二、性能極客
YAHOO的34條前端優(yōu)化定律,現(xiàn)在看來仍然是黃金守則。大體情況如:減少http請求;壓縮并優(yōu)化js/css/image ;盡量靜態(tài)頁面,從簡原則 ;代碼規(guī)范。
三、前端工程自動化
如今的前端開發(fā)中,已經(jīng)不再只是一些簡單的靜態(tài)文件了,對于很多Web App來說,前端代碼甚至比后端代碼要更加復(fù)雜,更加難于管理,例如:我們有許多的第三方庫的依賴需要管理;我們有獨立的前端測試需要自動運行;我們還有很多代碼需要在發(fā)布時進行打包壓縮??所以構(gòu)建一個自動化的前端開發(fā)流程是非常必要的。
為了讓前端項目更趨工程化,于是現(xiàn)在出現(xiàn)了眾多不依賴于后端代碼工具(node.js)的管理工具,對于前端開發(fā)者非常友好,例如:YEMAN、Jam、volo、component、Brunch??,更有一些輕量的工具(bower、grunt)來搭建自己的前端開發(fā)流程。
四、前端服務(wù)化
所謂服務(wù)化,即使用者只需調(diào)用,而毋須知道內(nèi)部的實現(xiàn),說白了就是標準化。Node.js的出現(xiàn)使前端服務(wù)化成為可能。Node.js開發(fā)的系統(tǒng)可以作為接入層,調(diào)用Java、C++等提供的基礎(chǔ)功能,處理數(shù)據(jù)庫,然后將數(shù)據(jù)吐給瀏覽器進行渲染。簡易言之,就是用Node.js代替業(yè)務(wù)邏輯這一層。最后造就的成果是,不僅Java,C++可以放棄業(yè)務(wù)邏輯,更專注于數(shù)據(jù)處理的基礎(chǔ)服務(wù),而且Node.js能更專注于業(yè)務(wù)邏輯,挺供API服務(wù)給瀏覽器端的代碼進行調(diào)用。
用Node.js作為接入層,讓前端涉足“后臺”的業(yè)務(wù)成為可能,而且能提高開發(fā)效率,還能更方便地使用最新Web技術(shù),如Big Pipe,WebSocket等對頁面進行優(yōu)化。
除了Node.js作為接入層提供服務(wù)以外,淘寶的赫門還提出了將前端Web Component作為一種服務(wù),提供給后臺使用。Javascript的AMD與CommonJS規(guī)范的訂立使Javascript的模塊化開發(fā)成為可能,也就自然而然地推動了前端的組件化。
不平凡軟件,鄭州軟件開發(fā)公司,鄭州軟件開發(fā),鄭州軟件定制,鄭州微信開發(fā),鄭州進銷存定制開發(fā),鄭州OA系統(tǒng)開發(fā),鄭州軟件開發(fā)公司
相關(guān)新聞換一組