web前端程序员前景及优劣势分析

前景

需求量很是大,随着人机界面愈来愈多,好比手机,车载设备,各类物联设备等,都须要大量的开发人员来维护,并且前端的美观直接影响了用户体验,所以靠谱的前端工程师是公司宝贵的财产。css

岗位需求量大概是Java的1/3左右html

file

在TIOBE中排名第七
file
C#和VB国内基本不用,python为辅助性语言,所以能够认为排名为第四前端

工资收入也是比较高
filejava

职责

看起来萌萌的前端python

file

Web前端开发工程师负责展现层的编写,为网站上提供的产品Web界面,优化代码,提升响应速度,并保持良好兼容性(IE, Chrome, FireFox等),负责Web前端表现层及与先后端交互的架构设计和开发,配合后台开发人员实现产品界面和功能。算法

随着Web前端的发展,也出现了,MVVM架构,为了让Model这个步骤更加解耦: 前端Model和后端Model解耦,也就是说前端工程师设计页面,并设计他们眼中的View Model,也就是MVVM中的VM。后端工程师设计后端的的Model,与前端VM作映射。这样双方的工做就彻底独立。因此前端不只仅须要懂得设计类代码和js,并且须要懂得必定的服务器端代码,好比PHP,java和c#。然后端工程师的技术背景更多在于算法,中间件架构,数据库,网络通讯,操做系统。数据库

发展方向

1 前端架构师/Leader
但你跳出增删改查的范畴后,就进入的前端架构的范畴,通常只会出如今超大型公司。以taobao为例,一个页面上会嵌套无数个服务,有商品展现,用户信息,营销活动.....那么是否是须要把这些服务逻辑隔离,业务隔离后展示仍是同样的呀,所以须要开发出公共组件,而不是用jQurey从头开始一个个组件的写。另外响应速度须要保证呀,所以如何优化网络请求,如何减小请求次数,以及部署方式,这都是前端架构师的考虑范畴。具体工做包含下列这些:c#

项目部署:前端项目部署应该由前端架构师来决定,这里涉及到网络性能优化和开发规范对接的问题,因此前端架构师要理解工程部署的过程,并把开发和部署打通,不然开发受限于部署,架构设计会遇到阻碍。后端

组件化与组件生态:因为前端面向的是界面设计,因此在模块化之上还有组件化开发模型须要架构师提供。此外,项目中一些可复用的模块或组件应该有必定的复用渠道,这部分我称之为生态。架构师应该提供这样的渠道来解决多个团队或项目之间的代码复用问题。安全

前端安全:这部分也应该有架构师负责的部分。主要是在开发、统计的过程当中对前端安全作保障,好比xss修复、页面脚本注入监控等.

系统测试:不少人老是尝试用API测试方法论中的单元测试来测试前端项目,实际上是片面的。前端测试属于GUI测试范畴,前端项目中使用的框架、类库通常由外部提供,已经由API测试作了质量保证,而项目中的测试应该主要集中在GUI测试上,这部分目前没有好的解决方案作支撑,因此也没有什么好的衡量办法。

2 产品经理
因为前端童鞋对美感稍号(貌似日常打扮的也潮些),这是他们转产品经理的优点。大产品经理毕竟很少,更多的产品经理在抠一个个按钮,一个个流程。前端童鞋对于界面的熟悉能转化成优点,并且由于前端不少都是非科班出身,再深刻下去一旦设计到操做系统,网络层面就难了,所以有不少前端转为产品经理的。

优点

入门简单,高级稀缺。入门比较简单,会html,css就能作前端,见过不少设计师兼职前端工做的。但越深刻越难,初级多如狗,高级很难找,为了快速开发你得会Vue,React吧,为了构建项目你要会Gulp,Nodejs吧,此外还有Hybrid开发模式: 用前端来呈现Android和IOS相同的页面,因此前端正变得的愈来愈复杂。此外对前端速度会有要求,你必须熟悉网络协议,性能优化等等。并且科班出身从事前端工做的并很少,所以高级前端码农的稀缺。

劣势

潜力不入后端码农。主要是涉及业务很少,没有业务就没法深刻核心价值。并且项目经理也是常常从后端码农中出,由于后端业务多,复杂度略高。所以不少后端码农能转项目经理,能转架构师,甚至能作CTO,但前端开发能作到前端leader可能就到头了。

相关文章
相关标签/搜索