首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >客户端与服务器端模板(哪一个?)

客户端与服务器端模板(哪一个?)
EN

Stack Overflow用户
提问于 2015-03-26 03:02:10
回答 2查看 22.5K关注 0票数 36

最近,我一直在阅读一些关于整个客户端与服务器呈现的非常有趣的文章。

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/

现在,当谈到客户端时,我有点像个粉丝,但是在我阅读了这些文章之后,一些观点开始倾向于服务器端呈现,令我惊讶的是.主要内容如下:

  • 1)你可以升级你的服务器,而不是你的用户设备--这意味着,嗯,是的. you 控制着服务器,因此如果服务器性能不佳,您可以选择升级/缩放。不能强迫用户升级他们的设备。
  • 2)第一次油漆与最后一次油漆--现在在上面的experimentally verified...链接上,它显示了用户何时第一次看到页面(第一次油漆),以及用户何时可以使用100%的页面(最后一次油漆)。现在,根据我的想法,当用户看到页面时,他们的大脑需要花一些时间来处理从视觉皮层到额叶皮层的信号,然后再到前置皮层,用户在那里实际上开始点击他/她的手指,当然,如果html是首先呈现的,那么当加载在后台时,大脑有一些需要处理的东西(js文件、绑定等)。

真正让我感兴趣的是推特报道的人们有10秒的加载时间用于客户端渲染,--没有人会体验到这个!这就像是在说,“如果你没有足够好的设备,对不起,你只能等着了。”

我一直在想,是不是有一种好的方法可以同时使用客户端和服务器端的模板引擎,客户机和服务器都使用相同的模板引擎和代码。在这种情况下,它只是想弄清楚是否是恩人向客户端提供呈现的页面,还是让客户机自己呈现它。

无论如何,如果你想分享你对我的话和文章的想法。我在认真地听呢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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
  • 搜索引擎优化
  • 页面加载的一些改进

旧浏览器/弱设备/禁用Javascript

例如,IE9不支持History API。因此,对于旧浏览器(如果用户也禁用javascript ),他们只需浏览页面,就像以前一样。

搜索引擎优化

谷歌说,它支持SPA,但SPA不太可能出现在谷歌搜索的最高结果,是吗?

页速

如前所述,第一个页面加载一个HTTP请求,仅此而已。

好吧,那么

在这方面有许多文章:

但我应该关心吗?

当然,这取决于你。

是的,这很酷,但是要重写/调整现有的应用程序需要做很多工作。如果您的后端是PHP/Ruby/Python/Java/什么的话,我给您带来了坏消息(这不一定是不可能的,但很接近它)。

这取决于网站,你可以尝试收集一些数据,如果老设备的用户比例很小,这是不值得的麻烦,所以为什么不…

让他们受苦

如果你只关心老设备的用户,那就来吧,2015年,如果你的用户使用IE8浏览带有iPod Touch 2的网站,那就是问题了。例如,大约一年前,IE8支持角掉1.3,你为什么不直接提醒用户他们需要升级;)

干杯!

票数 25
EN

Stack Overflow用户

发布于 2016-04-22 17:19:37

关于这个话题的所有谈话都漏掉了一点。发送到客户端的字节。在服务器上呈现为HTML的页面要小得多。传输的字节越少,对每个人都更好,无论是服务器还是客户端。我已经看到云站点的带宽成本,即使减少10%也是一个巨大的节省。客户端JS页面总是很胖。

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29270384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档