【问题标题】:WebComponents App ArchitectureWebComponents 应用架构
【发布时间】:2014-04-21 19:37:15
【问题描述】:

我正在尝试了解 WebComponents 和潜在的企业应用程序架构选项。我浏览了有关polymersiJS 和Mozilla 的brick 和WinJS 的视频和文章。我主要从打包应用的角度来看待这些,而不仅仅是网站创建。

我试图获得 5000 英尺的视野,而不会被细节所吸引。感觉 webcomponents 是使用 web 技术重做的 winforms/vbx/ocx/.net 控件。我这样想对吗?

从历史的角度来看,我认为潜在的更高级别的应用程序框架和架构可能是

  1. 事件驱动 -(旧的 windows 窗体模型,polymerjs 示例似乎使用事件驱动模型)
  2. MV*(C) -(猜测 AngularJS 2.0 提出的世界观 - 使用来自 Web 组件基础架构的管道并创建更高级别的 MVC 框架)
  3. MV*(VM) - WinJS 似乎正在走向那里,他们现在正在创建他们的专有控件,我希望他们会在成熟时转向 web 组件

我并不是想说这些是唯一的框架。我用它们作为例子来思考心智模型的影响和未来方向。

请通过纠正我的理解或其他我没有想到的事情来帮助我。

谢谢, 尼兰詹

【问题讨论】:

    标签: angularjs winjs polymer web-component


    【解决方案1】:

    这个问题非常广泛。 :) 这里有一些想法:

    1. 核心框架是DOM。

    2. 自定义元素是元素。因此可以想象在不影响应用程序架构的情况下使用自定义元素扩展 HTML 的词汇量。这也是“Polymer 或 X-Tags 如何与框架 X 互操作”问题的第一个答案:如果您将这些自定义元素视为常规元素,它可以工作(tm)。

    3. 通过支持组合和封装,Web Components 通常提倡分而治之的方法。这再次意味着 Web 组件并不规定大规模的应用程序架构。事实上,人们可以使用各种 MV* 模式来组合对象。那么,将 A、B、C 组合成 D,现在将 D 和 E 组合成 F,A、B、C 的通信方式是 D 内部的,与 F 无关。

    4. Polymer(我从事的 Web 组件库)可以被认为是使用 MV* 模式。我认为MVP 是最简单的查看方式,但不是最精确的。在这个概念中,每个 Polymer 元素都是它自己的 MVP 系统:元素属性是 Model,元素方法是 Presenter,DOM 是 View。数据绑定和其他便利模糊了这些界限,但正如我所说,为了简洁起见,我很草率。 =P

    【讨论】:

    • 谢谢斯科特。您的第 3 点和第 4 点帮助我更好地了解 Polymer 架构。
    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2018-09-14
    • 2015-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    相关资源
    最近更新 更多