JAVA模板语言freemark,thymleaf和前端三大框架开发有什么区别?
原创

JAVA模板语言freemark,thymleaf和前端三大框架开发有什么区别?

好文

热门回答:

本质上没有什么区别。都是模板+模型=>渲染结果。

区别主要是:渲染前移

渲染前移

下图是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语言。

个人观点。欢迎大家批评指正。一起交流学习

您还感兴趣的文章推荐

以上就是由互联网推广工程师 网创网 整理编辑的,如果觉得有帮助欢迎收藏转发~

分享到 :
相关推荐

回复 夜深时 取消回复

登录... 后才能评论

评论(2)

  • 一路有晗 永久VIP 2022年12月27日 16:22:40

    模板,后端,数据,页面,框架,绑定,语言,三大,是一个,视图

  • 夜深时 永久VIP 2022年12月27日 16:22:40

    没想到大家都对JAVA模板语言freemark,thymleaf和前端三大框架开发有什么区别?感兴趣,不过这这篇解答确实也是太好了

  • 眼泪、说拜拜 永久VIP 2022年12月27日 16:22:40

    本质上没有什么区别。都是模板+模型=>渲染结果。区别主要是:渲染前移渲染前移下图是SpringMVC前端控制器的执