不同阶段定义不一样的。
2005年以前,只有javaee一家独大,所以没有专门的web开发,都是Java工程师,有的会写点js和css而已。
2005年左右,web2.0出现,以ajax为核心,垫付了用户体验。另一方面,rubyonrails快速开发,15分钟写一个blog,这样从侧面带火了前端,jQuery也逐渐一桶江湖,但此时还是Java开发为主。能做前后端分离的都很少。
在2009到2013年,已经出现了专门的web工程师,也开始酝酿变化,从backbone出现第一个mvc框架,到angular出现ioc和mvvm之后,前端彻底改变了,真正的变成了软件工程师,而不是切页面的。前端开始出现coffee,sass等。nodejs也是2009年诞生的,又引发了前后端api胶水层的纷争,加上移动端兴起,bff就是这么来的。
2013到2017年,基本上是前端更新最快最混乱最缺人的时代,新框架新模块层出不穷,从vue到angular到react,不断冒出新东西。同时构建领域也开始出现webpack这样的打包器。移动端也有rn和weex和小程序。而node发布4.0,在web开发领域占有一席之地,对全栈领域也是有突破的,开始有了web全栈工程师。
2017年之后,angular愈发小众,走极客路线,vue走简单易用路线,没想到看着最不出彩最中庸的react了成了获利者。前端开始在工程,搭建,node,ui框架,跨端等领域探索,在2018年随着AI潮,前端智能化也渐露头角,成为跨领域结合的新宠。
1,web开发,扯不清,Java和node都有。
2,web前端和Java后端,一般是指前后端分离后,前端和后端分别对应的成熟。web前端指的是基于web浏览器做开发的工程师,而Java后端一般只写接口,偶尔会写一些中后台管理界面。
3,从发展过程看,在前端出现之前,Java工程师是兼顾web前端和Java后端的。2009之后,才开始更多的前后端分离。前端流量也随着淘宝,微博等互联网公司发展而发展。
4,今天的前端叫端工程师或大前端,是因为开发IoT,h5,pc,pad等等端上的偏展示层的开发工作,甚至是api胶水层。