对构建可复用WebUI组件的思考

曹至梧 2016-01-10 16:55 更新

去公司内部的交流活动参数了一个讲“构建可复用的 WebUI 组件模型”的交流,前面对 WebUI 差异性的分析引发了我的一些思考。

与软件(我猜指的是桌面软件)的 UI 实现不同,WebUI 的实现变动大。我会认为,给予了更多我的实现手段。

造成差异的原因:

  1. 设计风格
  2. 代码实现

关于第一点,不同的人,希望看到的界面是不同的,具体来说,界面上的 CSS 不同,图不同, DOM 结构不同。

关于第二点,因为交互的需求不同,同时因为不同的程序员和不同的实现思路,那么写出来的所有代码都可能不同。

我们的目的,是在于包容上面两种差异的情况下,来实现组件的复用。(不过,我没有在 topic 中听到怎么去解决)

提到了几种手段:

  1. 类的继承
  2. 类的组合
  3. 模板系统

这些手段我们都知道,不过,任何一种,至少在现在,我看都不太容易完善地解决以上两种差异产生的问题。

要把界面外观,和交互实现相分离,同时实现复用,我个人认为,必须使两方面在某个点,以约定的规则进行无须沟通的统一。而这个规则的实现,才是我们应该思考的。 任何单方面的去考虑怎么去封装 js 代码,然后让前端开发者去复用,都不可能解决上面所说的差异

需要同时考虑前端开发者的复用,和前端设计师的复用。而且,这两者复用,还要统一,无须沟通。

一个美丽的远景是:

无法完美实现的话,我们只是经常考虑在哪些方面妥协。

评论
©2010-2016 zouyesheng.com All rights reserved. Powered by GitHub , txt2tags , MathJax