服务器端的渲染为了乐趣和响应速度
下一步学习React的服务器端渲染,通用应用程序对SEO更友好,一套代码前后端通用,
他们能提高web应用的响应速度,web应用导致不断的变换,服务器端的渲染伴随着一定代价,我们应该谨慎使用,
在这章里,你会了解到如何设置服务器端的渲染,在最后做一个示例,创建通用应用程序以及它的利弊
-理解什么是通用应用程序
-为什么需要服务器端的渲染
-使用React创建简单的静态服务器端渲染的应用,并且添加数据获取到服务器端渲染,理解概念例如dehydration/hydration(吸水和脱水)
-使用Next.js创建服务端运行的React应用
自己加的(为什么需要服务端渲染?什么情况下进行服务端渲染?笔者认为,当我们要求渲染时间尽量快、页面响应速度快时(优点),才会采用服务器渲染,并且应该“按需”对页面进行渲染 ——“首次加载/首屏”。即服务端渲染的优势在于:由中间层( node端 )为客户端请求初始数据、并由node渲染页面。那客户端渲染和服务端渲染有什么差别?服务端渲染究竟快在哪里呢?)
通用应用程序
当我们讨论用JS写的web应用程序的时候,我们先想到的客户端是浏览器,这种方式是以服务端返回一个空的含有javascript标签的HTML页面加载应用,当应用加载好了,它能过处理DOM节点显示UI以及用户交互,直到去年之前还是这种情况,这种情况普遍存在于WEB应用中,
这节里,我们将介绍,使用React创建服务端的应用(SSR),同构于通用的区别,
为什么需要服务器端的渲染
SSR是一个非常棒的特性,但是我我们不要一头扎进去为了学习而学习,要视情况而定
SEO (搜素引擎优化), 便于搜索,只是提供空的HTML骨架给搜索引擎来爬取并没有多大的意义,现在,Google能够运行JavaScript但是有限制,SEO也是它的一个痛点,
这些年,我们使用2套应用,一个服务端端的渲染为了爬虫,一个给客户端的使用,这样做是因为服务端端的渲染能满足用户的期望,客户端不能被搜索引擎搜索,但是维护起来不灵活不容易修改,幸运的是React能够到服务端渲染组件并且以一种有好的方式提供内容给爬虫检索,
SSR不但会SEO友好而且还对分享功能支持友好,
一个通用的代码库
更好的性能
客户端在3G的网络,用户不得不等待JS加载完,
不要低估复杂性
我们不得不设置和维护服务,包括路由和逻辑,管理服务端的数据流,
也可能缓存页面的内容,这些都是通用的应用快速响应页面和一些其它的目的要求
我的建议是先西写客户端的版本,仅当应用完全运行起来后,再考虑改善用户体检通过SSR