産生背景
Web前端技術(Web Front-End),通常簡稱為前端,指通過HTML,CSS及JavaScript以及這些技術衍生出來的各種技術、框架、解決方案,來實現互聯網産品的用戶界面交互。
前端技術的發展是互聯網自身發展變化的一個縮影,可以說,沒有互聯網技術進步的土壤,也不會孕育出強大的前端技術。在Web1.0時代,由于網速和終端能力的限制,我們上的網站大部分隻能呈現簡單的圖文信息,并不能滿足用戶在界面上的需求,對界面技術的要求也不高。
随着硬件的完善、高性能浏覽器的出現和寬帶的普及,技術可以在用戶體驗方面實現更多種可能,前端技術領域迸發出非常旺盛的生命力。随着前端技術的不斷優化,用戶體驗不斷提升,前端産業也在不斷成長壯大。n
發展曆程
Web前端開發是從網頁制作演變而來的,名稱上有很明顯的時代特征。在互聯網的演化進程中,網頁制作是Web1.0時代的産物,那時網站的主要内容都是靜态的,用戶使用網站的行為也以浏覽為主。
2005年以後,互聯網進入Web2.0時代,各種類似桌面軟件的Web應用大量湧現,網站的前端由此發生了翻天覆地的變化。網頁不再隻是承載單一的文字和圖片,各種富媒體讓網頁的内容更加生動,網頁上軟件化的交互形式為用戶提供了更好的使用體驗,這些都是基于前端技術實現的。
核心技術
HTML
掌握HTML是網頁的核心,是一種制作萬維網頁面的标準語言,是萬維網浏覽器使用的一種語言,它消除了不同計算機之間信息交流的障礙。因此,它是網絡上應用最為廣泛的語言,也是構成網頁文檔的主要語言,學好HTML是成為Web開發人員的基本條件。
HTML是一種标記語言,能夠實現Web頁面并在浏覽器中顯示。HTML5作為HTML的最新版本,引入了多項新技術,大大增強了對于應用的支持能力,使得Web技術不再局限于呈現網頁内容。n随着CSS、JavaScript、Flash等技術的發展,Web對于應用的處理能力逐漸增強,用戶浏覽網頁的體驗已經有了較大的改善。不過HTML5中的幾項新技術實現了質的突破,使得Web技術首次被認為能夠接近于本地原生應用技術,開發Web應用真正成為開發者的一個選擇。
HTML5可以使開發者的工作大大簡化,理論上單次開發就可以在不同平台借助浏覽器運行,降低開發的成本,這也是産業界普遍認為HTML5技術的主要優點之一。AppMobi、摩托羅拉、Sencha、Appcelerator等公司均已推出了較為成熟的開發工具,支持HTML5應用的發展。
CSS
學好CSS是網頁外觀的重要一點,CSS可以幫助把網頁外觀做得更加美觀。
JavaScript
學習JavaScript的基本語法,以及如何使用JavaScript編程将會提高開發人員的個人技能。
操作系統
了解Unix和Linux的基本知識,對于開發人員有益無害。n
網絡服務器
了解Web服務器,包括對Apache的基本配置,htaccess配置技巧的掌握等。
技術要點
較強的視覺設計
前端技術包括4個部分:前端美工、浏覽器兼容、CSS、HTML“傳統”技術與Adobe AIR、Google Gears,以及概念性較強的交互式設計,藝術性較強的視覺設計等等.
用互聯網來做比喻,凡是通過浏覽器到用戶端計算機的統稱為前端技術.相反存貯于服務器端的統稱為後端技術.
Web前端優化
1、盡量減少HTTP請求(Make Fewer HTTP Requests)
2、減少DNS查找(Reduce DNS Lookups)
3、避免重定向(Avoid Redirects)
4、使得Ajax可緩存(Make Ajax Cacheable)
5、延遲載入組件(Post-load Components)
6、預載入組件(Preload Components)
7、減少DOM元素數量(Reduce the Number of DOM Elements)
8、切分組件到多個域(Split Components Across Domains)
9、最小化iframe的數量(Minimize the Number of iframes)
10、杜絕http404錯誤(No 404s)
以上10條涵蓋了Web前端開發中遇到的各種頁面處理技術,讓前端開發人員能夠準确和快速地把握整個網頁的架構,從而達到減少開發成本和頁面美化目的。
職業機會
2015年12月5日,《廣州互聯網行業人才緊缺指數(TSI)報告》顯示,前端開發工程師成為廣州互聯網行業中最緊俏的職位。
常見前端開發工程師職位職責要求:
(1)使用Div+css并結合Javascript負責産品的前端開發和頁面制作。
(2)熟悉W3C标準和各主流浏覽器在前端開發中的差異,能熟練運用DIV+CSS,提供針對不同浏覽器的前端頁面解決方案。移動HTML5的性能和其他優化,為用戶呈現最好的界面交互體驗和最好的性能。
(3)負責相關産品的需求以及前端程序的實現,提供合理的前端架構。改進和優化開發工具、開發流程、和開發框架
(4)與産品、後台開發人員保持良好溝通,能快速理解、消化各方需求,并落實為具體的開發工作;能獨立完成功能頁面的設計與代碼編寫,配合産品團隊完成功能頁面的需求調研和分析。
(5)了解服務器端的相關工作,在交互體驗、産品設計等方面有自己的見解。
資深前端開發工程師
相比較“前端開發工程師”而言,更加資深,工作職責更大。一般而言,資深前端開發工程師需要使用JavaScript或者ActionScript來編寫和封裝具有良好性能的前端交互組件,熟練使用CSS+XHTML完美輸出視覺界面。同時還要對Web項目的前端實現方案,提供專業指導和監督并在日常工作之中對新人及相關開發人員進行前端技能的培訓和指導。另外,還要跟蹤研究前端技術,設計并實施全網前端優化。HTML5、node.js(JavaScript編程的後台語言)興起,要求資深前端熟悉後端,并且要在商業模式、代碼架構思想等維度去整體考慮前端的全局布局。
前端架構師
前端架構師更偏管理,但職責要求不僅限于管理。前端架構師需要帶領組員實現全網的前端框架和優化,創建前端的相應标準和規範,完善并推廣和應用自己的标準和框架。同時,還要站在全局的角色為整個網站的信息架構和技術選型提供專業意見和方案。