1、Web开发分类与区别
人们通常将Web分为前端和后端,前端相关的职位有前端设计师(UI/UE),前端开发工程师,后端相关的有后端开发工程师。
2、技术栈区别
看各大招聘网站上,公司对前端开发工程师的要求莫过于精通HTML,CSS,JS,有良好的交互设计能力等。再看公司对后端开发工程师的要求:
比如Java开发工程师,要求精通Java,熟练掌握Java网络编程;
熟练运用SSH等开源框架;
熟悉互联网开发模式,清晰理解缓存,缓存设计和模式;
精通TCP/IP、HTTP等网络协议,精通socket网络编程,有用Java做大访问量高压力网络应用的经验;
熟悉Linux/Nginx;
熟练配置维护Apache,Tomcat,Resin等应用服务器,掌握shell/awk/python等系统脚本工具;
熟练掌握SQL语句,熟练使用数据库(MySQL,Oracle);
掌握Html/Javascript/Css/Ajax 等页面技术熟练使用Eclipse/Maven/Ant/SVN等软件开发工具;
Web架构的性质决定服务端开发的复杂性,服务端的复杂性决定后端开发人员要掌握的技术。
3、学习成本区别
用3年时间学习Web前端开发,多数同学都能够成为一个优秀的Web前端开发工程师。同样,用3年时间学习后端开发,多数同学只能算是入门。Web前端开发人员需要掌握HTML,CSS,JS,对于其他框架的学习也只是熟悉下框架的用法。这三种语言本身也很简单,很容易上手。对于后台开发人员来说,开发语言的多样化,技术框架的选择,平台性能的了解都是需要经验积累的。比如Java,你需要精通Java语言,熟悉jdk源码,熟悉JVM性能优化,熟悉SSH框架,熟悉Mysql,熟悉各种技术,这些都不是短时间就能上手的。
Web前端开发入门门槛低,学习曲线跟服务端开发语言先慢后快相比,趋势是先快后慢。注:后慢是因为后期的学习已经超过Web前端开发的范围,比如SEO,服务器端知识,HTTP协议,这些学习本身就是慢的过程。
4、钱景&前景
由于互联网行业的极速扩张,各大公司对Web前端工程师的需求非常旺盛,自然钱景旺旺。加上HTML5规范的最终定稿,必定引起Web的热潮。NodeJS在服务器端的延伸也使JS大放光彩。
Web前端开发入门门槛低,但需求旺盛,特别是有经验的Web前端开发人员。
Web前端开发技术发展越来越成熟,且适用范围更广。比如HTML5可以替代原生APP(性能方面有待考究),JavaScript能够用于数据库操作(MongoDB等NoSQL支持JS语法),NodeJS能够让JavaScript在服务器端运行,只要会Js语法不用后端开发语言照样开发服务端程序。
node的技术的加入,让现在前端几乎无所不能,现在Web前端开发技术支持全栈式开发。
小编认为Web前端工程师正慢慢演变为产品工程师。WAP App,响应性UI等以HTML5技术为基础的开发将成为Web前端工程师的主要工作内容,解决产品跨平台跨设备的实现问题。Javascript,HTML,CSS 这些Web前端工程师熟悉的,多年使用的语言,作为开放标准将被各种平台所支持。
产品形态和数据的分离是形势所趋。移动时代对产品形态多元化的要求虽然可以靠不同技术分别实现,但要付出巨大的成本。这也是HTML5这个04年就提出来的标准。
现阶段的价值也很大。Web 产品交互越来越复杂,用户使用体验和网站前端性能优化,这些都需要专业的Web前端工程师来解决。另外,在项目中还要弥补设计师在交互设计上的不足,Web前端工程师在开发过程中起着重要的承上启下的作用。
一两个Web前端工程师就可以让整个开发并行起来,让设计到实现的转换更顺利。明智的公司应该贮备Web前端工程师资源。
小编我不认为Web前端工程师和产品经理有什么关系,但是好的Web前端工程师一定会成为好的交互设计师,Web前端工程师对信息架构的理解应不亚于专业的交互设计师。
前端就是后台实现和视觉表现的桥梁,是贯穿在整个产品开发过程的纽带,起到承上启下的作用。一个好的Web前端工程师他能够很好理解产品经理对用户体验的要求,也能够很好地理解后台工程师对数据逻辑。或者程序逻辑进行分离的要求,并将这些要求转化成前台的开发工作。前端就是网站的门面,它的价值远大于其他的客户端开发。