微风为用WebAPI构建的应用程序提供了什么价值?

What value does Breeze offer to applications built with WebAPI?

本文关键字:什么 应用程序 WebAPI 构建 微风      更新时间:2023-09-26

如果这个问题太笼统,请原谅我,但是Breeze提供了什么价值?似乎最大的卖点是变更跟踪和"最低限度"查询,但这些不是服务层的职责吗?为什么在客户端上执行这些操作变得方便了?

我看了一下这些示例,似乎许多服务器端的责任正在通过Breeze慢慢转移到客户端。传统上,我使用不同的dto为应用程序中的不同场景构建spa,以定义在有线服务器端上运行的内容。获取这些数据只是从JS中调用正确的API的问题。

在我看来,这个策略使其他开发人员也更容易构建客户端。他们只需要知道API端点和JSON结构。与微风,他们需要知道更多。

我只是很难看到这个库的价值——尽管我想看到!这里的任何信息/讨论都会很棒。欢呼:)

Breeze使您可以轻松地在JavaScript(视图模型)客户端中创建查询,并通过Breeze控制器推送您的查询。

Breeze将实体框架封装到一个JavaScript框架中,并提供了在客户端构建查询的能力,但是仍然在服务器端执行它们。它包含了许多额外的功能,并使您的数据库数据完全可以通过JavaScript层访问。

调用一些努力:

  • 它的API与LINQ
  • 很熟悉
  • 变更跟踪(如您所述)
  • 客户端缓存(效率!)
  • 带承诺的异步操作

这当然取决于你的客户端应用程序有多丰富。但是spa是相当丰富的Internet应用程序(RIA)。由于它们通常的复杂架构,Breeze使得实现一个设计良好的JS数据访问变得容易。

编辑

假设你想实现一个网格,它允许修改多个DB对象,如Person。第三方网格(如Kendo)通常支持客户端验证,以改善用户体验和带宽使用。尽管互联网应用程序必须在服务器端验证数据,但在提交到后端之前,应该在客户端捕获骨头错误。