最近,我一直在阅读一些关于整个客户端与服务器呈现的非常有趣的文章。
http://www.onebigfluke.com/2015/01/experimentally-verified-why-client-side.html
tem.html
http://tomdale.net/2015/02/youre-missing-the-point-of-server-side-rendered-javascript-apps/
现在,当谈到客户端时,我有点像个粉丝,但是在我阅读了这些文章之后,一些观点开始倾向于服务器端呈现,令我惊讶的是.主要内容如下:
experimentally verified...链接上,它显示了用户何时第一次看到页面(第一次油漆),以及用户何时可以使用100%的页面(最后一次油漆)。现在,根据我的想法,当用户看到页面时,他们的大脑需要花一些时间来处理从视觉皮层到额叶皮层的信号,然后再到前置皮层,用户在那里实际上开始点击他/她的手指,当然,如果html是首先呈现的,那么当加载在后台时,大脑有一些需要处理的东西(js文件、绑定等)。真正让我感兴趣的是推特报道的人们有10秒的加载时间用于客户端渲染,--没有人会体验到这个!这就像是在说,“如果你没有足够好的设备,对不起,你只能等着了。”
我一直在想,是不是有一种好的方法可以同时使用客户端和服务器端的模板引擎,客户机和服务器都使用相同的模板引擎和代码。在这种情况下,它只是想弄清楚是否是恩人向客户端提供呈现的页面,还是让客户机自己呈现它。
无论如何,如果你想分享你对我的话和文章的想法。我在认真地听呢!
发布于 2015-11-22 18:46:51
UPD:只有当你真的需要的时候才这么做。
(4年后2个同构企业应用程序)
如果你需要做SSR的话,没问题。如果你能用一个简单的SPA -去吧。
为什么会这样呢?SPAs是更容易开发的,更容易调试和更便宜的和更容易运行。
开发和调试的复杂性是显而易见的。不过,我所说的“更便宜、更容易操作”是什么意思呢?嗯,你猜怎么着,如果10K的用户试图同时打开你的应用程序,你的静态HTML网站(即构建的SPA),你甚至不会感觉到它。如果您运行的是一个同构的TTFB应用程序,那么TTFB就会上升,RAM的使用率将上升,最终您将不得不运行其中的一个集群。
因此,除非您需要显示一些超低的TTFB次数(这很可能是通过积极的缓存),不要使您的生活过于复杂。
2015年的最初答复:
基本上,您需要的是一个共享前端和后端代码的同构web应用程序。
同构JavaScript 同时运行客户端和服务器端的JavaScript应用程序.同构JavaScript框架是JavaScript框架发展的下一步。这些新的库和框架正在解决与传统JavaScript框架相关的问题。
我打赌这家伙解释得更好是我。

因此,当用户来到页面时,服务器会呈现包含内容的整个页面。因此,它加载得更快,并且不需要额外的ajax请求来加载数据等等。然后,当用户导航到另一个页面时,就使用了用于单个页面应用程序的常用技术。
那我为什么要在乎呢?
旧浏览器/弱设备/禁用Javascript
例如,IE9不支持History API。因此,对于旧浏览器(如果用户也禁用javascript ),他们只需浏览页面,就像以前一样。
搜索引擎优化
谷歌说,它支持SPA,但SPA不太可能出现在谷歌搜索的最高结果,是吗?
页速
如前所述,第一个页面加载一个HTTP请求,仅此而已。
好吧,那么
在这方面有许多文章:
但我应该关心吗?
当然,这取决于你。
是的,这很酷,但是要重写/调整现有的应用程序需要做很多工作。如果您的后端是PHP/Ruby/Python/Java/什么的话,我给您带来了坏消息(这不一定是不可能的,但很接近它)。
这取决于网站,你可以尝试收集一些数据,如果老设备的用户比例很小,这是不值得的麻烦,所以为什么不…
让他们受苦
如果你只关心老设备的用户,那就来吧,2015年,如果你的用户使用IE8浏览带有iPod Touch 2的网站,那就是问题了。例如,大约一年前,IE8支持角掉1.3,你为什么不直接提醒用户他们需要升级;)
干杯!
发布于 2016-04-22 17:19:37
关于这个话题的所有谈话都漏掉了一点。发送到客户端的字节。在服务器上呈现为HTML的页面要小得多。传输的字节越少,对每个人都更好,无论是服务器还是客户端。我已经看到云站点的带宽成本,即使减少10%也是一个巨大的节省。客户端JS页面总是很胖。
https://stackoverflow.com/questions/29270384
复制相似问题