我一直在研究react.js框架。我还没有完全理解客户端和服务器端渲染之间的区别(尽管努力搜索CLEAR差异)。因此,我非常感谢善良的灵魂为这个话题提供清晰明确的解释?
顺便说一下,我来自.NET背景,因此我仍在努力调整自己的思路,转向更加面向JS的编程方式。
谢谢!
答案 0 :(得分:1)
在服务器端渲染中,您正在处理Web服务器(想想写一些C#.Net或其他),您没有像浏览器那样的文档或窗口。所以做出反应的是在内存中构建一个“虚拟”DOM然后它实际上可以将其转换为具有特殊属性的HTML字符串,它将在浏览器中获取。然后使用该字符串的html响应HTTP请求。然后,当您在浏览器中加载react应用程序时,它将在服务器停止的位置拾取并在浏览器的内存中构建另一个“虚拟”DOM。如果你正确地执行它,它将不必在此过程中操纵文档,因此浏览器加载此动态页面就好像它是一个静态html文件。但是现在你有一个实时的React虚拟DOM,应用程序可以使用React的惊人渲染引擎导航到不同的页面或以其他方式更新,为您提供非常优化的Web体验,只需很少的工作。
实现这一点需要将大量NPM软件包拼凑在一起,并尝试找到最符合您用例的示例,这可能会让.NET有点令人沮丧,因为.NET将所有内容整合到一个框架中。有很多不同的工具和技术(lint,transpile,bundle,test,build等)可以考虑你的应用程序的每一部分,它可能需要一些时间和摆弄,以使它们一起工作。基本上这是您为获得最佳网络应用程序而付出的代价。令人惊讶的是,这些工具可以做到这一点,但肯定会有一个陡峭的学习曲线开始。这里的人总是很快帮忙!