【问题标题】:How do I divide tasks between frontend and backend properly?如何正确划分前端和后端之间的任务?
【发布时间】:2020-08-09 01:16:49
【问题描述】:

我有一个想法,要制作一些类似于 Workflowy 但具有一些新功能的东西。 (Workflowy 基本上是一个笔记应用程序,可以将所有笔记精美地组织成一棵无尽的树)

起初,我在 Python 中实现了逻辑。它通过逐行打印注释然后等待命令在终端中工作。

将所有逻辑保留在服务器上并仅使用 JS 呈现项目并向服务器发送命令是个好主意吗?

例如,如果我想将整个文件夹移动到另一个文件夹中,有两种方法:

  • 方式 1:使用 Python 从 JS 接收命令“将文件夹 x 移动到文件夹 y”,对其进行处理并将结果发送回渲染。

  • 方式2:使用JS,然后必须了解所有文件夹结构和逻辑。在这种情况下,应用程序将仅使用服务器来存储数据。

我感觉方式 2(使用 JS 理解所有逻辑和 Python 仅用于保存数据)更合适,但这意味着我必须从头开始重写所有内容。

方式1也合理吗?

非常感谢!

【问题讨论】:

  • 这是softwareengineering.stackexchange.com 的问题。我不知道 WorkFlowy。可能一种合理的方式是它们的组合。您可能希望依靠前端逻辑来实现离线模式。如果任务对于前端来说过于资源密集或可能被客户端滥用,您可能希望依赖后端逻辑。如果您不想用不同的语言两次编写相同的东西,这是同构 JS 可能有益的场景之一。

标签: javascript python vue.js frontend backend


【解决方案1】:

这取决于您正在制作的应用程序。

如果你想在 html 文件中显示数千个数据,并且数据存储在一个 json 文件中。如果你从服务器发送 html 文件和 json 文件到客户端,然后在客户端,你运行一个脚本来读取 json 文件并以 html 显示它,那么它会更慢,因为客户端设备可能没有那么强大服务器是。

所以为了性能,在服务器端使用繁重的任务,这可能会导致更多的互联网使用,因为客户端没有格式化方式的数据,每当要执行数据的新任务时,你必须再次请求服务器。

但是对于相反的情况,您可以节省互联网并且几乎没有低性能。在这里您可以在客户端执行一些繁重的任务。

这还取决于客户端使用的设备。

【讨论】:

    猜你喜欢
    • 2015-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-09
    • 2017-12-23
    • 2015-06-19
    • 1970-01-01
    • 2013-12-15
    相关资源
    最近更新 更多