愚墨的博客
  • 首页
  • 前端技术
  • 面试
只争朝夕不负韶华
  1. 首页
  2. 前端技术
  3. 正文

何为同构应用?

2016年11月15日 3419点热度 0人点赞 0条评论

  大学学习Java的时候老师说过Java有个牛逼的特点就是“Write once, run everywhere”,想想当时还真是屌炸天,但是鄙人愚钝,学到高级Java课程的时候就学不进去了,要不现在就是Java工程师了,哈哈!

  同构JavaScript应用指的是用JavaScript编写的应用,能够同时运行于客户端和服务器。因此,你只需编写一次代码,在服务器上执行它来实施静态页面,同时执行于客户端以允许快速的交互。所以这种方法在两个世界中都能取得最好的结果。既然能在服务器端运行,那后端构建语言只能是Node了,越来越多的企业开始对项目采用Node.js,在客户端和服务器之间共享代码变成一种更普遍自然的选择。这一趋势通过库(如React)共享模版得到增强。

  有可能你还不太懂这是个怎么回事,那我就大白话的说一下。首先传统的网站应用都是后端渲染,现在为了前后端分离和JavaScript的大量使用基本上开发模式都改为了前端渲染,前后端交流使用的是约定好的API,但是前端渲染的话有个弊端就是SEO问题(目前谷歌爬虫已经支持JavaScript网站,国内现在支持较弱),但是后端渲染不利于前后端分离开发大部分公司已经摒弃。同构项目就可以很好的解决这个问题。

  同构项目首先会在服务器端运行一遍JavaScript生成HTML页面字符串,然后将页面发送到前端,前端负责展示,接下来前端开始操作、交互什么的。这个时候前端运行的所有代码在后端已经运行了一遍,并将页面在首次加载的时候返回回来,这样就解决了SEO的问题。

  同构项目在前端可以使用JavaScript仅限于是原生JavaScript或者是JQ这些直接操作DOM的js代码或者库,如果是React这类类库的话不能直接使用,需要激活一下,因为React使用的虚拟DOM,同构项目在前端的时候,你需要将虚拟DOM和真是的DOM绑定在一起(激活),这样你的React在前端才可以使用。(这完全基于React可以分层的思想)。

  同构JavaScript项目实现JavaScript的 “Write once, run everywhere” ,可以说是比较前沿的开发模式,但是,同构项目的使用也是有局限性的。 你想一下,同构项目是前端的所有页面在后端都是先生成一遍然后传给前端,所以每一个前端页面在后端都有对应,所以如果前端会因为用户的不同而现实不同效果的话,你觉得后端会怎么样?后端会为每一个用户单独生成一个页面,这样下去是会狗带的。

  所以,同构并不会适合每一个开发项目,所以在选择的时候要选择对自己项目最适合的架构。

标签: 暂无
最后更新:2016年11月16日

愚墨

保持饥渴的专注,追求最佳的品质

点赞
< 上一篇
下一篇 >

文章评论

取消回复

搜搜看看
历史遗迹
  • 2023年5月
  • 2022年9月
  • 2022年3月
  • 2022年2月
  • 2021年12月
  • 2021年8月
  • 2021年7月
  • 2021年5月
  • 2021年4月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年9月
  • 2020年7月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年1月
  • 2019年5月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年9月
  • 2018年3月
  • 2018年2月
  • 2018年1月
  • 2017年11月
  • 2017年7月
  • 2017年6月
  • 2017年3月
  • 2017年2月
  • 2017年1月
  • 2016年12月
  • 2016年11月
  • 2016年9月
  • 2016年8月
  • 2016年7月
  • 2016年6月
  • 2016年5月
  • 2016年4月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年10月
  • 2015年9月
  • 2015年7月
  • 2015年6月
  • 2015年4月

COPYRIGHT © 2020 愚墨的博客. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS