WebComponents应用程序架构

时间:2014-03-16 17:16:45

标签: angularjs winjs polymer web-component

我正试图了解WebComponents和Potential Enterprise应用程序架构选项。我浏览了关于polymersiJS和Mozilla的砖块和WinJS的视频和文章。我主要是从打包的应用程序角度看这些,而不仅仅是网站创建。

我试图获得一个5000英尺的视图,但没有抓住细节。感觉像webcomponents是winforms / vbx / ocx / .net控件使用Web技术重做。我是否正确地考虑过这个问题?

基于历史观点,我认为潜在的更高级别的应用程序框架和架构可能是

  1. 事件驱动 - (旧的Windows窗体模型,聚合物样本似乎使用事件驱动模型)
  2. MV *(C) - (猜测AngularJS 2.0提出的世界观 - 使用Web组件基础架构中的管道并创建更高级别的MVC框架)
  3. MV *(VM) - WinJS似乎要去那里,他们现在正在创建他们的专有控件,我希望他们在成熟时转移到webcomponents
  4. 我并不是说这些是唯一的框架。我正在使用它们作为例子考虑心理模型的影响和未来方向。

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

    谢谢, Niranjan

1 个答案:

答案 0 :(得分:2)

这个问题非常广泛。 :)以下是一些想法:

  1. 核心框架是DOM。

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

  3. 通过支持组合和封装,Web Components通常会促进划分和征服方法。这再次意味着Web组件不会规定大规模的应用程序架构。事实上,人们可以使用各种MV *模式作为一个组成对象。 Iow,将A,B和C组合成D,现在将D和E组合成F,A,B和C如何通信是D的内部,对F来说并不重要。

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