前端是一个相对比较新的行业。但在这几年期间,随着W3C标准的不断更新以及node.JS的兴起,基于node.JS一系列的工具和诸多前端框架都良莠不齐的浮出水面。大多数不了解前端的人转行前端,第一点缘由是前端相对较低的学习门槛。第二点是他们对前端的理解,广泛停留在毫无计算含量的网页布局以及和美工同样的样式设计。前端
计算机专业的人选择前端,是由于他们认为前端不须要过多的逻辑思惟计算,他们讨厌编程。非计算机专业的人选择前端,他们看到了前端的前景,以及不须要计算机的知识就能够快速上手。vue
我想对第一类人说,大家走入了一个巨坑。前端最最基本的三个核心技能:HTML、JS、CSS,其中最能表明前端的就是Javascript了。node
如图,是2019年github上最受欢迎的语言排行榜:react
其中基于JavaScript语言的仓库就有3个,可见现在的github社区已经变成了前端的社区。git
JavaScript身为一种动态的弱语言,在实际项目中设计最合适的模型高效率解决现实问题自己就颇有挑战。做为一种典型的新生代编程语言JavaScript 特性丰富,使用灵活,性能优良。面向对象、函数式编程、各类设计模式、MVC 和 MVVM,这些自己就有足够的吸引力。随着更多的程序员转入JavaScript,它的标准也在不断规范,一些其余语言的特性也不断的融入其语法当中。或许不久的未来,JavaScript会和TypeScript同样拥有静态类型检查的功能。如此重要的核心语言又怎么能离的开编程呢。程序员
前端是一个发展速度迅速的行业,从之前的传统网站到现在HTML5的发展,以及Node.JS的出现,相关Node.JS 工具也纷纷出来。CommonJS、AMD、CMD、UMD 等模块式的开发思想也诞生出了像SeaJS、RequireJS 等模块化工具。MV* 库铺卷而来,vue/angular/react,前端框架相互竞争,2014年的angular到15年的react。做为一个前端工程师,咱们每时每刻都应该跟上技术的潮流,不断学习,因此我会劝那些由于厌恶编程而转入前端的程序员们,大家走错了方向。es6
最近有个朋友的公司一直在招前端,在这长达两个多月面试中,始终都没有聘到合适的前端,他们的简历一般都是以下这样的:github
一、与UI设计师合做,快速开发符合W3C标准的网站前端页面;面试
二、配合产品人员完成网页页面的交互/效果/用户体验的实现;编程
三、配合后台工程师一块儿实现功能和性能需求,进行应用及系统整合;
四、优化页面及样式层结构,提升页面响应速度和用户体验;
五、保证主流浏览器的兼容性。
六、静态HTML页面的制做、JS交互的实现
七、用Jquery,Bootstrap制做网页
对于这样的简历,HR和技术面试官难作一个准确的评估,首先这种简历没法评判出前端的水平,太过普通。其次,我不能说Jquery,Bootstrap过期了,而是在当今的前端开发中,毫无模式的直接操做DOM并非一个明智之举。在面试当中,我更看中的是应聘者对前端流露出的喜好之情,对知识的求知欲,对基础知识的扎实(例如:JS里事件的冒泡与捕获,闭包,原型链机制,布局当中的BFC,垂直居中等一系列实践的问题)。对于那些简历里写到掌握最新前端技术的应聘者(例如:babel,Webpack,es6,react等),我会问一些react的优化,模块加载的方式,nodeJS原理性基础等一些问题。
在面试中我发现,有一大部分人,只盲目的学习了这部分工具、框架的用法,却在基础知识方面存在很是多的漏洞。
分析一下转行到前端的人,你应该具有的哪些素质:
1.若是Web的任何一个元素(Web界面,灵活的编程风格等)有一点吸引了你,让你着实着迷,恭喜你,有了一个完美的开始。确认一下本身是否喜欢和合适前端,而不是为了一份看起来体面并且薪水不菲的工做。
2.不断学习,每日的积累,关注前端动态,是你跟上前端潮流的主要途径。前端的体系过于庞大,技术框架争涌而出,若是你常常抱怨累死码农的节奏,那就审视一下本身对前端的态度。
3.主抓基础,避免盲目。前端领域知识点不少,值得学的东西也不少,聪明的人懂得花时间学习成体系的知识而且研究得足够深刻,而不是盲目的看到别人用什么框架就去学什么。只停留在实践运用的阶段,到头来框架们都一个一个被淘汰,你仍在原地踏步。
4.整理总结,先模仿后创造。将每日的积累作好规整,记录到博客也好,笔记也好。多看看牛人的源代码,等你达到了必定的层次水准,天然会驾轻就熟。
5.持有一颗造福前端社区的心。写一些有意思的小工具、插件,推广出去,
6.始终坚信,在从事前端的道路上You are not alone
专门创建的学习Q-q-u-n ⑦⑧④-⑦⑧③-零①② 分享学习方法和须要注意的小细节,不停更新最新的教程和学习技巧(从零基础开始到WEB前端项目实战教程,学习工具,全栈开发学习路线以及规划)