我所学习的java方向 也称为Java Web, Java 主要有2个方向,android 和 JavaEE,
学习javaEE是因为JavaEE的知识体系后期对应的岗位是架构师,我当时的考虑是以后往服务器方向发展,Javaweb 中的学习知识太多太多,框架上,从简单的servlet 到 一堆配置文件 ssh 再到ssm 最后出现了零配置文件的springboot(其实是代码配置),我一路爬滚摸坑经历过。
那时候前端都需要自己写,最常见的就是用jquery 和 bootstrap 了,在页面上通过<script><style>就可以引入 相关的js 和 css。数据填充到html 的过程是在服务器完成的。服务器的引擎模版,比如jsp,velocity,freemarker 和 beetl等,一个页面的公告部分可以抽象成组件,比如jsp的@include,velocity的#weight等。
数据域有pagerequestsession,application 4 种

  • page : page 中存储当前页面中的数据
  • request :request 中存储同个请求的数据
  • session : session 中保存一个会话的数据
  • application :application 中保存全局数据

当然路由也是由服务器控制的


后来ajax 出现了,请求不需要全局刷新页面,只需要局部刷新要更改的内容,这样速度更快,用户体验更好。
越来越多的数据提交采用ajax ,异步上传文件,异步加载数据,异步提交表单….
数据填充到模版的过程在前端完成,所以出现了很多的前端的引擎模版。
越来越多的功能都在一个页面上实现,慢慢地发展成单页应用。
然后单页的路由由前端来控制,页面中的逻辑独立的单元或者需要复用的部分,都需要封装成组件。
代码多了,就有了模块的概念。webpack 应运而生。


现在的前后端都是分离的,前端用react.js + ant-design 或者vue.js + element-ui, 后端只需要给一个接口地址,沟通好相应的参数,就能完成接口的调用。最本质的原因是因为,现在数据的渲染由前端来控制了。这样也就自然而然的想到,和vue 和 react 配合的后端语言,就会是比较轻量级的,比如node.js,go,再配合上nosql数据库mongodb,完成真正的快速开发。
最显著的改变是,快,这在一定程度上增加了用户体验。