前端要处理多少csv解析can/should?
How much csv parsing can/should be processed in the front-end?
我即将:
- 创建一个 Web 界面,用户可以在其中输入电子邮件地址,然后将这些地址一次性 json 发送到服务器,然后用于向这些用户发送消息。
- 我还需要能够上传包含一长串电子邮件地址的 csv 文件。问题是电子邮件地址的数量可能非常大。我们谈论的是数千甚至更多。
理论上我可以在前端解析 csv 文件并在 json 对象中发送电子邮件地址(因为我已经有了第一个用例的 api输入电子邮件地址并作为 json) 发送,或者我可以将这些 csv 文件上传到我们的数据库并在服务器端进行解析。
是否应该考虑在前端处理csv文件?
在前端处理的 "safe" 项目数量应该是多少 不破坏任何东西,或者以严重受损告终用户体验?
任何人都可以根据经验发表评论吗?谢谢
What should be a "safe" number of items for processing in the
front-end without breaking something, or ending up with a heavily
compromised user experience?
这取决于用户的机器。
这里没有人能够就您的问题给您一个明确的答案。
无论如何,你可以使用 Web Workers API
Web Workers 允许您在 运行 异步 中创建长线程背景没有重 affecting/freezing 你的 UI。您可以显示一个微调器,指示正在处理 CSV。同时,您的用户将能够很好地与 UI 进行交互。
这是你最好的选择 supported。
Should consider processing the csv files in the front-end at all?
字符串解析通常在某些情况下由现代浏览器优化的过程。如果将计算移至服务器,则需要扩展服务器以满足计算需求,因为越来越多的用户使用您的网络应用程序。
你可以玩玩它并检测用户机器的处理能力——如果有能力,就使用 Web Workers,如果没有,就使用服务器来做这件事。
最全面的方法是定义一个 Browser Test Matrix 并自行测试。
您甚至可以模拟您想要 target/test 的带宽,具体来说,使用 Network Throttling in Chrome Dev Tools
我即将:
- 创建一个 Web 界面,用户可以在其中输入电子邮件地址,然后将这些地址一次性 json 发送到服务器,然后用于向这些用户发送消息。
- 我还需要能够上传包含一长串电子邮件地址的 csv 文件。问题是电子邮件地址的数量可能非常大。我们谈论的是数千甚至更多。
理论上我可以在前端解析 csv 文件并在 json 对象中发送电子邮件地址(因为我已经有了第一个用例的 api输入电子邮件地址并作为 json) 发送,或者我可以将这些 csv 文件上传到我们的数据库并在服务器端进行解析。
是否应该考虑在前端处理csv文件?
在前端处理的 "safe" 项目数量应该是多少 不破坏任何东西,或者以严重受损告终用户体验?
任何人都可以根据经验发表评论吗?谢谢
What should be a "safe" number of items for processing in the front-end without breaking something, or ending up with a heavily compromised user experience?
这取决于用户的机器。 这里没有人能够就您的问题给您一个明确的答案。
无论如何,你可以使用 Web Workers API
Web Workers 允许您在 运行 异步 中创建长线程背景没有重 affecting/freezing 你的 UI。您可以显示一个微调器,指示正在处理 CSV。同时,您的用户将能够很好地与 UI 进行交互。
这是你最好的选择 supported。
Should consider processing the csv files in the front-end at all?
字符串解析通常在某些情况下由现代浏览器优化的过程。如果将计算移至服务器,则需要扩展服务器以满足计算需求,因为越来越多的用户使用您的网络应用程序。
你可以玩玩它并检测用户机器的处理能力——如果有能力,就使用 Web Workers,如果没有,就使用服务器来做这件事。
最全面的方法是定义一个 Browser Test Matrix 并自行测试。 您甚至可以模拟您想要 target/test 的带宽,具体来说,使用 Network Throttling in Chrome Dev Tools