原文https://frontendmasters.gitbooks.io/front-end-handbook-2017/content/what-is-a-FD.htmlhtml
前端web開發,也稱爲客戶端開發實踐產生HTML、CSS和JavaScript的網站或web應用程序,這樣用戶能夠直接看到並與之交互。與前端開發相關的挑戰用於建立一個網站的前端的工具和技術不斷變化,所以開發人員須要不斷注意領域是如何發展的。前端
設計一個網站的目的是確保當用戶打開網站他們看到的信息格式很容易閱讀和相關。這是事實進一步複雜化,如今用戶使用多種不一樣的屏幕尺寸和分辨率的設備,從而迫使設計師在設計網站時考慮這些方面。他們須要確保他們的網站正確地出如今不一樣的瀏覽器 (瀏覽器兼容性),不一樣的操做系統(跨平臺)和不一樣的設備(跨設備),這須要開發人員的仔細計劃。android
前端開發人員架構師和開發網站和應用程序使用web技術(例如DOM、HTML、CSS和JavaScript),在網絡平臺上運行或做爲輸入爲非web平臺編譯環境(例如,NativeScript)。git
Image source: https://www.upwork.com/hiring/development/front-end-developer/web
一般狀況下,一我的進入前端開發的領域經過學習開發HTML,CSS和JS代碼,運行在web瀏覽器中,無頭瀏覽器,Web視圖或做爲本地編譯輸入運行時環境。下面將詳細介紹這四個運行時的場景。編程
web瀏覽器是用於檢索、顯示和遍歷萬維網信息的軟件。一般狀況下,瀏覽器運行在臺式機或筆記本電腦,平板電腦,或者手機上,可是近來瀏覽器瀏覽器能夠找到任何東西(例如,冰箱,汽車等)。windows
最多見的web瀏覽器(最早使用的順序所示):瀏覽器
Chrome網絡
Internet Explorer (Note: not Edge, referring to IE 9 to IE 11)架構
Firefox
Safari
Headless browsers是一個沒有一個圖形用戶界面的 web瀏覽器,能夠用命令行接口編程的方式控制來達到web頁面自動化(如。單元測試、功能測試、刮,等等)。Headless browsers被認爲是一個瀏覽器,能夠從命令行運行,能夠檢索和遍歷網頁。
最多見的Headless browsers:
PhantomJS
slimerjs
trifleJS
webview被本地操做系統使用,在本機應用程序中運行web頁面。awebview 像內聯框架或單個選項卡對於web瀏覽器,是嵌入在設備上運行的本地應用程序(例如,iOS、android、windows)。
webview發展最多見的解決方案是:
Cordova (typically for native phone/tablet apps)
NW.js (typically used for desktop apps)
Electron (typically used for desktop apps)
最終,前端開發人員能夠學習web瀏覽器開發來規範不受瀏覽器引擎控制的代碼環境。近來,開發環境正在使用web技術創造出來 (例如:CSS和JavaScript),不須要網絡引擎,去建立本地應用程序。
這些環境的例子有:
NativeScript
React Native