设计社交网络:组件分布

问题描述 投票:0回答:1

我需要为 Next JS 和 React 课程创建一个简单的社交网络,其中包含用于显示提要帖子的主页、用于导航的导航栏、个人资料和通知...... 显然,我知道每个组件将根据其需要成为客户端或服务器,但为了清楚起见,我想知道是否有一个标准,某种规则,建议您将哪些组件创建为服务器,将哪些组件创建为客户端。

为了实现交互,您需要使用客户端组件。我想知道是否真的有必要将客户端的使用转移到更具体的组件中。毕竟,不同的方法可能会更有益。即使考虑到对服务器端渲染的潜在影响,我们也不能排除存在可行的替代方案。

reactjs next.js architecture
1个回答
0
投票

我想知道是否有一个标准,某种规则, 建议您将哪些组件创建为服务器以及将哪些组件创建为 客户。

我的意思并不是不友善,但我觉得这个问题的答案是“架构”。至于架构是什么 - 嗯,“这取决于”不幸的是所有架构背后的驱动力。

让我看看是否可以提供一些更实用的建议...

一些与客户端/服务器相关的主题,可能会驱使您采取一种或另一种方式:

  1. 网络连接 - 如果连接很差或不可用(例如,在“飞行模式”下使用应用程序),那么制作基于客户端的东西似乎是显而易见的。
  2. 性能 - 这取决于各种各样的变量,并且性能与各种方面相关(计算速度、交易速度、网络速度、容量和体积等)。如果您有任何一种性能很重要的功能,那么对相关内容的诊断应该可以帮助您清楚地指出一个方向或另一个方向。
  3. 安全性 - 与基于服务器的执行相比,在客户端上执行操作相对暴露得多。
  4. 可变性 - 客户端环境可能千差万别 - 不同的设备类型、不同的规格和资源、不同的操作系统、版本等。这可能会导致支持、测试等方面的复杂化。
  5. 控制和稳定性 - 通常,与客户端环境相比,您对服务器环境有更多的控制权。这包括能够管理依赖项。
  6. 更改频率 - 继上一点之后,在服务器上更容易频繁且快速地进行迭代,因为您只有一个环境需要更新,并且它位于您控制的环境中。
© www.soinside.com 2019 - 2024. All rights reserved.