【问题标题】:What value does Breeze offer to applications built with WebAPI?Breeze 为使用 WebAPI 构建的应用程序提供什么价值?
【发布时间】:2013-03-21 05:17:58
【问题描述】:

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

我查看了示例,似乎很多服务器端的责任正在通过 Breeze 逐渐转移到客户端。传统上,我为应用程序中的不同场景使用不同的 DTO 构建了我的 SPA,以定义在线服务器端发生的事情。 CRUDding 数据只是从 JS 进行正确的 API 调用的问题。

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

我只是很难看到这个库的价值 - 虽然我想!这里的任何信息/讨论都会很棒。干杯:)

【问题讨论】:

    标签: javascript jquery breeze


    【解决方案1】:

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

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

    呼吁一些努力:

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

    这当然取决于您的客户端应用程序的丰富程度。但是 SPA 是相当丰富的 Internet 应用程序 (RIA)。由于其通常复杂的架构,Breeze 可以轻松实现设计良好的 JS 数据访问。

    编辑

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

    【讨论】:

    • > “通过 JavaScript 层使您的数据库完全可用。”为什么这是一件好事? (顺便说一句,谢谢您的回复。)
    • 我将其更正为“数据库数据”。实际上,您以 LINQ 样式构建 JS 查询,通过服务器上的 BreezeController 控制器推送它并通过实体框架执行它。之后,您在 JS 代码中检索数据。然后你可以绑定它,例如。而且只需要很少的代码。
    • 非常感谢 ebeeb。我将在 angular/breeze 模板上花大量时间来围绕它进行思考——我现在对查询客户端感到“肮脏”,但也许该应用程序会更清楚一些:) 干杯!
    • 很好的解释,ebeeb
    猜你喜欢
    • 1970-01-01
    • 2016-02-10
    • 2019-08-14
    • 1970-01-01
    • 1970-01-01
    • 2018-08-14
    • 2011-01-27
    • 2020-07-15
    • 1970-01-01
    相关资源
    最近更新 更多