雖然說俺是個前端工程師,寫寫代碼生成網頁就好了,然而這幾年工做下來養成的嚴謹精神和對美學的追求,反而對用戶體驗的要求愈來愈高。不少人以爲用戶體驗是交互和設計負責的領域,前端只要負責生成代碼就行。其實做爲一個有經驗的前端工程師,頗有必要弄清楚本身在整個網站開發過程當中的地位,以及明白在用戶體驗這塊所具備的影響力。css
前端是UI部分最後的也是最全的質量控制員。由於頁面的靜態代碼包括動態交互都是由前端來實現的,這樣就會涉及到方方面面的細節。在重構的過程當中,我經常以一個普通用戶角度去揣摩這樣的設計是否符合用戶的使用習慣。通常狀況下發現一些細節上的不足我首先會去找設計,在設計承認的狀況下去跟產品經理和交互設計師知會一下。PC端的設計跟移動端的設計有着很大的區別,好比「回到頂部」這個按鈕。移動端通常要設計成正方形,大小跟一個應用的icon尺寸相似。這樣既不過度遮蓋界面內容展現(通常來講「回到頂部」的按鈕是個隨着頁面滾動而滾動的按鈕即fixed按鈕,而且被設計成半透明),也不會形成用戶點擊失敗;而PC端能夠是豎着的長方形能夠是一個文字連接。在最近的一個移動項目中,設計師把「回到頂部」的功能按鈕作成了一個文字連接,跟產品經理提建議以後,對方認爲客戶已經承認了這個設計方案,咱們就再也不作設計上的更改(外包公司的弊病,只要客戶沒意見,咱們只要按時完成做業就好了)。。。前端
用戶體驗的另外一大部分是產品的性能。做爲一個前端,能在性能上作的事無非是減小或者延遲HTTP請求、減小代碼量和提升代碼效率。減小請求的方式也就是合併js、css代碼,圖片合成圖片精靈,有些小圖片能夠用base64代替,或者直接用css3來實現;把一些不在頁面渲染時候須要的js代碼(如googleAnalytics.js)放在body的最下面,這樣不會影響頁面的加載,用戶不會由於js加載的未完成而影響閱讀。減小代碼量就是在壓縮代碼上下點功夫,有工具實現,很簡單。其實對於一個程序員來說,最能體現他能力的仍是在編程技巧方面。至於怎樣提升編程技巧以提升代碼性能我這就不在多說,我的有我的的經驗。css3
總的來講,前端對於用戶體驗的知覺大部分是在UI上,一邊作一邊想,多思考,讓本身的產品越作越有成就感。程序員