Web前端的需要具備的核心技能_Web前端的有哪些核心技能
現在的網頁制作都更接近傳統的網站后臺開發,所以現在不再叫網頁制作,而是叫Web前端開發。下面由學習啦小編為大家整理的Web前端的核心技能,希望大家喜歡!
Web前端的核心技能
1.開發語言
HTML發展歷史有二十多年,歷經多次版本更新,HTML5和CSS3的出現又是一次革新。有些人認為前端開發要掌握的技能簡單,不就是制作網頁 嘛,其實不然,web前端需要掌握的核心語言xHTML+CSS+JavaScript,JavaScript作為最難的語言之一,許多編程高手也不敢妄 自菲薄自封精通。由于JavaScript與html的差異性,以及靜動態分開處理的一些好處。在大公司編寫靜態效果和動態效果往往是分開由不同的人完成 的。小公司因為需要壓縮成本,就要求每個人會的越多越好,如果您想往項目經理發展,能懂一兩門后臺語言,絕對是錦上添花!
2.瀏覽器兼容性
互聯網目前主流瀏覽器有IE6,Firefox,Chrome,Opera,Safari,遨游,包括國內主流的搜狗,騰訊 TT,360,the World等等;從內核上講主要有IE的,遨游版IE,safari,firefox以及opera的,這些都是大家常見的,如果你身邊有老網蟲喜歡收藏 瀏覽器,你翻翻他的硬盤,相信幾十款肯定是有的。每種內核對代碼的解析是不完全一樣的,即使同樣內核也可能存在很大差異,如IE和遨游版的IE。不說非主流的瀏覽器,就主流的瀏覽器要做到完全兼容,也并非易事,需要長時間的積累和測試,需要前端開發工程師對前端開發的熱愛和激情。
目前移動互聯網的發展趨勢也不容小覷,將慢慢占據互聯網的主要份額。移動互聯網最突出的好處是方便和及時,試想一下,走在某地風景很好,拍下來后自 動分享給各路好友,因此手機上的瀏覽器兼容也看刻不容緩,現在手機上的瀏覽器也是紛繁復雜,主流的UCWEB,safari,IE,3G門戶的,以及 symbian低端機的“殘缺兒童”,包括國外流行手機我們不知道的一些瀏覽器,更糟糕的是這些瀏覽器解析因為手機硬件的不同,每個瀏覽器得到的結果都是 完全不同的。
3.hack技術
由于不同的瀏覽器對CSS的解析認識不一樣,因此會導致生成的頁面效果不一樣,這個時候就需要針對不同的瀏覽器寫不同的CSS,這個過程叫CSS hack。雖然我們寫代碼都要求按照標準,不寫hack代碼,但實際工作中為了兼容主流瀏覽器,hack代碼是免不了的,所以這也應該是每個前端開發人員 必備的技能。
4.業內標準
目前Web前端開發中提到最多的就是W3C標準,這是一系列標準的集合,代表了互聯網發展的方向,也代表了前端開發的一種信仰。寫的代碼都要100%通過標準驗證,為通過標準驗證而感到自豪,會有效推動互聯網的快速發展。
5.開發工具
目前比較流行的是Dreamweaver, 其曾經風靡一時,到現在也沒有退出歷史舞臺,證明DW還是有很大優勢的,尤其是針對初學者,其強大的提示功能可以幫助我們很快的熟悉并掌握網頁布局,但現在更提倡的是純手寫代碼,既體現技能方面的卓越,也可有效避免使用DW等工具產生的冗余代碼。此外再掌握一些photoshop技能,即使沒有美工,也能簡單處理一些圖像。
Web前端的核心條件
第一,必須掌握基本的Web前端開發技術,其中包括:CSS、HTML、SEO、DOM、BOM、Ajax、JavaScript等,在掌握這些技術的同時,還要清楚地了解它們在不同瀏覽器上的兼容情況、渲染原理和存在的Bug。
第二,在一名合格的前端工程師的知識結構中,網站性能優化、SEO和服務器端的基礎知識也是必須掌握的。
第三,必須學會運用各種工具進行輔助開發。
第四,除了要掌握技術層面的知識,還要掌握理論層面的知識,包括代碼的可維護性、組件的易用性、分層語義模板和瀏覽器分級支持,等等。
可見,看似簡單的網頁制作,如果要做得更好、更專業,真的是不簡單。這就是前端開發的特點,也是讓很多人困惑的原因。如此繁雜的知識體系讓新手學習起來無從下手,對于老手來說,也時常不知道下一步該學什么。
代碼質量是前端開發中應該重點考慮的問題之一。例如,實現一個網站界面可能會有無數種方案,但有些方案的維護成本會比較高,有些方案會存在性能問題,而有些方案則更易于維護,而且性能也比較好。這里的關鍵影響因素就是代碼質量。CSS、HTML、JavaScript這三種前端開發語言的特點是不同的,對代碼質量的要求也不同,但它們之間又有著千絲萬縷的聯系。
Web 前端性能優化
1.瀏覽器訪問渲染優化
減少 http 請求數
http 協議是無狀態的應用層協議,每次 http 請求都會建立新的通信鏈路,并且在服務端,每個 http 連接都會開啟一個單獨的線程去處理請求,這都會產生額外的開銷
主要手段就是去合并壓縮 css,JavaScript,圖片文件,把需要的 css,JavaScript,圖片資源進行合并減少建立的連接請求數
同時使用 http 的 keep-alive 來進行連接的復用,以此來減少建立的 http 連接數,提高訪問性能
啟用壓縮
在服務端進行文件的壓縮,減少通信傳輸過程中的數據量
對于文本文件,壓縮率能夠達到 80% 以上,因此在服務端啟用 gzip 壓縮是一個很好的選擇,但啟用壓縮的同時也會給服務器帶來額外的開銷,所以要具體情況具體分析
2.css,JavaScript 代碼優化
css 代碼優化:
盡量使用外部樣式,并且放在頁面頂部加載,一方面能夠及時渲染,另一方面能夠避免因某些樣式導致阻塞渲染
壓縮合并 css 文件,盡量精簡文件,減少通信傳輸數據量和請求連接數
JavaScript 代碼優化:
因為 JavaScript 代碼邊加載邊解析,解析的過程會阻塞瀏覽器渲染,因此把 JavaScript 代碼放在頁面底部加載
同樣的壓縮合并 JavaScript 文件,盡量精簡文件,減少通信傳輸數據量和請求連接數
3.寫高性能的 JavaScript 代碼
使用瀏覽器緩存
一般來說,對于網站里面不經常變化的靜態資源,更新頻率比較低,因此可以把這些資源緩存在瀏覽器中,能夠很好的改善性能
通過設置 http 頭里的 Cache-Control 和 Expires 屬性來設定瀏覽器緩存時間
另外還有 Etags 和 opcode 的緩存,根據具體情況進行選擇吧
CDN 加速
CDN 的本質也屬于緩存,內容分發網絡,把數據緩存在里用戶近的地方,使用戶盡快的獲取數據
因為 CDN 都是部署在網絡運營商的機房,這些運營商又同時為用戶提供網絡服務,因此用戶請求的路由會優先到達 CDN 服務器,如果存在請求的資源的話,就直接返回,最短路徑返回響應,加速用戶訪問速度,同時還能夠為中心機房減輕壓力
CDN 一般用來緩存靜態資源,css,Script 腳本,靜態頁面,圖片等,這些內容修改頻率很低但是訪問請求頻率很高,因此放在 CDN上能夠很好的改善訪問速度
4.反向代理
傳統的代理服務器是當你請求不到所請求的資源時,由代理服務器幫你請求,你知道你請求的最終的服務器是誰,典型的例子就是VPN,通過代理服務器來請求到墻外的世界
而反向代理是當你請求一個地址時,你請求的是反向代理服務器,然后由反向代理服務器去請求其他服務器來獲取內容,而你不知道最終是從哪一臺服務器獲取到的數據
反向代理 web 服務器接收 http 請求,然后進行請求轉發,獲取到內容后返回給你,你只知道是由反向代理服務器給你的數據,而不知道數據源最終是從哪個服務器來的
反向代理服務器具有保護作用,來自互聯網的請求都需要經過反向代理服務器,相當于在 web 服務器之間建立起了一道屏障
除了安全以外,可以在反向代理服務器上進行一些靜態資源的緩存,以此來提高訪問速度,減輕應用服務器的負載壓力
當然,有些動態資源也可以緩存在代理服務器上面,比如說熱門的詞條,帖子,博客等,這些資源的請求量可能非常非常的大,如果每次都走一遍流程的話會造成很大的壓力,同時,當這些動態內容發生改變時,會通知反向代理服務器緩存失效,代理服務器會重新緩存動態資源


