java配合什么做前端_作为一个java程序员 ,前端的技术需要达到什么水平?

一个后端程序员,需要掌握前端技术吗?

JSP时代

8年前,刚刚进入编程这个行业,当时的Web开发使用古老的SSH框架+JSP。那个时候,几乎所有的Java程序员都要懂得如何写JavaScript、如何解决页面布局问题。

所以在当时,从事Web开发不会明明白白地的分成前端程序员、后端程序员,几乎每一个人都既要懂后端,又要懂前端。

JSP虽然功能很强大,性能也不错,但是会导致前端页面代码过于凌乱。想想看,一个页面又包含JSTL标签,又包含java代码,又包含原生js代码,这还能不乱吗?

模板引擎时代

后来,有两个优秀的模板引擎诞生了,一个叫做Velocity,一个叫做FreeMarker。小灰在京东工作的时候,主要是用的就是Velocity引擎。

这两种引擎把静态页面有效地剥离出来,使得前端程序员可以完全专注于静态页面的开发,后端程序员把页面动态化。

这个时候,虽然有了后端与前端的分工,但是后端程序员仍然需要掌握基本的前端技术,才能去有效地实现动态页面。更何况,一些业务的后台管理页面,完全是后端程序员独立编写的。

前后端分离时代

现如今,前端新技术琳琅满目,React、Vue、Angular...... 这还只是前端技术的冰山一角。

这个时代最大的特点是什么呢?前后端彻底的分离。后端小伙伴只需要提供一系列Restful接口,前端小伙伴负责调用这些接口,并实现页面的展示和交互。

有后端小伙伴说了:现在既然前后端分离了,前端技术和我没关系了吧?并不是。

当你和前端进行联调,或是线上遇到问题的时候,懂一些前端可以帮助你们更快定位到问题,减少沟通成本。

当你成为管理层的时候,懂得前端技术才能更好地管理各个细分领域的技术人。

当你成为架构师的时候,更需要提升自身技术广度,而不仅仅是深度。

我们如何选择?

可是,人的精力是有限的,前端流行的技术和框架有那么老多,小伙伴们该怎么选择性的学习呢?

有一个选择方法,就是优先抓住“不变”的东西。

什么是不变的东西呢?

对于后端领域来说,算法、数据库原理、面向对象思想,这些东西即使再过10年20年都不见得过时。

对于前端领域来说,JavaScript、CSS、HTML、浏览器原理,这些技术也都有着长久的生命力。

你可能感兴趣的:(java配合什么做前端)