2

我正在尝试了解 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 似乎正在走向那里,他们现在正在创建他们的专有控件,我希望他们会随着它们的成熟而转向 webcomponents

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

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

谢谢,尼兰詹

4

1 回答 1

2

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

  1. 核心框架是DOM。

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

  3. 通过支持组合和封装,Web 组件通常提倡分而治之的方法。这再次意味着 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

于 2014-03-24T03:10:07.123 回答