前端工程师 订阅
Web前端工程师是一种职业,主要职责是编写网页标准优化代码,并增加交互动态功能,开发JavaScript以及Flash模块,同时结合后台开发技术模拟整体效果,进行丰富互联网的Web开发,致力于通过技术改善用户体验。 [1] 展开全文
Web前端工程师是一种职业,主要职责是编写网页标准优化代码,并增加交互动态功能,开发JavaScript以及Flash模块,同时结合后台开发技术模拟整体效果,进行丰富互联网的Web开发,致力于通过技术改善用户体验。 [1]
信息
外文名
Web front-end developer
核心技术
HTML、CSS、JavaScript、jQuery [2]
主流框架
React.js、Vue.js、Angularjs等 [2]
中文名
Web前端开发工程师
内存管理技术简介
后台技术Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。 Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。主要采用JavaScript语言作为中间语言开发。因此,前端工程师所涵盖的职责范围,已经包含后端、跨平台等多种职能,不能简单地认为只是Web前端工程师。
收起全文
精华内容
参与话题
问答
  • 写给想成为前端工程师的同学们

    万次阅读 多人点赞 2016-05-14 23:05:52
    前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色。从狭义上讲,前端工程师使用 HTML、CSS、JavaScript 等专业技能和工具将产品UI设计稿实现成网站产品,涵盖用户PC端、移动端网页,处理视觉和交互...

    本文转载自:https://www.h5jun.com/post/to-be-a-good-frontend-engineer.html


    前端工程师是做什么的?

    前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色。从狭义上讲,前端工程师使用 HTML、CSS、JavaScript 等专业技能和工具将产品UI设计稿实现成网站产品,涵盖用户PC端、移动端网页,处理视觉和交互问题。从广义上来讲,所有用户终端产品与视觉和交互有关的部分,都是前端工程师的专业领域。

    2005年的时候大多数网页长这样:

    现在的网页一般是这样的:

    前端工程师的发展之路和前景是怎么样的?

    前端是一个相对比较新的行业,互联网发展早期(1995年~2005年)是没有专业的前端工程师的。随着互联网的发展,大约从2005年开始,正式的前端工程师角色被行业认可,到了2010年,互联网开始全面进入移动时代,前端工程师的地位越来越重要,前端领域的技术发展也越来越快,各种新的思想、设计模式、工具和平台都快速发展,对前端工程师的技能要求也越来越高。

    有一些数据可以说明前端行业的发展迅速。

    • 在2010年之后最流行的新编程语言中有相当部分和前端有关,比如 Dart、Clojure、CoffeeScript 和 TypeScript。
    • 作为前端最重要的编程语言 JavaScript,在最近几年里不论是代码量还是关注数都稳居 Github 平台热门编程语言榜。
    • 行业对前端需求量持续增加,前端程序员薪水在行业里面处于较领先的位置。

    近年来最流行的编程语言很多都是JavaScript替代语言

    JavaScript在最热编程语言 TOP10

    近几年互联网公司前端团队每年扩张一倍

    JavaScript工程师平均薪水排名在程序语言工程师收入前10

    前端工程师需要什么样的知识和技能?

    有人说前端工程师的技术栈是这样的:

    还有人说是这样的:

    实际上前端工程师最核心的技能还是:

    在一个典型的互联网公司的产品研发流程中,前端工程师和其他角色的关系大致上是这样的:

    前端是最接近产品和设计的工程师,起到衔接产品和技术的作用,前端为用户可以看到的部分负责,所以也是最接近用户的工程师。

    在多终端的时代,如果一个产品同时支持PC、移动端,前端工程师还需要和更多的角色打交道:

    JavaScript 对于前端是最重要的技能,所以优秀的前端工程师要有扎实的JavaScript基本功。而JavaScript这门编程语言也是目前程序设计领域炙手可热的宠儿,如今的它不仅仅只是用来开发Web,还可以用在各个方面。

    JavaScript 可以用在“树莓派”这类智能硬件芯片开发

    前端工程师也是软件工程师,所以软件工程师的基础知识也是非常重要的,这些基础知识包括:

    • 数学
    • 计算机体系
    • 操作系统
    • 数据结构和算法
    • 编译原理

    HTML和CSS也是前端工程师非常重要的基本功,很多同学,尤其是喜欢写代码的同学容易忽视 Markup Language,实际上 ML 也是 UI 相关的领域里面很重要的内容,不应该被忽视。

    有同学问说:“前端工作需求很多,老是改来改去,实际的技术点并没有多少,产品决定业务逻辑,从事底层基础服务会不会更有挑战和职业未来?”

    的确,越贴近业务和产品层面上的工作,需求差异性越大,可能改动越频繁。不仅仅是前端改来改去,PHP服务端做业务的同学也面临这样的问题,业务逻辑改来改去。越底层通用性越强,改动相对较少。

    不过事情都是有两面性的,首先可以这么想想,是底层基础服务的市场大还是互联网业务和产品的市场大。其次,基础服务的通用性很容易达成,而产品层面上如何通用化,如何在业务驱动的产品研发中利用工程化和工具化提升开发效率,这其实是一个很难的问题。丰富的互联网产品已改变和正在改变着我们的生活,然而作为产品的创造者,工程师们怎样让自己过得更好,这个领域值得研究。

    另外,不要觉得实际的技术点没有多少,举几个例子:实现曲线和曲面动画,计算地图的最短路径,让png静态图片类似于gif图一样做局部的运动,抽奖游戏,物理效果的HTML5游戏,3D图表,增强现实的WebGL视频流处理等等,这些都是在前端领域中遇到的实际问题。

    就 JavaScript 来说,在实际项目中设计最合适的模型高效率解决现实问题本身就很有挑战。作为一种典型的新生代编程语言,JavaScript 特性丰富,使用灵活,性能优良。面向对象、函数式编程、各种设计模式、MVC 和 MVVM,这些本身就有足够的吸引力。

    前端要解决界面和交互问题,实际上UI层面上的问题一直是软件工程方面的一个难题,因为UI不停地在变化。浏览器各个版本的兼容性、Web 标准、移动设备、多终端适配,给了前端工程师很大的挑战,对前端工程师的能力也有很高的要求。许多UI问题有不只一种解决方法,许多问题有非常巧妙的思路和精彩的解决办法,前端在工程师群体里是属于非常有创造力的一个群体,因为这个行业需要丰富的创造力和想象力。

    前端工程师还是Web标准的制定者、实践者和推动者,而现在的W3C标准不仅仅局限于浏览器,还包括各种手持智能设备,车载设备、智能家居等等。在未来万物互联的时代,前端将不仅仅是网页上的工程师,而是所有人机交互领域的工程师。

    前端工程师的学习和成长

    前端领域发展很快,各种新技术新思想不断涌现,这是一个好现象。但是前端发展太快也带来一些问题,比如有同学就问到我究竟应该学些什么,Angular.js、React、Node.js、ES6、ES7、CoffeeScript、TypeScript……似乎永远有太多东西需要学习,有些东西好像还没学明白就被另一些新的技术取代而“过时了”。

    其实还是那句话,前端工程师首先是软件工程师,基础是最重要的,如果基础不扎实,一切应用技能就都是“浮云”。前端的基础是什么?HTML、CSS、JavaScript基本功数学、算法、数据结构、操作系统、编译原理基本功

    一个优秀的前端工程师必须要有自己擅长的领域,并且钻研得足够深入,同时要有眼界,能“跨界”。可以以前端作为职业,但千万不要把自己的技能限制在前端领域,因为有很多东西,只有站在前端之外,才能看得更清晰,更透彻。

    学东西千万别盲目跟风,大家都在谈AngularJS就立即跑去学习,过几天大家都谈React了,就又放下AngularJS去学习React。前端领域知识点很多,值得学的东西也很多,聪明的同学懂得花时间学习成体系的知识并且研究得足够深入,因为只有这样才能从中总结出规律,形成方法论,这样才能最大化学习的价值。

    知识的正确用法 —— 一个领域里面的大师永远不会是另一个类似领域的菜鸟

    这次前端星计划布置的一个实现带有农历和节气的万年历,有些同学卡在农历计算上,大约70%的同学懂得去网上找代码,但只有不到1%的同学真正弄明白农历计算的原理。

    在面试的时候,面试官问到如何做前端性能优化,有的同学能够拿雅虎的性能优化军规回答得头头是道,反复强调使用工具压缩静态资源,但是自己搭建的博客的nginx服务却没有开启gzip。都知道说要合并静态资源,要减少HTTP请求,然而为什么要减少HTTP请求,减少请求之后预计能改善多少性能,获得多少收益呢?需要弄明白这些问题,也需要深入了解HTTP协议本身。

    还有一个更有趣的问题,大家都说写HTML的关键是语义化,那么到底什么是语义化呢?这个问题难住了不少同学。标签要符合语义,这个答案看似简单标准,但什么样的标签才是符合语义?强调用 strong 不用 b?那如果有个外星文明,它们的语言里 strong 相当于地球的 bold,bold 相当于地球的 strong,那么它们究竟该用 strong 还是用 b?我们说 i 标签是斜体的意思,那为什么 fontawesome.io 拿它做 icon font 的标签,这是不是“反语义”的?

    过去很多地方农村有一种民间的染坊,制作染布的染料。这种染房里面有一口很大的铁缸,通常都要有一个身体非常强壮的工人拿一根很长的铁棒在染缸里面用力地敲击,敲得越响,制作出来的染料颜色越鲜艳。 为什么越用力敲打铁缸染料就越好?染坊的人说这是祖祖辈辈传下来的经验,而事实上也是如此,真的染料的颜色和敲打用力有很大关系。直到有一天,一位从村里走出去学化学的大学生,弄明白了原来只需要在染料中加适当比例的铁屑,就能让染料和含铁元素氧化物产生化学反应而变得更鲜艳。原来祖祖辈辈传下来的“仪式”实际上在真实原理面前只是一种信仰和宗教。同样,如果我们不去了解技术的本质而止步于应用,那么我们就只是技术宗教的信徒。所以在周爱民老师的《JavaScript 语言精髓与编程实践》中说,计算机语言如同祭司手中的神杖,神杖换了,祭司还是祭司,世人还是会把头叩得山响。祭司掌握了与神交流的方法,而世人只看见了神杖

    由兴趣选择前端

    在我学程序设计的最初,我学习的是C语言,然而整整一本书除了教我如何在黑洞洞的控制台上输出 Hello World 和各种其他字符或者用键盘输入一些什么然后依然是字符输出外,就没有什么其他的内容了。学习了一段时间之后,我的内心一度是崩溃的,因为我觉得这和我想得不一样,学了那么多知识,我都不知道自己究竟算不算是“学会”了C语言,因为在我看来,那些丰富多彩的操作系统和各种应用软件和黑洞洞的控制台之间明显还有着非常巨大的鸿沟。

    事后回想起来,当时的想法当然是幼稚可笑的,那时候的我并不知道程序语言和运行环境之间的区别,对操作系统、用户API、硬件接口、网络服务等等都完全不了解。然而这并不能怪我,因为C语言的教程并没有任何一言半语来告诉我这一点,我也不知道学习了C语言的语法之后接下来还应该学习些什么。

    相对来说,Web开发更吸引我,因为不需要安装任何环境,只需要在文本编辑器里面输入一些字符,保存后打开浏览器,马上就能看到丰富的视觉效果,这就是前端的优势,你所做的努力立即就能看得见。

    相对于死板的输入输出,Web开发在界面可见的一层要丰富多彩得多,这一点吸引了我,如果这一点也能吸引你,让你着迷,那么你就适合学习前端。

    在选择前端作为职业之前,要明确判断自己对前端开发的确感兴趣,选择做前端,应该是确认自己喜欢和适合做前端,而不是为了一份看起来体面而且薪水不菲的工作。如果你对构建丰富多彩的界面、处理各种交互逻辑不感兴趣,甚至厌烦,那么最明智的选择是放弃成为前端工程师的想法 —— 因为选择一个自己不喜欢的职业,为之忍受数十年直到退休,实在是一件很悲催的事情。

    对在校学生,我们看重哪方面能力?

    有同学问,360前端是否一定要求实际经验的学生,在这里我可以回答:否。

    对于学生,我们比较关心的是:

    • 基础:包括数学、算法、数据结构、计算机相关基础的掌握。
    • 学习能力和学习方法:如何学的前端,学了多久,学到什么程度,遇到过什么问题,是如何尝试解决这些问题。
    • 兴趣:对前端的兴趣如何,这一点可以体现在很多细节上。有一个反面的例子比较常见,一般来说我会问学生最近在关注什么前端新知识,有的学生会说我关注某某某,但当我再问他究竟关注到什么程度,会发现他实际上根本没有在这项新知识上花费多少时间。如果你对感兴趣的问题都不花费时间,如何证明你自己对前端的“兴趣”呢。
    • 解决问题的能力:遇到难题如何解决的,遇到没接触过的问题是如何思考和最终解决的。从这里可以判断出同学有没有前端思维,这些问题没有标准答案,我们不追求某些“官方思路”,看重过程而不是结果。

    关于简历,有同学提到说现在似乎很多公司都希望学生会点 Node.js,会点 React,我自己不会该怎么办。

    我想说的是,我们并不要求学生必须会这些。相反,我个人更鼓励学生利用时间打好基础。简历上写自己真正擅长的内容即可,我们不会因为在你的简历上看不到 Node.js 或者 React 就忽略你。只要你真心热爱前端并用心学了,你应该明白如何用前端基础来打动我。有的学生喜欢在简历上堆砌词汇,实际上这一点不见得好,因为如果你写了一个你自己一知半解的东西,最后在面试中被面到了,一定会得负分的。

    技术本身是有深度的,A 同学说“我知道React但没用它做过东西”, B 同学说“我用AngularJS写过一些个人的小项目”, C 同学说“我上个月使用弹性布局的思路来写我的博客,结果在Android系统4.1版本的Webkit浏览器下出现了一个显示bug,最后我是这样这样解决的”。你们说 A、B、C 三个同学我们会选择哪个同学?

    面试是一个彼此交流的过程,我们希望看到大家在前端领域的能力和潜力,“知道”一件事,并不是一种有价值的能力,尤其是在知识廉价的互联网时代。我们的同学千万不要像背书一样去死记硬背一样东西,而应该真正用心去学。我们的高等学校不仅仅教授大家知识,还有如何真正学习和做研究,不是吗?

    如果你对前端真的感兴趣并有潜力,花点小心思,你该知道如何学习它。

    最后,祝愿大家都能成为优秀的前端工程师。


    展开全文
  • 前端工程师是做什么的?

    千次阅读 2018-08-21 10:53:53
    前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色。从狭义上讲,前端工程师使用 HTML、CSS、JavaScript 等专业技能和工具将产品UI设计稿实现成网站产品,涵盖用户PC端、移动端网页,处理视觉和交互...

    前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色。从狭义上讲,前端工程师使用 HTML、CSS、JavaScript 等专业技能和工具将产品UI设计稿实现成网站产品,涵盖用户PC端、移动端网页,处理视觉和交互问题。从广义上来讲,所有用户终端产品与视觉和交互有关的部分,都是前端工程师的专业领域。

    2005年的时候大多数网页长这样:

    现在的网页一般是这样的:

     

    前端工程师的发展之路和前景是怎么样的?

    前端是一个相对比较新的行业,互联网发展早期(1995年~2005年)是没有专业的前端工程师的。随着互联网的发展,大约从2005年开始,正式的前端工程师角色被行业认可,到了2010年,互联网开始全面进入移动时代,前端工程师的地位越来越重要,前端领域的技术发展也越来越快,各种新的思想、设计模式、工具和平台都快速发展,对前端工程师的技能要求也越来越高。

    有一些数据可以说明前端行业的发展迅速。

    • 在2010年之后最流行的新编程语言中有相当部分和前端有关,比如 Dart、Clojure、CoffeeScript 和 TypeScript。

    • 作为前端最重要的编程语言 JavaScript,在最近几年里不论是代码量还是关注数都稳居 Github 平台热门编程语言榜。

    • 行业对前端需求量持续增加,前端程序员薪水在行业里面处于较领先的位置。

    近年来最流行的编程语言很多都是JavaScript替代语言

    JavaScript在最热编程语言 TOP10

    近几年互联网公司前端团队每年扩张一倍

    JavaScript工程师平均薪水排名在程序语言工程师收入前10

     

    前端工程师需要什么样的知识和技能?

    有人说前端工程师的技术栈是这样的:

    还有人说是这样的:

    实际上前端工程师最核心的技能还是:

    在一个典型的互联网公司的产品研发流程中,前端工程师和其他角色的关系大致上是这样的:

    前端是最接近产品和设计的工程师,起到衔接产品和技术的作用,前端为用户可以看到的部分负责,所以也是最接近用户的工程师。

    在多终端的时代,如果一个产品同时支持PC、移动端,前端工程师还需要和更多的角色打交道:

    JavaScript 对于前端是最重要的技能,所以优秀的前端工程师要有扎实的JavaScript基本功。而JavaScript这门编程语言也是目前程序设计领域炙手可热的宠儿,如今的它不仅仅只是用来开发Web,还可以用在各个方面。

    JavaScript 可以用在“树莓派”这类智能硬件芯片开发

    前端工程师也是软件工程师,所以软件工程师的基础知识也是非常重要的,这些基础知识包括:

    • 数学

    • 计算机体系

    • 操作系统

    • 数据结构和算法

    • 编译原理

    HTML和CSS也是前端工程师非常重要的基本功,很多同学,尤其是喜欢写代码的同学容易忽视 Markup Language,实际上 ML 也是 UI 相关的领域里面很重要的内容,不应该被忽视。

    有同学问说:“前端工作需求很多,老是改来改去,实际的技术点并没有多少,产品决定业务逻辑,从事底层基础服务会不会更有挑战和职业未来?”

    的确,越贴近业务和产品层面上的工作,需求差异性越大,可能改动越频繁。不仅仅是前端改来改去,PHP服务端做业务的同学也面临这样的问题,业务逻辑改来改去。越底层通用性越强,改动相对较少。

    不过事情都是有两面性的,首先可以这么想想,是底层基础服务的市场大还是互联网业务和产品的市场大。其次,基础服务的通用性很容易达成,而产品层面上如何通用化,如何在业务驱动的产品研发中利用工程化和工具化提升开发效率,这其实是一个很难的问题。丰富的互联网产品已改变和正在改变着我们的生活,然而作为产品的创造者,工程师们怎样让自己过得更好,这个领域值得研究。

    另外,不要觉得实际的技术点没有多少,举几个例子:实现曲线和曲面动画,计算地图的最短路径,让png静态图片类似于gif图一样做局部的运动,抽奖游戏,物理效果的HTML5游戏,3D图表,增强现实的WebGL视频流处理等等,这些都是在前端领域中遇到的实际问题。

    就 JavaScript 来说,在实际项目中设计最合适的模型高效率解决现实问题本身就很有挑战。作为一种典型的新生代编程语言,JavaScript 特性丰富,使用灵活,性能优良。面向对象、函数式编程、各种设计模式、MVC 和 MVVM,这些本身就有足够的吸引力。

    前端要解决界面和交互问题,实际上UI层面上的问题一直是软件工程方面的一个难题,因为UI不停地在变化。浏览器各个版本的兼容性、Web 标准、移动设备、多终端适配,给了前端工程师很大的挑战,对前端工程师的能力也有很高的要求。许多UI问题有不只一种解决方法,许多问题有非常巧妙的思路和精彩的解决办法,前端在工程师群体里是属于非常有创造力的一个群体,因为这个行业需要丰富的创造力和想象力。

    前端工程师还是Web标准的制定者、实践者和推动者,而现在的W3C标准不仅仅局限于浏览器,还包括各种手持智能设备,车载设备、智能家居等等。在未来万物互联的时代,前端将不仅仅是网页上的工程师,而是所有人机交互领域的工程师。

     

    前端工程师的学习和成长

    前端领域发展很快,各种新技术新思想不断涌现,这是一个好现象。但是前端发展太快也带来一些问题,比如有同学就问到我究竟应该学些什么,Angular.js、React、Node.js、ES6、ES7、CoffeeScript、TypeScript……似乎永远有太多东西需要学习,有些东西好像还没学明白就被另一些新的技术取代而“过时了”。

    其实还是那句话,前端工程师首先是软件工程师,基础是最重要的,如果基础不扎实,一切应用技能就都是“浮云”。前端的基础是什么?HTML、CSS、JavaScript基本功数学、算法、数据结构、操作系统、编译原理基本功

    一个优秀的前端工程师必须要有自己擅长的领域,并且钻研得足够深入,同时要有眼界,能“跨界”。可以以前端作为职业,但千万不要把自己的技能限制在前端领域,因为有很多东西,只有站在前端之外,才能看得更清晰,更透彻。

    学东西千万别盲目跟风,大家都在谈AngularJS就立即跑去学习,过几天大家都谈React了,就又放下AngularJS去学习React。前端领域知识点很多,值得学的东西也很多,聪明的同学懂得花时间学习成体系的知识并且研究得足够深入,因为只有这样才能从中总结出规律,形成方法论,这样才能最大化学习的价值。

    知识的正确用法 —— 一个领域里面的大师永远不会是另一个类似领域的菜鸟

    这次前端星计划布置的一个实现带有农历和节气的万年历,有些同学卡在农历计算上,大约70%的同学懂得去网上找代码,但只有不到1%的同学真正弄明白农历计算的原理。

    在面试的时候,面试官问到如何做前端性能优化,有的同学能够拿雅虎的性能优化军规回答得头头是道,反复强调使用工具压缩静态资源,但是自己搭建的博客的nginx服务却没有开启gzip。都知道说要合并静态资源,要减少HTTP请求,然而为什么要减少HTTP请求,减少请求之后预计能改善多少性能,获得多少收益呢?需要弄明白这些问题,也需要深入了解HTTP协议本身。

    还有一个更有趣的问题,大家都说写HTML的关键是语义化,那么到底什么是语义化呢?这个问题难住了不少同学。标签要符合语义,这个答案看似简单标准,但什么样的标签才是符合语义?强调用 strong 不用 b?那如果有个外星文明,它们的语言里 strong 相当于地球的 bold,bold 相当于地球的 strong,那么它们究竟该用 strong 还是用 b?我们说 i 标签是斜体的意思,那为什么 fontawesome.io 拿它做 icon font 的标签,这是不是“反语义”的?

    过去很多地方农村有一种民间的染坊,制作染布的染料。这种染房里面有一口很大的铁缸,通常都要有一个身体非常强壮的工人拿一根很长的铁棒在染缸里面用力地敲击,敲得越响,制作出来的染料颜色越鲜艳。 为什么越用力敲打铁缸染料就越好?染坊的人说这是祖祖辈辈传下来的经验,而事实上也是如此,真的染料的颜色和敲打用力有很大关系。直到有一天,一位从村里走出去学化学的大学生,弄明白了原来只需要在染料中加适当比例的铁屑,就能让染料和含铁元素氧化物产生化学反应而变得更鲜艳。原来祖祖辈辈传下来的“仪式”实际上在真实原理面前只是一种信仰和宗教。同样,如果我们不去了解技术的本质而止步于应用,那么我们就只是技术宗教的信徒。所以在周爱民老师的《JavaScript 语言精髓与编程实践》中说,计算机语言如同祭司手中的神杖,神杖换了,祭司还是祭司,世人还是会把头叩得山响。祭司掌握了与神交流的方法,而世人只看见了神杖

     

    由兴趣选择前端

    在我学程序设计的最初,我学习的是C语言,然而整整一本书除了教我如何在黑洞洞的控制台上输出 Hello World 和各种其他字符或者用键盘输入一些什么然后依然是字符输出外,就没有什么其他的内容了。学习了一段时间之后,我的内心一度是崩溃的,因为我觉得这和我想得不一样,学了那么多知识,我都不知道自己究竟算不算是“学会”了C语言,因为在我看来,那些丰富多彩的操作系统和各种应用软件和黑洞洞的控制台之间明显还有着非常巨大的鸿沟。

    事后回想起来,当时的想法当然是幼稚可笑的,那时候的我并不知道程序语言和运行环境之间的区别,对操作系统、用户API、硬件接口、网络服务等等都完全不了解。然而这并不能怪我,因为C语言的教程并没有任何一言半语来告诉我这一点,我也不知道学习了C语言的语法之后接下来还应该学习些什么。

    相对来说,Web开发更吸引我,因为不需要安装任何环境,只需要在文本编辑器里面输入一些字符,保存后打开浏览器,马上就能看到丰富的视觉效果,这就是前端的优势,你所做的努力立即就能看得见。

    相对于死板的输入输出,Web开发在界面可见的一层要丰富多彩得多,这一点吸引了我,如果这一点也能吸引你,让你着迷,那么你就适合学习前端。

    在选择前端作为职业之前,要明确判断自己对前端开发的确感兴趣,选择做前端,应该是确认自己喜欢和适合做前端,而不是为了一份看起来体面而且薪水不菲的工作。如果你对构建丰富多彩的界面、处理各种交互逻辑不感兴趣,甚至厌烦,那么最明智的选择是放弃成为前端工程师的想法 —— 因为选择一个自己不喜欢的职业,为之忍受数十年直到退休,实在是一件很悲催的事情。

     

    对在校学生,我们看重哪方面能力?

    有同学问,360前端是否一定要求实际经验的学生,在这里我可以回答:否。

    对于学生,我们比较关心的是:

    • 基础:包括数学、算法、数据结构、计算机相关基础的掌握。

    • 学习能力和学习方法:如何学的前端,学了多久,学到什么程度,遇到过什么问题,是如何尝试解决这些问题。

    • 兴趣:对前端的兴趣如何,这一点可以体现在很多细节上。有一个反面的例子比较常见,一般来说我会问学生最近在关注什么前端新知识,有的学生会说我关注某某某,但当我再问他究竟关注到什么程度,会发现他实际上根本没有在这项新知识上花费多少时间。如果你对感兴趣的问题都不花费时间,如何证明你自己对前端的“兴趣”呢。

    • 解决问题的能力:遇到难题如何解决的,遇到没接触过的问题是如何思考和最终解决的。从这里可以判断出同学有没有前端思维,这些问题没有标准答案,我们不追求某些“官方思路”,看重过程而不是结果。

    关于简历,有同学提到说现在似乎很多公司都希望学生会点 Node.js,会点 React,我自己不会该怎么办。

    我想说的是,我们并不要求学生必须会这些。相反,我个人更鼓励学生利用时间打好基础。简历上写自己真正擅长的内容即可,我们不会因为在你的简历上看不到 Node.js 或者 React 就忽略你。只要你真心热爱前端并用心学了,你应该明白如何用前端基础来打动我。有的学生喜欢在简历上堆砌词汇,实际上这一点不见得好,因为如果你写了一个你自己一知半解的东西,最后在面试中被面到了,一定会得负分的。

    技术本身是有深度的,A 同学说“我知道React但没用它做过东西”, B 同学说“我用AngularJS写过一些个人的小项目”, C 同学说“我上个月使用弹性布局的思路来写我的博客,结果在Android系统4.1版本的Webkit浏览器下出现了一个显示bug,最后我是这样这样解决的”。你们说 A、B、C 三个同学我们会选择哪个同学?

    面试是一个彼此交流的过程,我们希望看到大家在前端领域的能力和潜力,“知道”一件事,并不是一种有价值的能力,尤其是在知识廉价的互联网时代。我们的同学千万不要像背书一样去死记硬背一样东西,而应该真正用心去学。我们的高等学校不仅仅教授大家知识,还有如何真正学习和做研究,不是吗?

    如果你对前端真的感兴趣并有潜力,花点小心思,你该知道如何学习它。

    最后,祝愿大家都能成为优秀的前端工程师。

    参考:http://hao2013.cn/?id=23

    展开全文
  • web前端工程师进阶学习线路图

    千次阅读 2018-12-06 17:04:35
    目前前端市场的人才结构以初级web前端工程师居多,因此由入行到进阶的成长曲线已经成为大多数前端工程师的发展目标。在提升阶段对于知识和技能掌握,我们需要从梳理好的知识架构中选择更深一层次的技术进行学习,...

    目前前端市场的人才结构以初级web前端工程师居多,因此由入行到进阶的成长曲线已经成为大多数前端工程师的发展目标。在提升阶段对于知识和技能掌握,我们需要从梳理好的知识架构中选择更深一层次的技术进行学习,衡量自身学习的难点,主攻学习难点和自己工作延伸技能点。在这里给大家一些参考,不妨从以下几个方向入手:

    一、产品思想

    要知道没有正确的产品思想,很难设计出良好的程序,无论从界面、交互,还是接口、逻辑,不能够理解产品、理解用户需求,我们会给自己造成很大的麻烦,例如:我们千辛万苦用最新技术、最复杂的实现做出的功能,却得不到使用者或领导、同事的认可。为了使我们的工作和学习更加有效率、避免无用功,我们需要不断的学习产品的思想,只有理解了产品的思路,我们才知道用我们的技术去输出什么。

    二、框架学习

    框架是我们提高工作效率的优秀手段,对于框架的学习是成长必经之路。我们学习框架的路线通常应该是:使用—分析—个性化定制—模仿编写自己的框架。只有大量的使用,才能明白设计框架者在设计背后的思路,只有了解到设计的思路,才能做正确全面的分析,只有正确全面的分析才能支撑我们去对其裁剪或扩展,只有经过实际分析、修改别人的框架,才有可能写出优秀的、自己的框架。

    三、网络协议学习

    web前端技术就是云上的技术,云的协议有N种,我们应该着重学习:TCP/IP,UDP,HTTP,POP3,SMTP这几种协议,在开发web前端应用过程中,这些协议是我们的技术的载体,有时候决定了我们的应用是否能实现、有时候决定了我们的应用是否高性能,同时,这些协议还是我们和后端技术交互的重要手段,这些协议就像是密码字典,帮助我们把后端传输过来的密文解释成我们前端技术能够理解的明文。

    四、程序设计

    这个阶段我们需要学习UML、设计模式、设计方法……,我们要让技术开发工作变成有目的性、有计划性,并且,这些目的和计划必须有理论的支持,这样,我们设计出来的程序才能够更优秀、我们的开发才更有效率,这样,我们的技术才能有所提升。

    最后附一张我自己总结的web前端进阶学习线路图,希望可以对大家的学习起到借鉴作用。

     

     

     

    展开全文
  • 花一两个星期,断断续续看完文档教程之后,就觉得已经...其实,不是前端工程师烂大街,或者企业招聘要求高,而是很多人其实都算不上前端工程师。 在技术路上不可好高骛远,基础牢固首先是最重要的。 那么,前端工程...

    很多人刚开始接触到前端,学习到html,css觉得这些也太容易了吧!花一两个星期,断断续续看完文档教程之后,就觉得已经上手了,学到JS时候,开始触礁,不愿意深挖这门编程语言!进而向框架去学习,这样跳点太大,越学到后面,就会觉得坑越来越多,怎么也补不上。其实,不是前端工程师烂大街,或者企业招聘要求高,而是很多人其实都算不上前端工程师。

    在技术路上不可好高骛远,基础牢固首先是最重要的。

    那么,前端工程师这个职业基础都包含哪些知识?

    从前到后、由浅入深依次是HTML、CSS、JavaScript、ES6、node JS、jQuery。

    当我们学习好这些后,我们要多加练习。从一些小功能入手。比如:tab页签、瀑布流、轮播图、图片放大器等等。

    有了基础之后,我们就可以开始学习框架了。最新流行的JavaScript框架大家肯定都特别清楚。分别是Vue、React、Angular。前端工程师们也叫他们三座大山。这些框架在公司的速成项目中是最常用的。他们也分别包含很多知识,每一个都有官方教程。

    我认为Vue是最容易上手的,也是应用最广泛的,在项目上用的也是最多的。它的特点是灵活、轻便、渐进式、双向绑定,最重要Vue的作者是尤雨溪,一名我们的中国同胞。所以官方中文文档写得也是超级详细和易懂的。

    这三大框架都属于组件式编程,都具有自己的优点,如果我们想在前端工程师的道路上走得更远,这三种框架都是必学的。

    由于这三座大山的出现,也随之出现了对应的框架组件库。那么组件库也是我们必学的范围。

    在16年以前,jQuery时代一想到组件库我们就会想到Layui、Easyui等等,这些我们也是要了解的。因为有的公司项目上线较早,存在很多用老技术写的项目,我们也是要负责维护的,有小bug的话我们也必须要帮助解决。

    三座大山组件库很多,PC端最火的Vue库当属Element UI,其次是iView,这两个组件库我们是必学的。据我了解,React组件库中Ant Design是最受欢迎的,所以这个组件库我们也必须要了解。

    关于组件库我认为不需要了解太仔细,因为在使用的时候可以翻阅官方文档,最重要的还是要将基础打牢。

    最后配套三大框架的出现,也出现了一些打包工具,当下最流行的打包工具当属webpack,在三大框架的脚手架中,都是使用webpack集成的,所以我们对webpack也要了解。

    写在最后

    学得再多,经验少也是不行的。最重要的是随着年龄的增长,工作年限的升高,我们的编程思维要有所提升。我们的工作年限要与技术相匹配,任何一方倒了,最后能否坚持下去都未可知。

    展开全文
  • 前端工程师简历

    万次阅读 2018-07-18 10:12:35
    总结一下 理解Web,W3C标准 (一淘,SAE,云适配,Zealer,小米,蘑菇街,DNSpod,百姓网) jQuery (云适配,金蚕网络,小米) 跨浏览器适配 (一淘,Zealer,蘑菇街,) HTML5 (云适配,小米,金蚕网络,DNSPod,......
  • 什么是前端工程师

    2019-05-27 02:15:58
    相信初入前端的你脑子里一定有许多问题需要解答,这里主要介绍三个问题:什么是前端工程师、为什么会出现前端工程师前端工程师在工作中主要负责哪些事情并为大家介绍前端工程师需要学会哪些技能。 什么是前端...
  • 前端工程师的 2018 年总结

    千次阅读 多人点赞 2018-12-20 20:41:26
    1. 前言 时间过得很快,2018 年已经接近尾声了。离开大学校园已经一年半,正式工作也一年半了。 2018 年,我的本命年,今年 24 岁,离 “而立之年” —— 30 岁, 又近了...技术上,前端和后端都接触到当前流行的技...
  • 浅谈前端工程师的职业生涯の(上篇)

    千次阅读 多人点赞 2018-09-17 20:46:24
    前端工程师们,该如何规划自己的职业生涯? 一、前端是什么? 前端工作流程:从 UI 处得到原型图或者效果图,在项目(网站、微信公众号、小程序、WEBAPP)中还原图片效果,然后与后台进行各种数据交互。...
  • IT前端学习资料及路线 JQuery文件网 https://code.jquery.com/jquery/ jQuery手册(pc端) http://jquery.cuishifeng.cn/ jQuery插件之家 http://www.htmleaf.com/ Vue文件...
  • Web前端工程师-优秀简历汇总

    万次阅读 多人点赞 2015-10-29 16:32:52
    Web前端工程师-优秀简历汇总 1. http://www.linqing07.com/resume.html 2. http://www.flqin.com/#page2
  • Web前端工程师,相信大家都不陌生,主要是完成客户端程序(也就是浏览器端)的开发,开发JavaScript以及Flash模块,同时结合后台开发技术模拟整体效果,进行丰富互联网的Web开发,致力于通过技术改善用户体验。...
  • 一个前端工程师的基本修养

    千次阅读 2018-01-23 13:25:42
    有人说互联网是前端工程师的舞台,先不论这个说法是否有些夸大其词,但前端工程师绝对撑起了互联网应用开发的“半壁江山”。随着传统网站、手机应用、桌面应用、微信小程序等次第出现,需要前端工程师设计和完成的...
  • Web前端工程师,相信大家都不陌生,主要是完成客户端程序(也就是浏览器端)的开发,开发JavaScript以及Flash模块,同时结合后台开发技术模拟整体效果,进行丰富互联网的Web开发,致力于通过技术改善用户体验。...
  • 这段时间受到疫情的影响,本身做java开发的,面试了入职了一个外包公司的前端岗位,入职属于驻场开发的那种,前几周基本没啥事,一般经理会让你刷题,到了驻场那边需要机试过关才能在那边开发,这边在牛客网,...
  • Web前端工程师修炼之道(第4版),完整扫描版

    千次下载 热门讨论 2015-12-29 10:00:17
    《Web前端工程师修炼之道(原书第4版)》主要内容: ■使用文本、链接、图像、表格和表单来创建HTML页面 ■使用CSS调整颜色、背景、格式化文本、页面布局,甚至是实现简单的动画效果 ■学习新的HTML5元素、API和CSS3...
  • 一位资深前端工程师总结的前端学习经验

    万次阅读 多人点赞 2016-08-26 16:45:43
    为了帮助新入行的小白快速走向技术人生的巅峰,这里分享一篇资深前端工作师总结的前端学习经验。  这里主要讲的是自学,网站开发开发大致分为前端和后端,前端主要负责实现视觉和交互效果,以及与服务器通信,...
  • 前端工程师学习路线

    千次阅读 多人点赞 2018-05-04 13:22:25
    前端工程师学习路线 第一阶段 html+css html进阶、css进阶、div+css布局、html+css整站开发 JS基础 js基础教程、js内置对象常用方法、常见dom树操作大全、ES、DOM、BOM、定时器和焦点图 JS基本特效 ...
  • 2018前端工程师成长路线图

    千次阅读 2018-09-04 09:01:03
    有本事刷一下你的前端技术! 原文:Modern Frontend Developer in 2018 译者:Fundebug 为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。 过去5年,我一直作为一枚全栈...
  • Web前端是目前最火爆的软件...了解互联网行业的小伙伴都知道Web前端工程师的薪资很高,想要成Web前端的人也很多。那么,Web前端工程师工资如此之高的原因是什么?下面就来和我一起看一看吧! 1、什么是“前端工程...
  • 什么是前端工程师前端工程师需要掌握什么技能?前言前端工程师是一个出现了10年左右,而颇受重视则是最近这五六年的事情。受到重视到前端从业人员井喷,也就是这一两年而已。因为前端工程师这个职位出现得太晚,...

空空如也

1 2 3 4 5 ... 20
收藏数 126,324
精华内容 50,529
关键字:

前端工程师