## 什么是前端开发者? 一个前端开发者, 要会使用Web技术(如:HTML,CSS,DOM和JavaScript)设计和开发网站应用. 网站应用, 或运行于 [Web平台](https://en.wikipedia.org/wiki/Open_Web_Platform) 之上, 或用于编译非Web平台环境的输入(如:[NativeScript](https://www.nativescript.org/)). ![what-is-front-end-dev](https://raw.githubusercontent.com/dwqs/fedHandlebook/master/images/what-is-front-end-dev.png) 一般而言, 一个人可以通过学习 HTML,CSS,JavaScript进入前端开发领域, 这些代码运行在 [Web浏览器](https://en.wikipedia.org/wiki/Web_browser), [无壳为浏览器](https://en.wikipedia.org/wiki/Headless_browser), Web视图之中, 或用于编译本地运行环境的输入. 后文将详细介绍这四个运行场景. Web浏览器是用于检索, 呈现和遍历万维网(WWW)信息的软件. 一般而言, 浏览器可以运行在台式机, 笔记本电脑, 平板电脑或手机. 截止到目前, 通过浏览器可以找到任何事物(如: 冰箱, 汽车等). 最普遍的Web浏览器如下: * [Chrome](http://www.google.com/chrome/) * [Internet Explorer](http://dev.modern.ie/) * [Firefox](https://www.mozilla.org/firefox/) * [Safari](http://www.apple.com/safari/) 无壳浏览器是指没有图形用户界面的Web浏览器, 可以通过命令行接口控制达到网页自动化的目的(如: 功能测试, 单元测试等). 把无壳浏览器当做可以从命令行运行的浏览器, 它依然可以检索和遍历网页. 最普遍的无壳浏览器如下: * [PhantomJS](http://phantomjs.org/) * [slimerjs](http://slimerjs.org/) * [trifleJS](http://triflejs.org/) Web视图是本地 OS 运行网页的方式. 把Web视图当做浏览中的 iframe 或者单个的 Tab, 是嵌入到运行在设备上的本地应用程序. Web视图开发最普遍的解决方案如下: * [Cordova](https://cordova.apache.org/) (用于本地手机/平板应用) * [NW.js](https://github.com/nwjs/nw.js) (即 Node-Webkit, 用于桌面应用) * [Electron](http://electron.atom.io/) (用于桌面应用) 最后需要了解的是, 前端开发者不仅可以使用Web浏览器环境进行开发, 也可以在不受浏览器引擎影响的工艺代码环境进行开发. 到现在, 开发环境正在脱离Web引擎, 使用Web技术(如: CSS 和 JavaScript)去创建真正的本地应用. 此类环境的示例如下: * [NativeScript](https://www.nativescript.org/) * [React Native](https://facebook.github.io/react-native/) **译者补充:** * [达到什么样的标准才能是大公司要的前端](http://qianduanfan.com/index.php/topic/show/217) * [写给初学前端工程师的一封信](http://www.w3ctech.com/topic/983) * [前端路上的旅行](http://www.w3cplus.com/front-end-trip-on-road.html) * [React Native专题](http://www.jianshu.com/p/96febc4fec45)