热门回答:
本质上没有什么区别。都是模板+模型=>渲染结果。
区别主要是:渲染前移
渲染前移
下图是SpringMVC前端控制器的执行流程。
前端控制器接收到请求
委托为对应Controller处理
Controller处理完成。返回model
前端控制器将model和模板渲染出结果(html,json等)
最后返回给客户端
freemark,thymleaf就是在第4步渲染出结果后返回。
而对于Angular、React和Vue。第四步退化成了数据转换。model转JSON。渲染则是在第5步之后。客户端接收到了数据之后。
以Vue为例:
主要看mounted右侧的那个虚线环:接收到数据后。触发beforeUpdate,reRender,updated进行页面的渲染。
前移优劣势
优势:
职责分离。后端只负责数据和逻辑。前端负责渲染和交互。分工明确
后端不必为了web。独立处理。对web,app,小程序一视同仁。减少了后端工作量
相对于后端渲染。前端渲染更易于测试。可独立mock测试
前端身价涨了~
劣势:
前端发展快。但是没有统一标准
模块化不成熟
很多借鉴的后端的技术。对前端人员来说。学习的内容一下增加了很多。学习难度大
好的前端难招了~
其他观点:
Java中的模板语言:FreeMarker和Thymeleaf。
前端三大框架:Angular、React和Vue。
模板语言是服务端从数据库取出数据。直接绑定数据到页面。生成最终的页面返回最前端(浏览器)直接查看。模板语言因为是服务端渲染更有利于SEO。一般模板语言最后都需要后端工程师最后整合。
三大框架的使用就是前后端分离的象征。服务端只关心业务逻辑。返回正确的数据。前端只关心数据的绑定和页面的显示及跳转是否正确。分工更为明确。前后端工程师各司其职。
现在越来越倾向于前后端分离的开发模式。后端专注高并发高可用。前端专注用户体验。
其他观点:
主流的Java模板引擎
Thymeleaf
Thymeleaf是用于Web和独立环境的现代服务器端Java模板引擎。Thymeleaf的主要目标是将优雅的自然模板带到您的开发工作流程中—HTML能够在浏览器中正确显示。并且可以作为静态原型。从而在开发团队中实现更强大的协作。能够处理HTML。XML。JavaScript。CSS甚至纯文本。Thymeleaf的主要目标是提供一个优雅和高度可维护的创建模板的方式。Thymeleaf也是从一开始就设计(特别是HTML5)允许创建完全验证的模板。Spring Boot 官方推荐使用 thymeleaf 而不是 JSP。
Freemarker
FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据。并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。它不是面向最终用户的。而是一个Java类库。轻量级模版引擎。不需要Servlet环境就可以很轻松的嵌入到应用程序中。能生成各种文本。如html。xml。java。等。入门简单。它是用java编写的。很多语法和java相似。
前端三大框架
Vue
Vue.js是一套构建用户界面的渐进式框架。Vue 只关注视图层。 采用自底向上增量开发的设计。目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
React
React 是一个用于构建用户界面的 JAVASCRIPT 库。React主要用于构建UI。很多人认为 React 是 MVC 中的 V(视图)。
Angular
AngularJS 是一个 JavaScript框架。它是一个以 JavaScript 编写的库。它可通过 <script> 标签添加到HTML 页面。通过 指令 扩展了 HTML。且通过 表达式 绑定数据到 HTML。AngularJS 是以一个 JavaScript 文件形式发布的。可通过 script 标签添加到网页中。
Java模板语言与前端框架区别
Java模板语言依赖于后端。后端把数据绑定到页面的相应标签上。还要用相应的类来解析页面。也就是视图解析器。这样呈现出的页面才是绑定数据后的样子。
三大前端框架通过Js来操作。更多是HTML5页面与Js之间的交互。只专注于前端。
语法不同。也完全不是一个概念。页面出现Freemark、Thymeleaf语法。估计前端的人都看不懂也不知道数据哪里来的。前端的框架大都是基于JavaScript 的。Java 后端框架大都基于Java语言。
个人观点。欢迎大家批评指正。一起交流学习
您还感兴趣的文章推荐以上就是由互联网推广工程师 网创网 整理编辑的,如果觉得有帮助欢迎收藏转发~
本文地址:https://www.wangchuang8.com/175523.html,转载请说明来源于:网创推广网
声明:本站部分文章来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系进行处理。分享目的仅供大家学习与参考,不代表本站立场。
评论(2)
模板,后端,数据,页面,框架,绑定,语言,三大,是一个,视图
没想到大家都对JAVA模板语言freemark,thymleaf和前端三大框架开发有什么区别?感兴趣,不过这这篇解答确实也是太好了
本质上没有什么区别。都是模板+模型=>渲染结果。区别主要是:渲染前移渲染前移下图是SpringMVC前端控制器的执