-
对于一个后端JavaWeb程序员,我们的客户端一般就是浏览器。因此,JavaScript 这门语言,你都不好意思不会。
-
而大多数情况下,前端发送一个AJAX请求,返回的JSON数据要渲染到页面上,不可避免要进行dom操作。
-
那一般拿到数据后有几种方式渲染到页面上呢
-
jQuery操作dom:这可能是我用的最多并且最久的方式了吧,jQuery的宗旨是啥? write less,do more, 确实,他做到了,在过去十年里,jQuery可能是最火的JavaScript库之一。
-
原生JavaScript: 原生大法好,这让我想起Google!国内安卓定制的ROM流畅度总是比不过原生安卓。所以,原生JavaScript比jQuery这类型的库相比就是--快,虽然,现在浏览器一个比一个牛逼,渲染解析页面能力早不能和十年前同日而语了。不过原生JavaScript写起来太啰嗦,比如你bind一个事件,还得添加addEventListener,人家jQuery一行就搞定了(而且没有浏览器兼容性问题)。那基本原生JavaScript除了研究底层,已经没啥优势了。
-
前端模版引擎,eg:Handlebars:说实话,没用过,但是应该是和后端模版引擎差不多的:比如Jsp,Freemarker,Thymeleaf这些。我们都知道,虽然jQuery解决了浏览器兼容性问题,但是目前JavaScript标准越来越规范了,各大浏览器之间的差异也就越来越小,jQuery很大的优势就没有了,随之暴露出来他的弊端,频繁操作dom带来的性能问题。模版引擎正是在这种情况下诞生了,这个由于不熟悉,不多说了。
-
前端三大框架(Vue,Angular、React):由于jQuery等库带来的性能问题*,虚拟dom*(Virtual DOM)出现了,关于虚拟dom为什么比真实dom性能更优,可以参考这个链接:点我,在此不做赘述。Vue是其中的佼佼者。
说到MVVM,我就想到后端的MVC,同理,前端的MVVM模式分为M(Model),V(View),VM(ViewModule),VM就是架起M和V中间的桥梁,通过业务逻辑代码就是在VM中,同时该模式突出双向绑定,M->V,V-M,以及声明式编程。这就很厉害了啊。从此告别操作dom,直接和数据交流。
评论