对于Web开发,React或Vue似乎是必须具备的框架。目前,我刚刚对NodeJ和Handlebars有所了解。
我知道Handlebars运行服务器端渲染,Vue和React运行客户端渲染。使用Vue或React使可重用组件成为可能。使用服务器端模板引擎需要基本布局。
假设我有一个包含某些路线的网站/网络应用程序。为什么我应该将Vue用于HTML组件而不是Handlebars HTML?
到目前为止,我学到的是只要有可能
每个人现在都在使用Vue或React,为什么我应该离开旧的结构并开始将代码外包给客户端?
答案 0 :(得分:3)
我相信您的问题更多地与服务器端渲染和客户端渲染的概念有关。
服务器端渲染在评估问题时应注意以下几点:
- 在服务器中呈现页面比在客户端中呈现页面更快
- 对于SEO(搜索引擎优化)而言,这要好得多,因为搜寻器可以搜寻整个页面。由于某些爬虫不是 评估/运行javascript,SPA(单页应用)可能会 导致页面为空。即使Google取得了很大进步 使用SPA SEO,服务器端呈现仍然是最佳选择。
使用SPA的客户端呈现具有不同的优势:
- 最好在客户端操作和维护用户状态,因为您可以将网页细分为 组件。
- 在第一次加载后,快速的交互/页面会发生变化,因为在大多数情况下,整个应用程序是在第一次请求时立即加载的。
因此,您必须考虑自己想要做的事情。如果您要建立一个反映更多页面结构的网站,例如新闻或博客,则服务器端渲染可能是最好的方法。 另一方面,如果您要构建具有许多用户交互和状态管理功能的功能完善的应用程序,则客户端呈现(或SPA)可能是最佳选择。
如果没有先评估您的问题,没有理由将您的代码外包给客户端。这确实取决于您要解决的问题。
答案 1 :(得分:2)
我可以带您参考this article。如您所见,并非全部都是黑白的。从引用的文章中..
服务器端专家:
- 搜索引擎可以抓取网站以获得更好的SEO。
- 初始页面加载速度更快。
- 非常适合静态网站。
服务器端缺点:
- 服务器频繁请求。
- 整体页面渲染缓慢。
- 整页重新加载。
- 非丰富站点交互。
客户端专家:
- 丰富的网站互动
- 初始加载后快速呈现网站。
- 非常适合Web应用程序。
- JavaScript库的强大选择。
客户端缺点:
- 如果未正确实施,则SEO较低。
- 初始加载可能需要更多时间。
- 在大多数情况下,需要一个外部库。
但是,有些框架可以进行通用渲染,例如next.js和nuxt.js(分别围绕react和vue构建)可以利用客户端和服务器的强大功能,因此您可以两全其美的。通常,这涉及将原始有效负载中的完全呈现的应用程序从服务器发送到浏览器,然后再在浏览器端加载应用程序代码。