當前位置:首頁 » 網頁前端 » web復合教程
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web復合教程

發布時間: 2022-08-29 12:16:46

❶ 零基礎小白該如何高效的學習Web前端技術

今天小編要跟大家分享的文章是關於零基礎小白該如何高效的學習Web前端技術?Web前端開發要學的知識內容涉及的會很寬泛,雖然說主要是html、css和JavaScript這些基礎知識點,但學前端開發除了要學這些基礎知識外,學員還要在這之上進行延伸和深入的去學,而且互聯網時代不斷發展,掌握了這些新技術、新技能,在職場的競爭力必然會翻倍提升。

零基礎學Web前端開發要怎麼去學?


首先要學習的就是基礎知識:html、css和JavaScript。HTML是內容,CSS是表現,JavaScript是行為。前端開發的門檻其實非常低,與伺服器端語言先慢後快的學習曲線相比,前端開發的學習曲線是先快後慢。


所以,對於從事IT工作的人來說,前端開發是個不錯的切入點。也正因為如此,前端開發的領域有很多自學成「才」的同行。HTML是最基礎的,現在流行的是HTML5設計,能更好的為移動端服務,要先學會網頁布局。CSS是用來美化HTML頁面的為頁面提供布局和格式。最後再學JavaScript。


下面為大家總結了一條前端學習路線,大家可以參考一下。


1、css和html


剛入門的朋友,應該把重點放在css和html基礎知識的學習上。關於CSS(3)
你需要了解以下一些知識點:Web標准、HTML相關概念、HTML標簽、路徑相關概念、錨點及其他、表格標簽、表單標簽、綜合案例,注冊頁面、CSS選擇、CSS字體樣、CSS外觀屬性、調式、CSS復合選擇器、標簽顯示模式、CSS背景、CSS三大特性等等。總的來講,CSS和HTML的學習還是比較簡單的。


2、JavaScript


JavaScript一直都是前端工程師進步的基石,JavaScript
的理解深度決定了前端開發者的職業發展。關於JavaScript的學習內容包括了瀏覽器執行js過程、js變數、數據類型、運算符、流程式控制制語句(ifelse
、三元表達式、switch)、循環(for、while、do
while)、數組、冒泡排序、函數、作用域、預解析、對象、內置對象、簡單類型和復雜類型等。只有在熟悉了JavaScript基礎語法的基礎上,我們才能繼續深入學習前端開發技術。


3、庫工具


我們常用的庫工具有JQuery、underScore、zepto、Moment等。JQuery:降低開發者操作DOM
的復雜度;UnderScore:提供實用的函數;Zepto:JQuery的簡化版;Moment:
日期和時間操作庫。這些庫給我們提供了很大的便利,省去了我們編寫相關方法的時間,同時也是我們的程序更加穩健——我們自己寫的方法很可能在某些情況下就出bug
了。當然對於這些庫我們不僅僅只是去了解
API,我們需要去學習它的源碼。看看如果自己寫相關方法的話是不是也想到了這種方式,這些庫工具是也是一個很好的學習工具,我們不應該忽略。


4、Node與Ajax


學習內容包括了node環境安裝、node模塊化、gulp使用、伺服器和http協議、Ajax函數封裝、同源策略、JSONP、
CORS、jQuery中Aajx方法的使用、Ajax補充內容。完成這部分學習路線的內容可以基本掌握前後端數據交互、基於前後端分離模式、傳統模式的開發的工作。因此可以具備企業基礎用人標准,能夠達到初級前端開發工程師水平。


5、vue


vue的優勢是:模板和渲染函數的彈性選擇;簡單的語法和項目配置;更快的渲染速度和更小的體積。關於這部分我們要學習Vue指令、修飾符、樣式綁定、v-model底層原理、計算屬性、過濾器、偵聽器、vue組件、Promise、Fetch、axios、vue路由、前端工程化和模塊化等等。學完以上內容,大家能夠實現基於Vue技術棧項目的開發能力,基本能夠達到中級前端開發工程師水平。


看到這里,相信大家對於如何學習前端已經有了一定的了解。實際上,關於前端的學習路線不是固定的,但是按照目前市場的潮流l來說,以上總結的知識點都是前端開發工程師必須要掌握的技能。最後,希望大家能都朝著自己的目標,一步一個腳印前進。


以上就是小編今天為大家分享的關於零基礎小白該如何高效的學習Web前端技術的文章,希望本篇文章能夠對正在從事Web前端學習的小夥伴們有所幫助,想要了解更多Web前端知識記得關注北大青鳥Web培訓官網,最後祝願小夥伴們工作順利,成為一名優秀的Web前端工程師。


文章來源:原創張_前端留學生


❷ Web前端工程師要掌握的Web前端性能優化方法

今天小編要跟大家分享的文章是關於Web前端工程師要掌握的Web前端性能優化方法。正在從事Web前端工作的小夥伴們來和小編一起看一看吧,希望本篇文章能夠對正在從事Web前端工作的小夥伴們有所幫助。

Web前端需要性能優化么?


性能優化一直以來都是前端工程領域中的一個重要部分。很多資料表明,網站應用的性能優化對於提高用戶留存、轉化率等都有積極影響。可以理解為,提升你的網站性能,就是提升你的業務數據(甚至是業務收入)。


性能優化廣義上包含前端優化和後端優化。後端優化的關注點更多的時候是在增加資源利用率、降低資源成本以及提高穩定性上。相較於後端,前端的性能優化會更直接與用戶的體驗掛鉤。從用戶體驗側來說,前端服務
5s的載入時間優化縮減80%(1s)與後端服務50ms的響應優化縮減80%(10ms)
相比,用戶的體驗提升會更大。因此很多時候,與體驗相關的性能的瓶頸會出現在前端。


我和一些同學接觸的過程中,發現作為前端工程師,大家其實都具備一定的性能優化意識,同時也有自己的優化「武器庫」,例如懶載入、資源合並、避免reflow
等等。雖然大家對性能優化都有自己的思路,不過大多是分散在某幾個點,較難形成一個完整的體系。


一、html文檔結構標簽語義化


1、首先什麼是語義化呢?


語義化是指用合理HTML標記以及其特有的屬性去格式化文檔內容。機器在需要更少的人類干預的情況下能夠研究和收集信息,讓網頁能夠被機器理解,最終讓人類受益。即用正確的標簽做正確的事。


2、語義化的好處或者說存在的意義


①有利於搜索引擎抓取


②結構清晰的HTML在團隊合作中的作用:代碼可讀、便於維護、提高開發效率、快速達成共識、利於二次開發。


③有利於盲人屏幕閱讀器


二、css、js文件數量及大小


優化一般對於css、js是建議使用外聯式來進行導入。我們可以對css、js做相應的規劃也可以減少css、js的個數以減少http請求。同時也要注重減少重復代碼,注重代碼重復利用,以達到用最少的代碼干最多的事。同時當項目要投入上線使用的時候,可以對css、js文件進行壓縮,文件的減小可以加速文件的鏈接導入,以便加速網頁的載入渲染。


可通過使用Webpack,gulp等工具對Js文件進行合並。


三、圖片的數量和大小


多個伺服器請求會對站點的性能產生顯著的影響。對一張圖片進行導入又是一個http請求,因此我們應該減少圖片的導入數量以便減少http請求。此處,我們必須提到一個名詞「css精靈spirit」。css精靈是指包含多個不同的圖標、按鈕或圖形的單個圖像。因此我們可以把多張背景圖片合並為一張然後對背景圖片進行相應的定位。同時使用PNG8格式的圖片相對於GIF來說比較少。而對於內容圖片,可以對其進行適當的壓縮,可以加快文檔內容載入,或者如果是需要用戶下載的圖片,小的圖片可以加快用戶下載的速度。


使用較為廣泛的Web圖片格式有:JPEG/JPG、PNG、WEBP、Base64、SVG。


1.JPEG/JPG


特點是有損壓縮,體積小,載入快,不支持透明。


使用場景:JPG適合用於呈現熱菜豐富的圖片,在日常的開發中,JPG圖片經常作為大的背景圖、輪播圖或是Banner圖。比如兩大電商網站對大圖片的處理,就是對JPG圖片應用場景的最佳寫照。用JPG來呈現大圖片,既可以保留圖片的質量,又不會擔心圖片的體積,是一種比較廣泛使用的方案。


缺點:在處理一些矢量圖形和logo等這些線條感很強、顏色對比強烈的圖片時,認為壓縮就導致圖片模糊非常明顯。另外,JPG圖像不支持透明度處理,透明圖片只能用PNG來呈現了。


2.PNG-8和PNG-24


特點是無損壓縮、質量高、體積大、支持透明


優點:無損壓縮的高保真圖片格式。8和24都是二進制數的位數,8位的PNG支持256中顏色,24位的PNG可以支持1600萬種顏色。在不考慮文件大小隻在乎最佳的顯示效果時,推薦使用PNG-24。但是在適合使用PNG時會優先選擇PNG-8


應用場景:主要用PNG來呈現小的LOGO、顏色簡單對比強烈的圖片或是背景。


3.SVG


特點是文本文件,體積小,不失真,兼容性好


優點:SVG是一種基於XML語法的圖像格式。SVG對圖像的處理不是基於像素,而是基於對圖像的形狀描述。


和JPG、PNG相比較,SVG文件體積更小,可壓縮性更強。SVG作為矢量圖最大的優點在於圖片可以無限放大還不失真,一張SVG圖片可以適配多種解析度。另外SVG是文本文件,可以像寫代碼一樣定義SVG,放在HTML中稱為DOM的一部分。也可以把對圖像的描述寫入以.svg為後綴的文件中,在img標簽中引入即可。


4.WebP


優點:WebP是一款比JPG、PNG等在壓縮方面更加優越的圖片格式,同時也不會影響其圖片質量,使用該格式時最好將同名文件格式化,當檢測瀏覽器不兼容時自動切換jpg格式


缺點:是一個相對較新的技術,所以對於目前市面上的瀏覽器能否完美的兼容,其可用和實用性就變得很現實了,再好的東西如果沒有好的兼容性,也是非常難以普及和被廣泛使用的


5.Base64


優點:減少請求,加快首屏數據顯示。對於jpg格式的圖片,每一個圖片相當於一次http請求,圖片多了的話,伺服器耗性能比較嚴重。而將jpg轉化成base64格式的圖片,則極大地減少了請求數,因為Base是文本格式。


缺點:base64格式圖片比原圖大,佔用更多存儲空間,同時,瀏覽器不會對該資源緩存


使用方法:background:url(data:image/png;base64,{img_data})


應用場景:一般對於小於10KB大小的圖片進行base64轉碼。


至於動態圖有GIF與APNG:後者APNG這東西是mozilla搞出來的,
它是24位的,而且也是動圖,可以容納1680萬種顏色,也是為了取代GIF,但是....也就火狐支持,IE10和chrome,safari全部不行,
如果說gif圖片是卡片機的話,APNG就是單反


四、有效性驗證


除了根據語義加標記之外,HTML文檔還需要用有效的代碼來編寫,如果代碼是無效的,瀏覽器會嘗試解釋標記本身,有時候會產生錯誤的結果。更糟的是,如果發送具有正確的MIME類型的XHTML文檔,理解XML的瀏覽器將不顯示無效的頁面。因為瀏覽器需要知道要使用什麼DTD(文檔類型定義)才能正確地處理頁面,所以對頁面進行有效性驗證要求有DOCTYPE聲明。


有效性驗證工具徑:



W3C驗證器(bookmarklet),這是一小段可以存儲在瀏覽器的書簽或收藏夾中的Javascript。單擊這個書簽就會觸發Javascript動作。


②可以訪問http://validator.w3.org/,通過輸入自己的URL來對自己的站點來進行在線驗證。


③使用firefox瀏覽器的可以下載插件FirefoxWebDeveloperExtension


五、雅虎的Web優化最佳實踐


1、內容優化


①盡量減少HTTP請求:常見方法包括合並多個CSS文件和JavaScript文件,利用CSSSprites整合圖像,Image
map(圖像中不同的區域設置不同的鏈接),內聯圖象(使用data:URLscheme在實際的頁面嵌入圖像數據)等。


②減少DNS查找,一般dns查找需要花費20-120ms,Windows的DNS緩存,可以通過ipconfig/displaydns
這個命令來查看。


③避免重定向


④使Ajax可緩存


⑤延遲載入組件:考慮哪些內容是頁面呈現時所必需首先載入的、哪些內容和結構可以稍後再載入,根據這個優先順序進行設定。



預載入組件:預載入是在瀏覽器空閑時請求將來可能會用到的頁面內容(如圖像、樣式表和腳本)。當用戶要訪問下一個頁面時,頁面中的內容大部分已經載入到緩存中了,因此可以大大改善訪問速度。


⑦減少DOM元素數量:頁面中存在大量DOM元素,會導致JavaScript遍歷DOM的效率變慢。


⑧根據域名劃分頁面內容:把頁面內容劃分成若幹部分可以使你最大限度地實現平行下載。但要確保你使用的域名數量在2個到4個之間(否則與第2條沖突)。


⑨最小化iframe的數量:iframes
提供了一個簡單的方式把一個網站的內容嵌入到另一個網站中。但其創建速度比其他包括JavaScript和CSS的DOM元素的創建慢了1-2個數量級。



避免404:HTTP請求時間消耗是很大的,因此使用HTTP請求來獲得一個沒有用處的響應(例如404沒有找到頁面)是完全沒有必要的,它只會降低用戶體驗而不會有一點好處。


2、伺服器優化


①使用內容分發網路(CDN):把你的網站內容分散到多個、處於不同地域位置的伺服器上可以加快下載速度。


添加Expires或Cache-Control信息頭:對於靜態內容,可設置文件頭過期時間Expires的值為「Never
expire(永不過期)」;對於動態內容,可使用恰當的Cache-Control文件頭來幫助瀏覽器進行有條件的請求。


②Gzip壓縮


③設置ETag:ETags(Entity
tags,實體標簽)是Web伺服器和瀏覽器用於判斷瀏覽器緩存中的內容和伺服器中的原始內容是否匹配的一種機制。



提前刷新緩沖區:當用戶請求一個頁面時,伺服器會花費200到500毫秒用於後台組織HTML文件。在這期間,瀏覽器會一直空閑等待數據返回。在PHP中,可以使用flush()方法,它允許你把已經編譯的好的部分HTML響應文件先發送給瀏覽器,這時瀏覽器就會可以下載文件中的內容(腳本等)而後台同⑤時處理剩餘的HTML頁面。



對Ajax請求使用GET方法:當使用XMLHttpRequest時,瀏覽器中的POST方法會首先發送文件頭,然後才發送數據。因此使用GET最為恰當。


⑦避免空的圖像src


3、Cookie優化


①減小cookie大小:去除不必要的coockie,並使coockie體積盡量小以減少對用戶響應的影響



針對Web組件使用域名無關的Cookie:對靜態組件的Cookie讀取是一種浪費,使用另一個無Cookie的域名來存放靜態組件是一個好方法,或者也可以在Cookie中只存放帶www的域名。


4、CSS優化


①將CSS代碼放在HTML頁面的頂部


②避免使用CSS表達式:CSS表達式在執行時候的運算量非常大,會對頁面性能產生大的影響


③使用來代替@import


④避免使用Filters:IE獨有屬性AlphaImageLoader用於修正IE
7以下版本中PNG圖片的半透明效果,但它的問題在於瀏覽器載入圖片時它會終止內容的呈現並且凍結瀏覽器。


5、JavaScript優化


①將JavaScript腳本放在頁面的底部



將JavaScript和CSS作為外部文件來引用:在實際應用中使用外部文件可以提高頁面速度,因為JavaScript和CSS文件都能在瀏覽器中產生緩存。


③縮小JavaScript和CSS


④刪除重復的腳本


⑤最小化DOM的訪問:使用JavaScript訪問DOM元素比較慢


⑥開發智能的事件處理程序


6、圖像優化


①優化圖片大小


②通過CSSSprites優化圖片


③不要在HTML中使用縮放圖片


④favicon.ico要小而且可緩存


7、針對移動優化


①保持組件大小在25KB以下:主要是因為iPhone不能緩存大於25K的文件(注意這里指的是解壓縮後的大小)。


②將組件打包成為一個復合文檔:把頁面內容打包成復合文本就如同帶有多附件的Email,它能夠使你在一個HTTP請求中獲取多個組件。


以上就是小編今天為大家分享的關於Web前端工程師要掌握的Web前端性能優化方法的文章,希望本篇文章能夠對正在從事Web前端工作的小夥伴們有所幫,想要了解更多Web前端工作的小夥伴們記得關注北大青鳥Web培訓官網最後祝願小夥伴們工作順利!


❸ Web前端入門知識之Web前端性能優化

今天小編要跟大家分享的文章是關於Web前端入門知識之Web前端性能優化。性能優化一直以來都是前端工程領域中的一個重要部分。很多資料表明,網站應用的性能優化對於提高用戶留存、轉化率等都有積極影響。可以理解為,提升你的網站性能,就是提升你的業務數據(甚至是業務收入)。

性能優化廣義上包含前端優化和後端優化。後端優化的關注點更多的時候是在增加資源利用率、降低資源成本以及提高穩定性上。相較於後端,前端的性能優化會更直接與用戶的體驗掛鉤。從用戶體驗側來說,前端服務
5s的載入時間優化縮減80%(1s)與後端服務50ms的響應優化縮減80%(10ms)
相比,用戶的體驗提升會更大。因此很多時候,與體驗相關的性能的瓶頸會出現在前端。


作為前端工程師,大家其實都具備一定的性能優化意識,同時也有自己的優化「武器庫」,例如懶載入、資源合並、避免reflow
等等。雖然大家對性能優化都有自己的思路,不過大多是分散在某幾個點,較難形成一個完整的體系。下面來和小編一起看一看web前端性能優化該怎麼做。


一、html文檔結構標簽語義化


1、首先什麼是語義化呢?


語義化是指用合理HTML標記以及其特有的屬性去格式化文檔內容。機器在需要更少的人類干預的情況下能夠研究和收集信息,讓網頁能夠被機器理解,最終讓人類受益。即用正確的標簽做正確的事。


2、語義化的好處或者說存在的意義


①有利於搜索引擎抓取


②結構清晰的HTML在團隊合作中的作用:代碼可讀、便於維護、提高開發效率、快速達成共識、利於二次開發。


③有利於盲人屏幕閱讀器


二、css、js文件數量及大小


優化一般對於css、js是建議使用外聯式來進行導入。我們可以對css、js做相應的規劃也可以減少css、js的個數以減少http請求。同時也要注重減少重復代碼,注重代碼重復利用,以達到用最少的代碼干最多的事。同時當項目要投入上線使用的時候,可以對css、js文件進行壓縮,文件的減小可以加速文件的鏈接導入,以便加速網頁的載入渲染。


可通過使用webpack,gulp等工具對Js文件進行合並。


三、圖片的數量和大小


多個伺服器請求會對站點的性能產生顯著的影響。對一張圖片進行導入又是一個http請求,因此我們應該減少圖片的導入數量以便減少http請求。此處,我們必須提到一個名詞「css精靈spirit」。css精靈是指包含多個不同的圖標、按鈕或圖形的單個圖像。因此我們可以把多張背景圖片合並為一張然後對背景圖片進行相應的定位。同時使用PNG8格式的圖片相對於GIF來說比較少。而對於內容圖片,可以對其進行適當的壓縮,可以加快文檔內容載入,或者如果是需要用戶下載的圖片,小的圖片可以加快用戶下載的速度。


使用較為廣泛的web圖片格式有:JPEG/JPG、PNG、WEBP、Base64、SVG。


1.JPEG/JPG


特點是有損壓縮,體積小,載入快,不支持透明。


使用場景:JPG適合用於呈現熱菜豐富的圖片,在日常的開發中,JPG圖片經常作為大的背景圖、輪播圖或是Banner圖。比如兩大電商網站對大圖片的處理,就是對JPG圖片應用場景的最佳寫照。用JPG來呈現大圖片,既可以保留圖片的質量,又不會擔心圖片的體積,是一種比較廣泛使用的方案。


缺點:在處理一些矢量圖形和logo等這些線條感很強、顏色對比強烈的圖片時,認為壓縮就導致圖片模糊非常明顯。另外,JPG圖像不支持透明度處理,透明圖片只能用PNG來呈現了。


2.PNG-8和PNG-24


特點是無損壓縮、質量高、體積大、支持透明


優點:無損壓縮的高保真圖片格式。8和24都是二進制數的位數,8位的PNG支持256中顏色,24位的PNG可以支持1600萬種顏色。在不考慮文件大小隻在乎最佳的顯示效果時,推薦使用PNG-24。但是在適合使用PNG時會優先選擇PNG-8


應用場景:主要用PNG來呈現小的LOGO、顏色簡單對比強烈的圖片或是背景。


3.SVG


特點是文本文件,體積小,不失真,兼容性好


優點:SVG是一種基於XML語法的圖像格式。SVG對圖像的處理不是基於像素,而是基於對圖像的形狀描述。


和JPG、PNG相比較,SVG文件體積更小,可壓縮性更強。SVG作為矢量圖最大的優點在於圖片可以無限放大還不失真,一張SVG圖片可以適配多種解析度。另外SVG是文本文件,可以像寫代碼一樣定義SVG,放在HTML中稱為DOM的一部分。也可以把對圖像的描述寫入以.svg為後綴的文件中,在img標簽中引入即可。


4.WebP


優點:WebP是一款比JPG、PNG等在壓縮方面更加優越的圖片格式,同時也不會影響其圖片質量,使用該格式時最好將同名文件格式化,當檢測瀏覽器不兼容時自動切換jpg格式


缺點:是一個相對較新的技術,所以對於目前市面上的瀏覽器能否完美的兼容,其可用和實用性就變得很現實了,再好的東西如果沒有好的兼容性,也是非常難以普及和被廣泛使用的


5.Base64


優點:減少請求,加快首屏數據顯示。對於jpg格式的圖片,每一個圖片相當於一次http請求,圖片多了的話,伺服器耗性能比較嚴重。而將jpg轉化成base64格式的圖片,則極大地減少了請求數,因為Base是文本格式。


缺點:base64格式圖片比原圖大,佔用更多存儲空間,同時,瀏覽器不會對該資源緩存。


使用方法:background:url(data:image/png;base64,{img_data})


應用場景:一般對於小於10KB大小的圖片進行base64轉碼。


至於動態圖有GIF與APNG:後者APNG這東西是mozilla搞出來的,
它是24位的,而且也是動圖,可以容納1680萬種顏色,也是為了取代GIF,但是....也就火狐支持,IE10和chrome,safari全部不行,
如果說gif圖片是卡片機的話,APNG就是單反


四、有效性驗證


除了根據語義加標記之外,HTML文檔還需要用有效的代碼來編寫,如果代碼是無效的,瀏覽器會嘗試解釋標記本身,有時候會產生錯誤的結果。更糟的是,如果發送具有正確的MIME類型的XHTML文檔,理解XML的瀏覽器將不顯示無效的頁面。因為瀏覽器需要知道要使用什麼DTD(文檔類型定義)才能正確地處理頁面,所以對頁面進行有效性驗證要求有DOCTYPE聲明。


有效性驗證工具徑:



W3C驗證器(bookmarklet),這是一小段可以存儲在瀏覽器的書簽或收藏夾中的Javascript。單擊這個書簽就會觸發Javascript動作。


②可以訪問http://validator.w3.org/,通過輸入自己的URL來對自己的站點來進行在線驗證。


③使用firefox瀏覽器的可以下載插件FirefoxWebDeveloperExtension


五、雅虎的Web優化最佳實踐


1、內容優化


①盡量減少HTTP請求:常見方法包括合並多個CSS文件和JavaScript文件,利用CSSSprites整合圖像,Image
map(圖像中不同的區域設置不同的鏈接),內聯圖象(使用data:URLscheme在實際的頁面嵌入圖像數據)等。


②減少DNS查找,一般dns查找需要花費20-120ms,Windows的DNS緩存,可以通過ipconfig/displaydns
這個命令來查看。


③避免重定向


④使Ajax可緩存


⑤延遲載入組件:考慮哪些內容是頁面呈現時所必需首先載入的、哪些內容和結構可以稍後再載入,根據這個優先順序進行設定。



預載入組件:預載入是在瀏覽器空閑時請求將來可能會用到的頁面內容(如圖像、樣式表和腳本)。當用戶要訪問下一個頁面時,頁面中的內容大部分已經載入到緩存中了,因此可以大大改善訪問速度。


⑦減少DOM元素數量:頁面中存在大量DOM元素,會導致JavaScript遍歷DOM的效率變慢。


⑧根據域名劃分頁面內容:把頁面內容劃分成若幹部分可以使你最大限度地實現平行下載。但要確保你使用的域名數量在2個到4個之間(否則與第2條沖突)。


⑨最小化iframe的數量:iframes
提供了一個簡單的方式把一個網站的內容嵌入到另一個網站中。但其創建速度比其他包括JavaScript和CSS的DOM元素的創建慢了1-2個數量級。



避免404:HTTP請求時間消耗是很大的,因此使用HTTP請求來獲得一個沒有用處的響應(例如404沒有找到頁面)是完全沒有必要的,它只會降低用戶體驗而不會有一點好處。


2、伺服器優化


①使用內容分發網路(CDN):把你的網站內容分散到多個、處於不同地域位置的伺服器上可以加快下載速度。


添加Expires或Cache-Control信息頭:對於靜態內容,可設置文件頭過期時間Expires的值為「Never
expire(永不過期)」;對於動態內容,可使用恰當的Cache-Control文件頭來幫助瀏覽器進行有條件的請求。


②Gzip壓縮


③設置ETag:ETags(Entity
tags,實體標簽)是web伺服器和瀏覽器用於判斷瀏覽器緩存中的內容和伺服器中的原始內容是否匹配的一種機制。



提前刷新緩沖區:當用戶請求一個頁面時,伺服器會花費200到500毫秒用於後台組織HTML文件。在這期間,瀏覽器會一直空閑等待數據返回。在PHP中,可以使用flush()方法,它允許你把已經編譯的好的部分HTML響應文件先發送給瀏覽器,這時瀏覽器就會可以下載文件中的內容(腳本等)而後台同⑤時處理剩餘的HTML頁面。



對Ajax請求使用GET方法:當使用XMLHttpRequest時,瀏覽器中的POST方法會首先發送文件頭,然後才發送數據。因此使用GET最為恰當。


⑦避免空的圖像src


3、Cookie優化


①減小cookie大小:去除不必要的coockie,並使coockie體積盡量小以減少對用戶響應的影響



針對Web組件使用域名無關的Cookie:對靜態組件的Cookie讀取是一種浪費,使用另一個無Cookie的域名來存放靜態組件是一個好方法,或者也可以在Cookie中只存放帶www的域名。


4、CSS優化


①將CSS代碼放在HTML頁面的頂部


②避免使用CSS表達式:CSS表達式在執行時候的運算量非常大,會對頁面性能產生大的影響


③使用來代替@import


④避免使用Filters:IE獨有屬性AlphaImageLoader用於修正IE
7以下版本中PNG圖片的半透明效果,但它的問題在於瀏覽器載入圖片時它會終止內容的呈現並且凍結瀏覽器。


5、JavaScript優化


①將JavaScript腳本放在頁面的底部



將JavaScript和CSS作為外部文件來引用:在實際應用中使用外部文件可以提高頁面速度,因為JavaScript和CSS文件都能在瀏覽器中產生緩存。


③縮小JavaScript和CSS


④刪除重復的腳本


⑤最小化DOM的訪問:使用JavaScript訪問DOM元素比較慢


⑥開發智能的事件處理程序


6、圖像優化


①優化圖片大小


②通過CSSSprites優化圖片


③不要在HTML中使用縮放圖片


④favicon.ico要小而且可緩存


7、針對移動優化


①保持組件大小在25KB以下:主要是因為iPhone不能緩存大於25K的文件(注意這里指的是解壓縮後的大小)。


②將組件打包成為一個復合文檔:把頁面內容打包成復合文本就如同帶有多附件的Email,它能夠使你在一個HTTP請求中獲取多個組件。


以上就是小編今天為大家分享的關於Web前端入門知識之Web前端性能優化的文章,希望本篇文章能夠對正在從事web前端工作的小夥伴們有所幫助,想要了解更多web前端知識記得關注北大青鳥web培訓官網,最後祝願小夥伴們工作順利,成為一名優秀的web前端工作順利。


❹ web是干什麼的 怎麼用

web 引申為「環球網」,而且,在不同的領域,有不同的含義。 就拿「環球網」的釋義來說,對於普通的用戶來說,web僅僅只是一種環境——互聯網的使用環境、氛圍、內容等;而對於網站製作、設計者來說,它是一系列技術的復合總稱(包括網站的前檯布局、後台程序、美工、資料庫領域等等的技術概括性的總稱)。 [編輯本段]網頁 網頁,是網站中的一「頁」,通常是HTML格式(文件擴展名為.html或.htm或.asp或.aspx或.php或.jsp等)。網頁通常用圖像檔來提供圖畫。網頁要透過網頁瀏覽器來閱讀。 網頁是構成網站的基本元素,是承載各種網站應用的平台。通俗的說,您的網站就是由網頁組成的。如果您只有域名和虛擬主機而沒有製作任何網頁的話,您的客戶仍舊無法訪問您的網站。 所謂網站(Website),就是指在網際網路(網際網路)上,根據一定的規則,使用HTML等工具製作的用於展示特定內容的相關網頁的集合。簡單地說,網站是一種通訊工具,就像布告欄一樣,人們可以通過網站來發布自己想要公開的資訊(信息),或者利用網站來提供相關的網路服務(網路服務)。人們可以通過網頁瀏覽器來訪問網站,獲取自己需要的資訊(信息)或者享受網路服務 什麼是網頁? 現在在你眼前,出現在顯示器上的這個 「 東西 」 ,就是一個網頁。網頁實際是一個文件,他存放在世界某個角落的的某一台計算機中,而這台計算機必須是與互聯網相連的。網頁經由網址( URL )來識別與存取,當我們在瀏覽器輸入網址後,經過一段復雜而又快速的程序,網頁文件會被傳送到你的計算機,然後再通過瀏覽器解釋網頁的內容,再展示到你的眼前。 構成網頁的元素: 文字與圖片是構成一個網頁的兩個最基本的元素。你可以簡單的理解為:文字,就是網頁的內容,圖片,就是網頁的美觀。除此之外,網頁的元素還包括動畫、音樂、程序等等。 在網頁上點擊滑鼠右鍵,選擇菜單中的 「 查看源文件 」 ,就可以通過記事本看到網頁的實際內容。可以看到,網頁實際上只是一個純文本文件,它通過各式各樣的標記對頁面上的文字、圖片、表格、聲音等元素進行描述(例如字體、顏色、大小),而瀏覽器則對這些標記進行解釋並生成頁面,於是就得到你現在所看到的畫面。 為什麼在源文件看不到任何圖片? 網頁文件中存放的只是圖片的鏈接位置,而圖片文件與網頁文件是互相獨立存放的,甚至可以不在同一台計算機上。 網頁的類型. 通常我們看到的網頁,都是以 htm 或 html 後綴結尾的文件,俗稱 HTML文件。不同的後綴,分別代表不同類型的網頁文件,例如以 CGI 、 ASP 、 PHP 、 JSP 甚至其他更多。 網頁的分類 網頁有多種分類,我們籠統意義上的分類是動態和靜態的頁面,原則上講靜態頁面多通過網站設計軟體來進行重新設計和更改,相對的比較滯後,當然現在有網站管理系統,也可以生成靜態頁面~我們稱這種靜態頁面為偽靜態。動態頁面通過網頁腳本與語言自動處理自動更新的頁面,比方說貼吧,他就是通過網站伺服器運行程序,自動處理信息,按照流程更新網頁。 【 引用 】

❺ web前端培訓有哪些課程

您好,web前端培訓課程包括以下8個階段:
階段1.前端核心基礎
HTML +_CSS核心、JavaScript基礎語法、JavaScript面向對象、JavaScript DOM和BOM編程、jQuery框架

階段2.HTML5 + CSS3 + 移動端核心
HTML5新特性、Canvas專列、CSS3新特性、CSS3進階、CSS3實例演練

階段3.移動端
移動端核心、移動端適配、移動端特效

階段4.伺服器端
伺服器端開發、資料庫操作、前後端交互核心、微信公眾號開發

階段5.JavaScript高級
JavaScript基礎深入剖析、JavaScript面向對象深入講解、JavaScript非同步編程、JavaScript函數式編程、JavaScript設計模式

階段6.前端必備
性能優化、版本控制工具、模塊化、項目構建工具

階段7.高級框架
React框架基本使用、React框架進階、Vue框架基本使用、Vue框架進階、Vue源碼分析

階段8.小程序
原生小程序入門、原生小程序API使用、小程序框架Mpvue

❻ web前端開發要學些什麼東西,以及學習順序,求大佬解答,謝謝了。

前端行業的薪資居高不下,對於想入門的小白卻不知道如何學起,今天愛前端考拉老師告訴你小白如何開啟前端學習以及需要掌握哪些知識點。
學習對象:0基礎,對互聯網充滿熱情,想要從事H5前端開發、全棧開發的學員;

第一階段 互聯網基本原理和HTML
互聯網基本原理、伺服器、瀏覽器、HTTP請求的概念。編程工具介紹、HTML簡介。HTML語義化標簽、p標簽和h系列標簽。HTML基本骨架深入、HTML骨架、HTML和XHTML的區別。元信息標記meta、設置頁面關鍵字、字元集、關鍵字、頁面描述。a標簽和img標簽,相對路徑、絕對路徑。ul、ol、dl標簽、div和span標簽、較不常用HTML標簽簡介。表單、提交表單action、傳送方法method、插入表單對象。HTML注釋、HTML字元實體。
第二階段CSS基礎和高級技巧
選擇器。文字屬性、顏色屬性。繼承性和層疊性,權重計算。CSS盒模型,width、height、padding、border、margin屬性。父子嵌套模型,使用Fireworks精確還原設計圖。float浮動屬性、浮動的意義、清除浮動的方法。瀏覽器兼容,CSS hack。 background系列屬性、css精靈、網頁上透明。超級鏈接的偽類、導航條。 position定位、定位小技巧。DIV+CSS布局。
第三階段 靜態網站製作項目
通過以上兩個階段的學習可以達到製作網頁的水平,學習要求。需要掌握搜索引擎優化的概念、頁面常用SEO技巧、學會有格調的製作頁面。iconfont字體圖標。一些常見的CSS高級技巧,比如負margin、壓線技術、滑動門、列自撐技術。較復雜布局網站的學習,學習製作2~3個頁面。通欄banner、大背景等時下流行的網站製作方法。精美企業站賞析、製作
第四階段JavaScript基礎
語句、執行順序、詞法結構、標識符、關鍵字、變數、常量、alert語句和console控制台。值和變數、數字、文本、布爾值、null和undefined。表達式和運算符、運算符概述。流程式控制制、賦值語句、條件判斷語句、if語句、if語句的嵌套、switch語句、循環控制語句、while語句、do…while語句、for循環。跳轉語句:continue語句、break語句。函數、參數、返回值、遞歸、作用域、全局變數、局部變數。內部對象、數組、字元串。
第五階段JavaScript DOM編程
事件與事件處理概述、事件與事件名稱、常用事件、事件處理程序的調用、DOM事件模型、事件流、 事件對象、注冊與移除事件。文檔對象的常用屬性、方法與事件、輸出數據。事件的三要素。DOM對象、DOM概述、DOM分層、DOM級別、DOM對象節點屬性、遍歷文檔樹、克隆刪除替換。動畫基礎知識、定時器、setInterval和setTimeout、運動效果、 實用的動畫、製作運動效果案例
第六階段jQuery頁面特效
jQuery對象和DOM對象、jQ選擇器、CSS操作、設置和獲取HTML、文本和值。事件、載入DOM、事件綁定、合成事件、事件對象的屬性。動畫、自定義動畫方法、動畫回調函數、停止動畫、其他動畫方法。jQuery對表單、表格的操作及更多應用、表單應用、表格應用。jQuery插件,jQueryUI,jQuery ease,jQuery mousewheel等。超多頁面特效!結合案例掌握了解jQuery插件的使用。
第七階段JavaScript進階
命名空間、對象擴展、數組化、主流框架引入的機制——domReady、無沖突處理。語言模塊、字元串的擴展與修復、數組的擴展與修復、數值的擴展與修復、函數的擴展與修復、 日期的擴展與修復、瀏覽器嗅探與特徵偵測 、判定瀏覽器、事件的支持偵測、樣式的支持偵測。類工廠、JavaScript對類的支撐、各種類工廠的實現。瀏覽器內置的尋找元素的方法、屬性模塊、如何區分固有屬性與自定義屬性。
第八階段HTML5和CSS3
HTML5概述、HTML5新特性、HTML5組織、HTML5構成、HTML5頁面的特徵、HTML基礎、HTML5全局屬性、HTML5其他功能、HTML5元素分類。實戰HTML5表單、新增的input輸入類型。HTML5音頻與視頻、HTML5多媒體技術概述、在HTML5中播放音頻。CSS3編碼規范、了解CSS3新增特性。CSS選擇器、屬性選擇器、結構偽類選擇器、UI偽類選擇器。旋轉動畫、縮放動畫、移動動畫、傾斜動畫。3D炫酷動畫效果實戰。
第九階段移動web和響應式網頁
視口、縮放 、解析度、物理解析度、設備像素比、dppx和dpi 、meta視口。百分比布局、流式布局、CSS3新的流式盒模型。觸摸和指針事件、觸摸事件、手勢事件 、其他事件、拖放、滾動層、事件和交互模式、移動端交互綜合實戰。zepto.js、jQuery Mobile等移動端常見框架。HTML5速成移動端框架。Bootstrap3 、調整響應式導航條斷點。移動優先、Bootstrap柵格系統、柵格系統原理、Bootstrap中的JavaScript交互、Bootstrap敏捷開發。
第十階段伺服器知識和PHP入門
後台語言和前台語言的區別。初識PHP、PHP語言的優勢、PHP 5的新特性、PHP的發展趨勢、PHP的應用領域。 PHP環境搭建和開發工具。PHP語言基礎、PHP變數、PHP運算符、 PHP的表達式、PHP編碼規范、流程式控制制語句、字元串操作、PHP數組、 PHP與Web頁面交互。資料庫技術概述、增刪改查。
第十一階段Ajax企業項目實戰開發
Ajax概述與Ajax初體驗、Ajax技術介紹、XMLHttpRequest對象詳解、動態載入和顯示數據、XMLHttpRequest對象概述、方法、屬性、發送請求、GET和POST請求、運行周期、使用JSON響應、Ajax實用包的封裝。JSON的解析、Underscore模板引擎、模板技術、動態組裝頁面、電話號碼歸屬地查詢、驗證碼等。Ajax實戰篇 、Ajax高級表單驗證程序 、Ajax動態聯動菜單、瀑布流。
第十二階段JavaScript面向對象
創建對象、屬性的查詢和設置、 刪除屬性、檢測屬性、枚舉屬性、屬性getter和setter、屬性的特性、對象的三個屬性、序列化對象、對象方法。類和模塊、類和原型、類和構造函數、類的擴充、類和類型、子類。原型、實例化和原型、 對象實例化、通過構造器判斷對象、繼承與原型鏈、構造函數和原型對象 、構造函數、原型對象 、[[Prototype]]屬性 、在構造函數中使用原型對象 、改變原型對象、內建對象的原型對象。
第十三階段canvas動畫和手機游戲
Canvas繪圖、基本知識、理解canvas坐標系、獲取canvas環境上下文、理解路徑、路徑操作API 、繪制線條 、繪制矩形 、繪制圓弧 、繪制貝塞爾曲線 、線條屬性 、線條顏色 、填充 、繪圖狀態。圖像API、使用canvas繪制圖像、坐標變換、繪制文字。游戲原理、製作2D游戲引擎、理解游戲循環、渲染引擎實現、使用引擎構建游戲實例、游戲常用演算法。
第十四階段Node.js企業項目開發
Node的特點、非同步I/O、事件與回調函數、單線程、跨平台、Node的應用場景、I/O密集型、CommonJS規范、Node的模塊實現、路徑分析和文件定位、模塊編譯、核心模塊、JavaScript核心模塊的編譯過程、網路編程、構建TCP服務。構建HTTP服務、構建WebSocket服務、網路服務與安全。MongoDB、Express、Mongoose、socket.io。小型微博系統、俄羅斯方塊對戰。Linux使用。
第十五階段信小程序
小程序概述、 小程序開發賬戶的注冊、獲得AppId下載使用開發者工具、認識默認的文件夾結構、appjson配置、雙大括弧差值和MVVM模式、小程序操作數字、小程序API起步、案例調色板、案例微博發布框、for循環指令、if判斷指令和復選按鈕組、阿里雲伺服器開通、請求服務數字和發出改變數字、get請求信息流案例、post請求和圖片上傳、資料庫mogodb、班級說說
第十六階段ECMAScript2016
簡介、let和const命令、變數的解構賦值、字元串的擴展、正則的擴展、數值的擴展、數組的擴展、函數的擴展、對象的擴展、Symbol、Set和Map數據結構、Proxy、Reflect、Iterator和for...of循環、Generator函數、Promise對象、非同步操作和Async函數、Class、Decorator、Mole、編程風格、讀懂規格、二進制數組、SIMD
第十七階段Yeoman腳手架
基本安裝、配置、HTML模板、圖片壓縮、構建工具、包管理器、JSLint測試。
第十八階段Grunt和Gulp構建工具
GIT、SVN、Grunt、Gulp、Webpack。通過代碼優於配置的策略,Gulp 讓簡單的任務簡單,復雜的任務可管理。利用 Node.js 流的威力,你可以快速構建項目並減少頻繁的 IO 操作。通過最少的 API,掌握 Gulp 毫不費力,構建工作盡在掌握:如同一系列流管道。
第十九階段Sass、Less和Stylus
sass中可以定義變數,方便統一修改和維護。用sass進行 選擇器的嵌套,表示層級關系。用sass中導入其他sass文件,最後編譯為一個css文件t。用sass中可用mixin定義一些代碼片段,且可傳參數,方便日後根據需求調用
第二十階段React.js構建視圖組件
React簡介、JSX、組件的生命周期、實例化、數據流、事件處理、組件的復合、mixin、DOM操作、動畫、性能優化、服務端渲染、周邊類庫。VUE數據模板、生命周期、過濾器。
第二十一階段VUE界面的前端庫
遇見Vue.js、數據綁定、指令、計算屬性、表單控制項綁定、過濾器、Class與Style綁定、過渡、綁定事件、組件、表單校驗、分組校驗、與服務端通信、RESTful調用。
第二十二階段React Native移動框架
React Native簡介、React Native開發基礎、常用組件介紹及實踐、TextInput組件、九宮格實現、NavigatorIOS組件、Touchable類組件、狀態機思維與狀態機變數、深入理解UI重新渲染的過程、Navigator組件工作機制、混合開發基礎、組件生命周期、數據存儲及React Native應用實現步驟。
第二十三階段 Cordova和PhoneGap
使用加速計和位置感測器、文件系統、存儲及本地資料庫、處理音頻、圖像和視頻、處理通訊錄、本地事件、使用XUI、使用jQuery Mobile進行用戶界面開發、PhoneGap插件擴展、開發工具及測試。
第二十四階段ionic framework
Ionic和Hybrid應用介紹、配置開發環境 、Ionic導航和核心組件、選項卡、高級列表和表單組件、開發高級應用、使用 Ionic 命令行代理、在頁面中使用 ionScroll、過濾器:轉換視圖中的數據。
第二十六階版本管理系統和項目打包測試
第二十七階段前端攻防、部署和SEO
第二十八階段WebGL和Three.js
第二十九階段TypeScript和Angula4

❼ 初學者如何迅速學習web前端開發

學習web前端不怕沒喲基礎,就怕沒有方向,推薦給你web前端學習的路線圖:

階段1.前端核心基礎

HTML +_CSS核心、JavaScript基礎語法、JavaScript面向對象、JavaScript DOM和

BOM編程、jQuery框架

階段2.HTML5 + CSS3 + 移動端核心

HTML5新特性、Canvas專列、CSS3新特性、CSS3進階、CSS3實例演練

階段3.移動端

移動端核心、移動端適配、移動端特效

階段4.伺服器端

伺服器端開發、資料庫操作、前後端交互核心、微信公眾號開發

階段5.JavaScript高級

JavaScript基礎深入剖析、JavaScript面向對象深入講解、JavaScript非同步編程、

JavaScript函數式編程JavaScript設計模式

階段6.前端必備

性能優化、版本控制工具、模塊化、項目構建工具

階段7.高級框架

React框架基本使用、React框架進階、Vue框架基本使用、Vue框架進階、Vue源碼分析

階段8.小程序

原生小程序入門、原生小程序API使用、小程序框架Mpvue

web前端學習方向

這個學習的路線路你按照從上到下這個順序學習就可以的,不管是報培訓班還是自學,都是可以的,現在web前端還是有不錯的視頻,你可以根據自己的實際情況看看這些視頻,希望對你有所幫助。

❽ 想做web前端的工作,應該先學什麼

一個專業的前端開發工程師是必須掌握前端開發三大基本基石HTML、CSS,JavaScript。光會這些還不夠,有了這些語言還需要各種工具的支撐,比較常見的有Dreamweaver,Sublime,HBuilder。還有FontelloFontello、Secureheaders、Visual Studio CodeVisual Studio Code。

工具只能解決一些特定問題,要解決更加全面的問題就要接觸到框架,三大基本框架有Angular、React、Vue,當然,以後還會接觸到更多Bootstrap、Fbootstrapp、BootMetro、Gumby、IVORY、Kube這樣的框架。另外,一個優秀的前端開發工程師可能還要掌握SEO、DOM、BOM、Ajax等技能,甚至,網站性能優化和伺服器端的相關基礎知識也是需要了解的。

學會這些還不夠,前端開發是一門發展的學科,不是學好了就可以停止學習,後面還會接觸到更多新的內容。

由此可見,要想學好前端,絕對不簡單,前端開發的廣度和深度是其他行業所不能比擬的,你必須付出不懈的努力,才能收獲這份果實。

❾ 怎麼學好web前端開發

入門
在我理解下的基礎知識,就是我們可以寫一些基本的樣式,並能對頁面的元素進行操作。舉例來說,就是我們用Spring和JSP寫了一個博客,然後我們可以用jQuery來對頁面進行一些簡單的操作,並可以調用一些API。因此,我們需要基本的HTML / CSS知識。只是要寫好CSS並不是一件簡單的事,這需要很多實戰經驗。隨後,我們還需要有JavaScript的經驗,要不怎麼做前端呢?
同時,我們還需要對DOM有一些基礎的了解,才能做一些基本的操作,如修改顏色等等。在這種情況下,最簡單的方案就是使用jQuery這樣的工具。不過,如果可以自己操作DOM是再好不過的了。

中級篇
中級篇就更有意思了,現在我們就需要對頁面進行更復雜的操作。Ajax和JSON這兩個技能是必須的,當我們要動態的改變頁面的元素時,我們就需要從遠程獲取最新的數據結果。並且我們也需要提交表單到伺服器,RESTful就是必須要學會的技能。未來我們還需要Fetch API,ReactiveX這些技能。
除此我們還需要掌握好HTML的語義化,像DIV / CSS這也會必須會的技能,我們應該還會使用模板引擎和SCSS / SASS。而這個層面來說,我們開始使用Node.js來完成前端的構建等等的一系列動作,這時候必須學會使用命令行這類工具。並且,在這時候我們已經開始構建單頁面應用了。

高級篇

JavaScript是一門易上手的語言,也充滿了相當多的糟粕的用法。幾年前人們使用CoffeeScript編成成JavaScript來編寫更好的前端代碼,現在人們有了ES6、TypeScript和WebPack來做這些事。盡管現在瀏覽器支持不完善,但是他們是未來。同樣的還有某些CSS3的特性,其對於某些瀏覽器來說也是不支持的。而這些都是基於語言本來說的,要寫好代碼,我們還需要掌握面向對象編程、函數式編程、MVC / MVVM / MV*這些概念。作為一合格的工程師,我們還需要把握好安全性(如跨域),做好 授權(如HTTP Basic、JWT等等)。

工程化

這個標題好像是放錯了,這部分的內容主要都是自動構建的內容。首先,我們需要有基本的構建工具,無論你是使用gulp、grunt,還是只使用npm,這都不重要。重要的是,你可以自動化的完成構建的工具,編譯、靜態代碼分析(JSLint、CSS Lint、TSLint)、對代碼質量進行分析(如Code Climate,可以幫你檢測出代碼中的Bad Smell)、運行代碼中的測試,並生成測試覆蓋率的報告等等。這一切都需要你有一個自動構建的工作流。

兼容性

雖然我們離兼容IE6的時代已越來越遠了,但是我們仍然有相當多的兼容性工作要做。基本的兼容性測試就是跨瀏覽器的測試,即Chrome,IE,Firefox,Safari等等。除此還有在不同的操作系統上對同一瀏覽器的測試,某些情況下可能表現不一致。如不同操作系統的字體大小,可能會導致一些細微的問題。
而隨著移動設備的流行,我們還需要考慮下不同Android版本下的瀏覽器內核的表現不致,有時候還要一下不成器的Windows Phone。除此,還有同一個瀏覽器的不同版本問題,常見於IE。。

前端特定

除了正常的編碼之外,前端還有一些比較有意思的東西,如CSS3和JavaScript動畫。使用Web字體,可惜這個不太適合漢字使用。還有Icon字體,畢竟這種字體是矢量的。不過Icon字體還有一些問題,如瀏覽器對其的抗鋸齒優化,還有一個痛是你得准備四種不同類型的字體文件。因此,產生了一種東西SVG Sprite,在以前這就是CSS Sprite,只是CSS Sprite不能縮放。最後,我們還需要掌握一些基本的圖形和圖表框架的使用。

軟體工程

這一點上和大部分語言的項目一樣,我們需要使用版本管理軟體,如git、svn,又或者是一些內部的工具。總之你肯定要有一個,而不是 2016.07.31.zip這種文件。然後,你還需要一些依賴管理工具,對於那些使用Webpack、Browserify來將代碼編寫成前端代碼的項目來說,npm還是挺好用的。不過就個人來說,對於傳統的項目來說我總覺得bower有些難用。我們還需要模塊化我們的源碼文件,才能使其他人更容易開始項目。

調試

作為一個工程師來說,調試是必備的技能。大部分瀏覽器都自帶有調試工具,他們都不錯——如果你使用過的話。在調試的過程中,直接用Console就可以輸出值、計算值等等。如果你的項目在構建的過程中有一些問題,你就需要debugger這一行代碼了。
在一些調用遠程API的項目里,我們還需要一些更復雜的工具,即抓包工具。在調試移動設備時,像Wireshark、Charles這一類的工具,就可以讓我們看到是否有一些異常的請求。當然在這個時候,還有一個不錯的工具就是像Chrome自帶的遠程設備調試。對於移動網站來說,還要有Responsive視圖。

測試

我遇到的很多前端工程師都是不寫測試的,於是我便把它單獨地抽了出現。對於一個前端項目來說,正常情況下,我們要有單元測試、功能測試,還有要一些UI測試來驗證頁面間是否可以跳轉。對於依賴於第三方服務的應用來說,還要有一個Mock的服務來方便我們測試。如果是前後端分離的項目,我們還需要有集成測試。

性能與優化

要對Web應用進行性能優化,可能不是一件容易的事,有時候我們還知道哪些地方可以優化。這時候人們就可以使用Yahoo的YSlow,或者我最喜歡的Google PageSpeed來檢測頁面的一些問題,如有沒有開啟GZip、有沒有壓縮、合並、Minify JS代碼等等。
我們還應該藉助於NetWork這一類的工具,查看頁面載入時,一些比較漫的資源文件,並對其進行優化。在一些情況下,我們還需要藉助如Chrome的Timline、Profiel等工具來查看可以優化的地方。

設計

前端工程師還需要具備基本的UI技能。多數情況下拿到的只是一張圖,如果是一個完整的頁面,我們就需要快速分割頁面布局。而依賴於不同的頁面布局,如響應式、網格、FlexBox布局也會有不同的設計。而有些時候,我們就需要自己規劃,製作一個基本的線框圖(Wireframe)等等。